PM-301f · Module 1
Writing the Decomposition Prompt
4 min read
The decomposition prompt asks the model to generate its own subtask list for a complex task. This is useful when the task structure is non-obvious upfront, when task complexity varies significantly by input, or when you need the model to identify information dependencies it will encounter during execution.
# Decomposition prompt
Task: [complex task description]
Before executing, generate a decomposition of this task:
For each subtask:
1. Subtask name (short, specific)
2. What it produces (exact output artifact or result)
3. What it requires (inputs — from other subtasks or from the provided context)
4. Can it run in parallel with any other subtask? (yes/no — list which ones)
Evaluation criteria for the decomposition:
- Each subtask has a single, clear output
- No two subtasks produce the same thing (no redundancy)
- Dependencies are minimal — only require what is strictly necessary
- The complete set of subtask outputs satisfies the original task
- No subtask is so small that it produces a single trivial value
After presenting the decomposition, identify:
- Which subtasks can be executed in parallel
- The critical path (longest sequential chain)
- Any subtask where output quality is most critical to the final result
Present the decomposition. I will approve before execution.
- Evaluating the Generated Decomposition When the model produces a decomposition, verify: (1) every subtask has a verifiable output, (2) the outputs of all subtasks together cover the original task requirements, (3) no subtask is so granular it is effectively a single function call wrapped in a task name, (4) dependencies are correctly identified.
- Catching Over-Decomposition Over-decomposition: more subtasks than necessary, each so small it adds only coordination overhead. Signs: 12 subtasks for a task that could be 4-5, subtasks that are simply rename-and-pass-through steps, no subtask that requires more than a single model call. Consolidate adjacent subtasks that share the same context and produce related outputs.