Textual Planning with Explicit Latent Transitions
Organizations: Technion – Israel Institute of Technology, Haifa, Israel · IBM, Haifa, Israel.
Abstract
Planning requires a transition model that predicts how each action changes the current state. When a large language model (LLM) plays this role, every next state is generated token by token, which makes searching over many possible futures slow and expensive. Existing alternatives either still query an LLM at every step or require a symbolic model of the domain. We propose EmbedPlan, a transition model built on frozen text embeddings: it embeds natural language descriptions of the state and the action with a frozen LLM, predicts the embedding of the next state with a lightweight learned network, and returns the closest real state. Because this network can be trained on top of any encoder, EmbedPlan also provides a controlled way to compare text representations for learning transitions. We evaluate it on 9 classical planning domains, under six settings that hold out progressively more of the data, from transitions to entire domains, and against baselines ranging from predicting no change to learning symbolic action rules. On planning problems seen during training, EmbedPlan almost always ranks the true next state among its top five guesses, still does so for most queries even when every observed state is a candidate, and retains 92-99% of its single-step accuracy when predicting several steps ahead from its own outputs. Given the same candidate states as GPT-5.4, it picks the true next state more often while taking about 0.17 ms per transition with cached embeddings. Accuracy is lower on unseen problems and near chance on unseen domains, and the controlled comparison traces this limit to the state representation rather than to the learned transition.
Figures & tables
| Exposure | Protocol | Trained on tested on | Distractors from |
|---|---|---|---|
| Observed problems | Interpolation | of transitions | the whole domain |
| Plan-Variant | some other optimal plans | alternative-plan successors | |
| Unseen problems | Extrapolation | of problems | the query’s problem |
| Multi-Domain | the same, all nine domains at once | the query’s problem | |
| Unseen domains | Cross-Domain | one domain another | the target domain |
| Leave-One-Out | eight domains the ninth | the target domain |
| Regime | Ferry | Logistics | Blocksworld |
|---|---|---|---|
| True state at each step | |||
| Own prediction, snapped | |||
| Own prediction, not snapped | |||
| Retention (snapped) |
| Hit@5 | Hit@1 | ||||
| Method | Ferry | Logistics | Goldminer | Mean | Mean |
| Given the symbolic facts of each state | |||||
| Lifted STRIPS induction (oracle) | |||||
| Bag-of-literals | |||||
| Sparse lexical features of the same text | |||||
| Char 3–5 grams | |||||
Appendix figures & tables36 assets
Supplementary material from the paper’s appendix.
Appendix
| Protocol | Measures | Shared | Shared | Shared | Difficulty |
|---|---|---|---|---|---|
| domain | problems | plans | |||
| Interpolation | Interpolation | Yes | Yes | Yes | Lowest |
| Plan-Variant | Plan generalization | Yes | Yes | No | Low |
| Extrapolation | Extrapolation | Yes | No | No | Medium |
| Multi-Domain | Capacity sharing | Yes | No | No | Medium |
| Cross-Domain | Zero-shot transfer | No | No | No | High |
| Hyperparameter | Values explored |
|---|---|
| Architecture | |
| Model type | MLP , hypernetwork |
| Hidden size | 128 , 256 |
| Number of layers | 2 , 4 |
| Dropout | 0.0 , 0.5 |
| Layer normalization | Yes |
| Domain | Metric | 128 | 512 | 2,048 | 8,192 | Full | Infl. |
|---|---|---|---|---|---|---|---|
| Ferry 46,205 states | Hit@1 | ||||||
| Hit@5 | |||||||
| Hit@10 | |||||||
| Logistics 13,373 states | Hit@1 | ||||||
| Hit@5 | |||||||
| Hit@10 |
| EmbedPlan | |||
|---|---|---|---|
| Metric | Full pipeline | Batched/cached | LLM API |
| Latency | 18.6 ms | 0.168 ms | 1,888.2 ms |
| Speedup vs. LLM | 101 | 11,215 | 1 |
| Compute per transition | 286M FLOPs † | 286M FLOPs † | 198 tokens |
| Domain | Problems | States | Transitions | Actions |
|---|---|---|---|---|
| Blocksworld | 5 | 43,551 | 43,065 | 4 |
| Depot | 7 | 5,795 | 13,256 | 5 |
| Ferry | 10 | 46,205 | 225,300 | 3 |
| Floortile | 6 | 33,608 | 166,565 | 6 |
| Goldminer | 7 | 12,237 | 52,023 | 7 |
| Grid | 5 | 8,671 | 664,346 | 5 |
| Qwen2.5-7B | Llama-3.3-70B | |||
|---|---|---|---|---|
| Domain | Interp. | Extrap. | Interp. | Extrap. |
| Blocksworld | 100.0 | 41.6 8.7 | 100.0 | 49.1 10 |
| Depot | 98.2 | 24.8 5.2 | 98.8 | 25.9 6 |
| Ferry | 99.9 | 36.7 0.6 | 100.0 | 40.6 3 |
| Floortile | 99.4 | 55.2 11 | 99.6 | 68.8 16 |
| Goldminer | 99.9 | 74.4 5.8 | 100.0 | 76.2 5 |
| Next state prediction (%) | Action disambiguation (%) | |||||
|---|---|---|---|---|---|---|
| Domain | Hit@1 | Hit@5 | Hit@10 | Acc@1 | Acc@5 | Acc@10 |
| Blocksworld | ||||||
| Depot | ||||||
| Ferry | ||||||
| Floortile | ||||||
| Goldminer | ||||||
| State prediction | Action accuracy | |||||
|---|---|---|---|---|---|---|
| Domain | Hit@1 | Hit@5 | Hit@10 | Acc@1 | Acc@5 | Acc@10 |
| Blocksworld | 17.6 5.2 | 49.1 9.8 | 64.6 7.5 | 0.7 0.1 | 7.9 1.2 | 24.0 2.3 |
| Depot | 4.7 1.2 | 25.9 6.4 | 41.2 8.1 | 0.7 0.2 | 7.8 1.7 | 21.8 2.3 |
| Ferry | 12.0 1.7 | 40.6 3.5 | 58.1 4.0 | 1.1 0.4 | 10.3 1.2 | 23.7 2.3 |
| Floortile | 37.6 13 | 68.8 16 | 78.9 13 | 3.2 0.6 | 28.3 8.7 | 52.3 14 |
| Goldminer | 35.8 6.4 | 76.2 5.2 | 88.0 1.7 | 3.0 0.2 | 16.5 1.2 | 45.7 3.5 |
| Block | Depot | Ferry | Floor | Gold | Grid | Logis | Rover | Satel | Mean | |
|---|---|---|---|---|---|---|---|---|---|---|
| Blocksworld | 5.7 | 5.5 | 6.7 | 6.1 | 6.5 | 9.2 | 5.1 | 5.3 | 6.3 | |
| Depot | 4.3 | 5.3 | 4.8 | 5.0 | 4.9 | 6.0 | 7.5 | 5.4 | 5.4 | |
| Ferry | 5.3 | 8.7 | 9.3 | 5.2 | 9.0 | 22.3 | 6.6 | 5.6 | 9.0 | |
| Floortile | 5.0 | 7.3 | 7.0 | 6.1 | 6.5 | 7.5 | 10.0 | 7.9 | 7.2 | |
| Goldminer | 4.2 | 5.4 | 5.7 | 5.0 | 7.5 | 5.4 | 5.9 | 4.9 | 5.5 | |
| Grid | 5.4 | 6.6 | 8.6 | 9.0 | 10.4 | 14.3 | 5.9 | 5.4 | 8.2 |
| Held-out domain | Hit@1 | Hit@5 | Hit@10 |
|---|---|---|---|
| Logistics | 3.3 0.4 | 15.8 2.2 | 27.6 3.3 |
| Grid | 2.3 0.2 | 12.3 0.8 | 22.9 1.4 |
| Rovers | 2.6 0.3 | 12.6 1.1 | 22.6 1.6 |
| Ferry | 1.8 0.1 | 9.0 0.5 | 17.2 0.8 |
| Satellite | 1.6 0.1 | 8.4 0.8 | 16.1 1.5 |
| Floortile | 1.7 0.3 | 7.9 1.1 | 14.9 2.0 |
| Domain | Hit@5 | Domain | Hit@5 |
| Floortile | 52.0 10 | Blocksworld | 36.9 13 |
| Rovers | 51.9 5 | Satellite | 34.3 7 |
| Goldminer | 46.0 8 | Grid | 32.6 1 |
| Ferry | 37.7 14 | Logistics | 24.8 10 |
| Depot | 18.9 12 | ||
| Mean : 37.2 3.8 (vs. 54.6 single-domain) | |||
| Domain | Hit@1 | Hit@5 | Hit@10 |
|---|---|---|---|
| Blocksworld | 0.8 0.1 | 4.0 0.2 | 8.0 0.4 |
| Depot | 0.9 0.2 | 3.9 0.0 | 8.0 0.4 |
| Ferry | 0.7 0.1 | 4.3 0.6 | 8.4 0.9 |
| Floortile | 0.8 0.0 | 4.0 0.1 | 8.0 0.1 |
| Goldminer | 1.0 0.4 | 4.8 1.4 | 8.9 2.0 |
| Grid | 0.9 0.1 | 4.4 0.3 | 8.0 0.2 |
| Plan-Variant | Extrapolation | |||
|---|---|---|---|---|
| Domain | Mean Hit@5 | Exact Hit@5 | Mean Hit@5 | Exact Hit@5 |
| Blocksworld | ||||
| Depot | ||||
| Ferry | ||||
| Floortile | ||||
| Goldminer | ||||
| BGE-M3 | MPNet | |||
|---|---|---|---|---|
| Plan-Variant | Mean Hit@5 | Exact Hit@5 | Mean Hit@5 | Exact Hit@5 |
| Blocksworld | ||||
| Depot | ||||
| Ferry | ||||
| Floortile | ||||
| Goldminer | ||||
| Depth | True state at each step | Snapped | Not snapped | |
|---|---|---|---|---|
| 1 | 300 | |||
| 2 | 300 | |||
| 3 | 57 | |||
| 4 | 7 |
| Statistic | Value |
|---|---|
| Interpolation (mean SE) | 99.5% 0.2% |
| Extrapolation (mean SE) | 47.7% 4.9% |
| Gap | 51.8 pp |
| Paired -test | |
| -value | |
| 95% CI | pp |
| Comparison | Encoder | Cohen’s | ||
|---|---|---|---|---|
| Interpolation vs. Extrapolation | Qwen2.5-7B | 51.8 pp | 5.25 | |
| Extrapolation vs. Cross-Domain | Llama-3.3-70B | 48.0 pp | 4.32 | |
| Llama vs. MPNet (Extrap.) | both | 27.8 pp | 2.53 | |
| Single vs. Multi (Extrap.) | Llama-3.3-70B | 17.4 pp | 1.42 | 0.028 |
| Domain | Gap (pp) | -statistic | -value |
|---|---|---|---|
| Depot | 73.4 | 12.87 | |
| Ferry | 63.3 | 65.49 | |
| Satellite | 59.9 | 153.39 | |
| Blocksworld | 58.4 | 5.95 | |
| Logistics | 55.0 | 4.28 | |
| Rovers | 50.5 | 20.22 |
| Domain | Actions | Predicates | Gap |
|---|---|---|---|
| Depot | 5 | 8 | 73.4 |
| Logistics | 6 | 6 | 55.0 |
| Satellite | 4 | 8 | 59.9 |
| Blocksworld | 4 | 5 | 58.4 |
| Ferry | 3 | 5 | 63.3 |
| Rovers | 9 | 26 | 50.5 |
| Encoder | Parameters | MLP | Hypernetwork |
|---|---|---|---|
| Llama-3.3-70B | 70B | 54.6 5.5 | 53.8 5.5 |
| Qwen2.5-7B | 7B | 47.7 4.9 | 46.2 5.0 |
| Hit@5 (%) | Action Acc@5 (%) | |||
| Domain | ||||
| Blocksworld | 30.2 8 | 49.1 10 | 1.8 0.4 | 7.9 2 |
| Depot | 13.4 4 | 25.9 6 | 1.6 0.3 | 7.8 3 |
| Ferry | 24.8 3 | 40.6 3 | 2.5 0.5 | 10.3 2 |
| Floortile | 45.3 14 | 68.8 16 | 8.2 3 | 28.3 15 |
| Goldminer | 55.7 6 | 76.2 5 | 4.9 1.2 | 16.5 2 |
| Domain | Ground truth | Retrieved |
|---|---|---|
| Blocksworld | Block A is clear, arm holds B , C is on table | Block A is clear, arm holds C , B is on table |
| Ferry | Car c1 at l0, ferry empty, c2 at l1 | Car c1 at l0, ferry empty, c2 at l0 |
| Logistics | Package p1 in truck t0 , t0 at l1-0 | Package p1 at l1-0 , t0 at l1-0 |
| Domain | Split | Hit@1 | Hit@5 | Hit@10 |
|---|---|---|---|---|
| Blocksworld | Interpolation | 94.3 0.2 | 100.0 0.0 | 100.0 0.0 |
| Extrapolation | 14.2 4.0 | 41.6 8.8 | 56.6 8.3 | |
| Depot | Interpolation | 76.7 1.0 | 98.2 0.1 | 99.0 0.0 |
| Extrapolation | 4.9 1.2 | 24.8 4.9 | 42.2 7.8 | |
| Ferry | Interpolation | 98.7 0.1 | 99.9 0.0 | 100.0 0.0 |
| Extrapolation | 10.7 0.8 | 36.7 0.7 | 52.8 1.1 |
| Domain | Split | Hit@1 | Hit@5 | Hit@10 |
|---|---|---|---|---|
| Blocksworld | Interpolation | 96.2 0.2 | 100.0 0.0 | 100.0 0.0 |
| Extrapolation | 17.6 5.2 | 49.1 9.8 | 64.6 7.5 | |
| Depot | Interpolation | 79.5 0.7 | 98.8 0.1 | 99.2 0.1 |
| Extrapolation | 4.7 1.2 | 25.9 6.4 | 41.2 8.1 | |
| Ferry | Interpolation | 99.1 0.1 | 100.0 0.0 | 100.0 0.0 |
| Extrapolation | 12.0 1.7 | 40.6 3.5 | 58.1 4.0 |
| Method | Ferry | Logistics | Goldminer | Mean |
|---|---|---|---|---|
| Lifted STRIPS induction (oracle) | ||||
| Char 3–5 grams | ||||
| Bag-of-words | ||||
| Bag-of-literals | ||||
| TF-IDF bigrams | ||||
| EmbedPlan (Llama-3.3-70B) |
| Method | Ferry | Logistics | Goldminer | Mean |
|---|---|---|---|---|
| Lifted STRIPS induction (oracle) | ||||
| Bag-of-words | ||||
| Char 3–5 grams | ||||
| TF-IDF bigrams | ||||
| Bag-of-literals | ||||
| EmbedPlan (Llama-3.3-70B) |
| Method | Ferry | Logistics | Goldminer | Mean |
|---|---|---|---|---|
| Hit@5 | ||||
| Bag-of-literals | ||||
| Bag-of-words | ||||
| EmbedPlan (Llama-3.3-70B) | ||||
| TF-IDF bigrams | ||||
| Char 3–5 grams | ||||
| Encoder treatment | Extrapolation | Interpolation |
|---|---|---|
| Frozen | ||
| LoRA, cold start | ||
| LoRA, warm start |
| Domain | Extrapolation | Interpolation |
|---|---|---|
| Goldminer | ||
| Ferry | ||
| Logistics |
| Domain | |||
|---|---|---|---|
| Ferry | |||
| Goldminer | |||
| Logistics | |||
| Mean |