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여러 파일/페이지/노트가 독립적일 때
Riskdestructive, public, expensive action을 분리할 때
Evidencediscovery와 editing의 근거가 다를 때
TopicAI, 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하지 않는가?