Decomposition — breaking an impossible problem into a graph of possible ones — is the single most transferable reasoning lever in applied AI. Almost every accuracy technique worth shipping is decomposition wearing a different name.

The evidence accumulated quickly: least-to-most prompting (Zhou et al., 2022) solved compositional generalization benchmarks by explicitly solving sub-problems in order and feeding each answer forward; decomposed prompting routed sub-questions to retrieval or symbolic modules instead of hoping one context window holds everything; and plan-and-solve variants simply made the model write the plan before executing it. The mechanism is consistent — accuracy rises because each subtask is easier than the whole, stays within the model's reliable competence, and produces a checkable intermediate.

But decomposition has its own failure signature, and mature systems design against it: composition errors, where every sub-answer is locally correct and the assembled whole is globally wrong — the arithmetic checks out and the conclusion does not follow. Dependency mistakes, where sub-problems are solved in an order that invalidates earlier work. And boundary losses, where critical constraints fall between the cracks of the partition and no subtask owns them.

Decomposing Well

  • Make edges explicit: every subtask states what it receives and what it owes — an interface, not a vibe.
  • Assign constraint ownership: for every global requirement, name the subtask responsible for it; unowned constraints are dropped constraints.
  • Verify the seams: integration checks between subtasks catch composition errors that per-subtask checks structurally cannot.
  • Recurse with a floor: keep splitting until a subtask is reliably solvable in one pass — then stop; over-decomposition multiplies seam risk for no gain.

Decomposition is also the bridge between reasoning and orchestration: a good task graph is simultaneously a reasoning strategy, an execution plan, and a parallelism opportunity. That triple-role is why it keeps reappearing in every serious agent architecture.