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.
  1. 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.
  2. 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.