Task Decomposition
Task decomposition은 broad goal을 agent가 execute하고 verify할 수 있는 bounded unit으로 나눕니다. Ambiguous user request와 concrete tool call 사이의 다리입니다.
Task는 subtask set으로 표현할 수 있습니다.
Dependency는 아래처럼 둡니다.
여기서 는 가 에 의존한다는 뜻입니다.
분해의 목적은 일을 작게 보이게 만드는 것이 아니라, 실패했을 때 어디가 틀렸는지 알 수 있게 만드는 것입니다. 좋은 subtask는 독립적으로 inspect, execute, verify할 수 있습니다.
좋은 subtask
- clear artifact가 있습니다.
- explicit success check가 있습니다.
- 작은 context와 tool scope 안에 들어옵니다.
- discovery, editing, verification을 하나의 opaque step에 섞지 않습니다.
- failure를 diagnose할 만큼 local하게 만듭니다.
Split Axis
| 기준 | 쓰는 경우 |
|---|---|
| Artifact | 여러 파일/페이지/노트가 독립적일 때 |
| Risk | destructive, public, expensive action을 분리할 때 |
| Evidence | discovery와 editing의 근거가 다를 때 |
| Topic | AI, Math, Agents, Computational Biology처럼 route가 다를 때 |
| Verification | 각 batch가 다른 check를 요구할 때 |
Decomposition pattern
- Discover -> edit -> verify -> summarize.
- Draft -> review -> revise -> publish.
- Ingest -> sanitize -> link -> curate.
- Plan -> delegate -> admit patch -> verify.
- 큰 repetitive work는 folder, topic, risk level 기준으로 batch합니다.
확인할 것
- 각 subtask가 independently verifiable한가?
- action 전에 user approval이 필요한 subtask가 있는가?
- dependency가 explicit한가?
- conflict resolution owner가 하나로 정해져 있는가?
- correctness를 잃지 않고 plan을 줄일 수 있는가?
- subtask가 original goal에서 drift하지 않는가?