From Goal to Dependencies
"Summarize course feedback" sounds like one thing, but for an agent to execute it, it must be broken into steps that each have a clear input and output. Task Decomposition means cutting a complex job, layer by layer, into small steps that can be executed and checked.
- Goal: what should this work achieve?
- Major Tasks: which main pieces of work achieve the goal?
- Subtasks: which small steps does each major task break into?
- Inputs / Outputs: what does each step need and what does it produce?
- Dependencies: which step must wait for another step to finish?
Text equivalent: the five layers run from top to bottom. First set the Goal, then cut it into Major Tasks and each Major Task into Subtasks; next write the Input and Output of every step; finally mark which steps depend on which.
| Step | Major Task | Input | Output | Dependency |
|---|---|---|---|---|
| S1 | Collect: get this week's feedback | Feedback data file (simulated) | A cleaned feedback list | None |
| S2 | Organize: classify | Feedback list, classification criteria | A category for each comment | Needs the output of S1 |
| S3 | Organize: find issues needing follow-up | Classification result | Follow-up issue list | Needs the output of S2 |
| S4 | Write: produce the draft report | Classification result, follow-up list, report format | Draft report | Needs the output of S2 and S3 |
| S5 | Review: check and confirm | Draft report, original feedback | Reviewed report | Needs S4; owned by a person |
In the example, S4 "produce the draft report" cannot start until S2 and S3 are finished. What is this relationship called?