Post 5 showed that when PDDL is given, the combination of LLMs and formal planners achieves remarkable results โ 82% accuracy versus 12% for LLMs alone. But it left a critical question unanswered: who writes the PDDL?
For the RoboSort warehouse, we wrote PDDL by hand in Post 2. That took expertise. We defined robot-at, holding, supports, place-on-piece โ every predicate, every action, every precondition. A planning expert could do this for a standard warehouse. But what about the user who simply says:
"I have a robot in a warehouse with three shelves. It can carry one item. Some pieces need support underneath. Help it build a tower."
No types. No predicates. No action schemas. Just English. This is Paradigm 2 โ the system must create the formal model from scratch, validate it, solve it, and return a verified plan. It's the most ambitious goal in the LLM-planning research landscape, and it's where the field's most exciting work is happening right now.
The NL-to-Plan Pipeline
Converting English to a verified plan requires five stages. Each one is hard. Getting all five right, in sequence, is extraordinarily hard.
The NL-to-Plan Pipeline
Description
Predicates, Actions
PDDL
Fix PDDL
Return Plan
Five stages from English to verified plan. Each stage can fail independently. The pipeline's overall accuracy is the product of per-stage accuracies โ if each stage is 90% reliable, the pipeline is only 59% end-to-end.
Let's trace the pipeline for our RoboSort warehouse:
The English description below corresponds to this exact configuration ยท the NL-to-PDDL pipeline has to recover all of it from plain text
- English Description: "A robot in a warehouse with three shelves (A, B, C) and a build zone. Shelf A has two legs, Shelf B has a beam, Shelf C has a roof and a flag. The robot starts at home and can carry one piece. Legs support beam, beam supports roof, roof supports flag. Build the tower."
- Extract Types, Predicates, Actions: The LLM must infer that there are locations (shelves, build zone, home), pieces (L1, L2, beam, roof, flag), and predicates like robot-at, piece-at, holding, supports, placed. It must also infer the action schemas: move, pick, place-on-platform, place-on-piece โ each with correct preconditions and effects.
- Generate PDDL: The LLM writes syntactically valid PDDL domain and problem files โ the same code we wrote by hand in Post 2.
- Validate & Fix: A PDDL parser checks syntax. A validator checks semantic consistency. If errors are found, the LLM gets feedback and fixes them.
- Solve & Return: A classical planner (Fast Downward, etc.) solves the validated PDDL and returns the plan.
(:objects robot - robot shelf-a shelf-b shelf-c home build-zone - location L1 L2 beam roof flag - piece) (:init (robot-at robot home) (gripper-empty) (piece-at L1 shelf-a) (piece-at L2 shelf-a) (piece-at beam shelf-b) (piece-at roof shelf-c) (piece-at flag shelf-c) (supports L1 beam) (supports L2 beam) (supports beam roof) (supports roof flag)) (:goal (and (placed L1) (placed L2) (placed beam) (placed roof) (placed flag)))
The extraction is not naming, it's structuring. "Can carry one piece" doesn't mention gripper-empty, but the predicate is what the planner needs. "Legs support beam" must become four facts: supports(L1, beam), supports(L2, beam), and the chain into roof and flag. Every missed predicate becomes a missed precondition; every missed precondition becomes a broken plan.
Each stage is a point of failure. The LLM might miss a predicate (stage 2), generate syntactically invalid PDDL (stage 3), or produce semantically correct PDDL that doesn't match the user's intent (stages 2โ3). This is why the field converged on multi-agent systems โ specialized agents for each stage, coordinated by an orchestrator.
NL2Plan: The Multi-Agent Approach
NL2Plan (Gestrin et al., 2025) is the most systematic framework for this problem. Instead of asking a single LLM to do everything, it decomposes the pipeline into specialized agents, each responsible for one stage.
NL2Plan: Specialized Agents
Type Extractor
Identifies object types from the description: location, piece, robot
Predicate Extractor
Derives predicates: robot-at, holding, placed, supports, gripper-empty
Action Extractor
Defines actions with preconditions and effects: move, pick, place
PDDL Validator
Parses, validates syntax and semantics, reports errors
NL2Plan uses specialized agents for each extraction task. The orchestrator coordinates the pipeline โ and, as we'll see, is the weakest link.
The key innovation is the decomposition. Instead of one massive prompt ("convert this English to PDDL"), NL2Plan breaks the task into focused queries: "What types of objects exist in this description?" then "Given these types, what predicates describe their relationships?" then "Given these types and predicates, what actions can the robot perform?" Each agent can use few-shot examples and targeted prompts for its specific subtask.
RoboSort Through NL2Plan
Here's how NL2Plan processes our warehouse description, transforming natural language into the same PDDL we wrote by hand in Post 2:
"A robot called RoboSort works in a warehouse. There are three shelves (A, B, C) and a build zone. The robot starts at home."
"Shelf A has two leg pieces (L1 and L2). Shelf B has a beam. Shelf C has a roof and a flag."
"The robot can move between locations, pick up one piece at a time, and place pieces in the build zone."
"Support rules: Legs support the beam. The beam supports the roof. The roof supports the flag. A piece can only be placed on something that supports it and is already placed."
"Goal: All five pieces assembled into a tower in the build zone."
(define (domain robosort-tower)
(:requirements :strips :typing)
(:types location piece)
(:predicates
(robot-at ?l - location)
(piece-at ?p - piece ?l - location)
(holding ?p - piece)
(gripper-empty)
(supports ?lower ?upper - piece)
(on-platform ?p - piece)
(placed ?p - piece))
(:action move
:parameters (?from ?to - location)
:precondition (robot-at ?from)
:effect (and (robot-at ?to)
(not (robot-at ?from))))
(:action pick
:parameters (?p - piece ?l - location)
:precondition (and (robot-at ?l)
(piece-at ?p ?l)
(gripper-empty))
:effect (and (holding ?p)
(not (piece-at ?p ?l))
(not (gripper-empty))))
...
) NL2Plan transforms natural language into the same PDDL domain we manually wrote in Post 2. The LLM correctly extracts types (location, piece), predicates (robot-at, supports, holding), and actions (move, pick, place) โ including the critical support constraint.
NL2Plan achieves 100% accuracy on several standard domains โ the generated PDDL is functionally identical to expert-written PDDL. The breakthrough is decomposition: by splitting the hard problem ("English โ PDDL") into focused subproblems ("English โ types," "types โ predicates," etc.), each step becomes tractable for current LLMs.
The Orchestrator Bottleneck
NL2Plan achieves impressive results on standard domains. But it has an Achilles' heel: the orchestrator. The orchestrator is the conductor of the multi-agent pipeline โ it decides when to call each agent, how to route feedback, when a PDDL file is "good enough" to pass to the solver, and when to give up and restart.
Here's the problem: the orchestrator is also an LLM. And the orchestration task is itself a planning problem โ one that requires sequencing agents, tracking state (which agents have run, what errors remain), and backtracking when a strategy fails. Sound familiar?
The orchestrator must plan the PDDL generation pipeline. But planning is exactly what LLMs are bad at (Post 4). The system designed to solve the planning bottleneck has a planning bottleneck of its own. The conductor can't keep up with the orchestra.
In practice, this manifests as three failure modes:
- Premature advancement: The orchestrator declares the PDDL "done" when it still has subtle errors โ a missing predicate, an action with an incomplete effect list. The planner then fails or produces an incorrect plan.
- Infinite revision loops: The validator reports an error, the fixer introduces a new error while fixing the first, the validator catches the new error, and the cycle repeats. The orchestrator doesn't recognize the loop.
- Missing abstractions: The user's description implies a concept the LLM doesn't extract. For RoboSort, the phrase "pieces need support underneath" implies a
supportspredicate, aplacedpredicate, and a precondition on the place action. If the extractor misses any of these, the resulting PDDL allows invalid tower constructions โ and the orchestrator may not catch it because the PDDL is syntactically valid.
Orchestrator Failure on RoboSort
Let's see what happens when NL2Plan processes a subtly ambiguous RoboSort description:
"Build a tower from five parts. Two legs go on the bottom, a beam goes on the legs, a roof on the beam, and a flag on top. The robot carries one part at a time."
- Types: location, piece
- Actions: move, pick, place
- Objects: L1, L2, beam, roof, flag
- Gripper-empty constraint
- No
supportspredicate (user said "on the legs" โ not formally stated) - No
placedpredicate โ can't check if support exists - Place action has no support precondition
The generated PDDL parses correctly and the planner finds a "solution" โ but it places the roof before the beam because nothing in the formal model prevents it. The orchestrator declares success. The plan is wrong.
The orchestrator passes syntactically valid PDDL to the solver โ but the PDDL is missing the support constraint. The resulting plan is "valid" according to the broken model but physically impossible. This is the subtlest and most dangerous failure mode.
Agentic PDDL: A Different Approach
In parallel with NL2Plan, La Malfa et al. (2025) introduced Agentic PDDL, which takes a different approach to the orchestration problem. Instead of a fixed pipeline, it uses a conversational loop: an LLM generates PDDL, a formal tool validates it, and the LLM iteratively refines โ but with a critical addition: the user stays in the loop.
When the system encounters ambiguity โ "do the legs need to both be placed before the beam, or can one leg suffice?" โ it asks the user. This solves the missing-abstraction problem by making implicit constraints explicit through dialogue.
For RoboSort, this might look like:
I've extracted four actions: move, pick, place-on-platform, and place-on-piece. For place-on-piece, I need to clarify: you said "a beam goes on the legs." Does the beam require both legs to be placed first, or just one?
Both legs must be placed before the beam.
Understood. Adding preconditions: (supports L1 beam), (supports L2 beam), and requiring both (placed L1) and (placed L2) before the beam can be placed. Updated PDDL validates correctly. Solving...
Agentic PDDL keeps the user in the loop. When the system detects ambiguity in support constraints, it asks โ rather than guessing. This catches the exact failure mode NL2Plan misses.
The orchestration problem is fundamentally a communication problem, not just a planning problem. Natural language is ambiguous. Formal models require precision. The gap between the two is where errors hide. Agentic PDDL bridges this gap through dialogue โ asking users to resolve ambiguities rather than guessing. This human-in-the-loop approach trades automation for accuracy.
Seeing the Full Pipeline: English to Plan
Let's watch the complete NL-to-Plan pipeline process our RoboSort warehouse description โ from English input to verified plan output. Each stage shows what happens under the hood.
The Landscape: Where Paradigm 2 Stands
Paradigm 2 results are mixed but improving rapidly. Here's the current picture:
Paradigm 2 Results: NL-to-Plan Accuracy
End-to-end accuracy on planning domains (English in, valid plan out)
(Blocksworld, Logistics)
(Satellite, Rovers)
(unseen in training)
(implicit constraints)
NL-to-Plan accuracy varies dramatically by domain familiarity. Standard domains the LLM has seen in training (like Blocksworld) achieve near-perfect results. Novel domains with ambiguous constraints remain hard. Data patterns from Gestrin et al. (2025), La Malfa et al. (2025).
The pattern tells a familiar story. When the domain is well-known โ Blocksworld, logistics, standard problems from planning competitions โ the LLM effectively has the PDDL in its training data and can reproduce it. When the domain is novel, accuracy drops sharply. This is the same pattern-matching vs. reasoning distinction from Post 4's Mystery Blocksworld, now appearing at the model generation level.
Three open challenges define the frontier:
- Implicit constraints. The RoboSort support constraint ("legs support beam") is stated explicitly. But many real-world constraints are implicit: "the robot can't carry two items" implies a gripper-empty predicate and a precondition on pick. Extracting these from natural language requires world knowledge, not just text parsing.
- Compositional generalization. Can a system that has seen Blocksworld and logistics separately solve a problem that combines block-stacking and logistics? Current systems struggle because PDDL generation is treated as pattern matching, not compositional reasoning.
- The orchestrator gap. The conductor of the multi-agent pipeline is the least reliable component. It must plan the PDDL generation process, handle failures, and decide when to ask the user for clarification vs. when to guess. This meta-planning problem remains largely unsolved.
Paradigm 2 works well when the domain is familiar โ the LLM effectively "remembers" the PDDL. For truly novel domains, the NL-to-PDDL translation requires genuine reasoning about actions, effects, and constraints. This is the hardest open problem in the field: teaching systems to formalize new domains, not just retrieve familiar ones.
Paradigm 1 + Paradigm 2: The Full Picture
Let's step back and see how all six posts connect. The series has traced a clear arc from foundations to frontier:
- Post 2: Formalize the problem in PDDL
- Post 3: Solve with heuristic search
- Post 4: LLMs alone fail (~12โ30%)
- Post 5: LLMs + planners succeed (~82%)
- Post 6: NL2Plan, Agentic PDDL
- 100% on standard domains
- ~35% on novel domains
- Orchestrator is the bottleneck
The two paradigms complement each other. Paradigm 1 is mature and reliable where PDDL exists. Paradigm 2 extends the reach to domains described only in English โ but the orchestrator bottleneck limits its reliability on novel problems.
The RoboSort warehouse has been our constant through all six posts. We watched it crash under a naive LLM plan (Post 1). We formalized it in PDDL (Post 2). We watched A* find the optimal path through its warehouse floor (Post 3). We watched GPT-4 fail and Mystery Blocksworld expose why (Post 4). We watched LLM-Modulo fix the plan in two iterations (Post 5). And now we've seen NL2Plan generate the PDDL from English (Post 6).
One question remains: can we build systems that learn to orchestrate better โ that adapt their coordination strategies, handle novel domains more reliably, and close the gap between familiar and unfamiliar? That's the subject of the final post.
What's Ahead
This post showed the promise and limits of Paradigm 2. NL2Plan and Agentic PDDL demonstrate that English-to-plan is possible โ achieving 100% on standard domains. But the orchestrator bottleneck means novel domains and ambiguous descriptions remain unreliable.
The final post asks the most forward-looking question in the series: can we build agentic AI systems for planning โ systems that learn from their own failures, adapt their orchestration strategies, and handle novel domains without human intervention? The research frontier is moving fast, and the answers are starting to take shape.
References
- Gestrin, M., Zuo, N., Stein, M., & Kambhampati, S. (2025). NL2Plan: Robust LLM-Driven Planning from Minimal Text. AAAI 2025.
- La Malfa, E., Mavroudis, E., & Wooldridge, M. (2025). Agentic PDDL: Conversational Generation of Planning Domains. ICAPS 2025.
- Katz, M., Kokel, H., & Muise, C. (2025). Planning in the Era of Language Models. NeurIPS 2025 Tutorial.
- Kambhampati, S., Valmeekam, V., & Stechly, K. (2024). LLM-Modulo: An LLM-Based Framework for Planning with Formal Verification. AAAI 2024.
- Liu, B., Jiang, Y., Zhang, X., et al. (2023). LLM+P: Empowering Large Language Models with Optimal Planning Proficiency. arXiv preprint.
- Xie, Z., Zhang, S., Zhu, Y., et al. (2024). TravelPlanner: A Benchmark for Real-World Planning with Language Agents. ICML 2024.
- Valmeekam, V., Marquez, M., & Kambhampati, S. (2023). PlanBench: An Extensible Benchmark for Evaluating Large Language Models on Planning. NeurIPS 2023.