问题

单 Agent 的上下文和能力有上限:复杂项目需要前端、后端、测试、文档多种专长同时在线,一个"全能 Agent"的 prompt 越写越长,什么都不精。

核心模式

层级委派(Hierarchical Delegation):编排者(Orchestrator)拆解任务、分派给专职子 Agent、验收汇总——像技术经理带团队。

class Orchestrator:
    async def run(self, project):
        subtasks = self.decompose(project)       # 拆成专职子任务
        results = {}
        for st in subtasks:
            worker = self.select_worker(st)       # 按专长匹配
            # 子 Agent 只拿到自己所需的上下文(信息最小化)
            results[st.id] = await worker.run(
                task=st.spec,
                context=self.slice_context(st),   # 不给全图,给切片
            )
            if not self.accept(st, results[st.id]):  # 验收
                results[st.id] = await self.remediate(st, results[st.id])
        return self.assemble(results)

关键设计:上下文切片。子 Agent 不需要知道整个项目,只需要完成自己任务所需的最小信息——这既省 token,又避免子 Agent 被无关信息带偏。

实战要点

  • 编排者保持"轻":只做拆解、分派、验收,不亲自下场执行——下场执行的编排者会失去全局视野
  • 子 Agent 返回结论而非完整轨迹:编排者的上下文同样宝贵,过程细节留在子 Agent 日志里
  • 委派关系要浅:两级(编排者→执行者)足够,三级以上的层级带来的协调成本会吃掉收益
  • 验收标准在分派时就定义清楚:"完成"必须可检查,否则编排者无法判断子 Agent 是真做完了还是在糊弄