Philipp Schmid 将主代理管理子代理的模式按控制力分为四档。模式一为内联工具调用,子代理如同函数,适用于独立任务。模式二为派发后收集,主代理可并行处理其他工作。模式三为代理池,子代理持久化并通过消息通信,支持多步协作。模式四为团队模式,代理间直接对话,主代理仅负责初始组建。核心建议是从简单模式开始,逐级升级需谨慎,因为每升一级对模型能力要求陡增,且许多任务用模式一即可解决。
2026 年 Subagent 的四种管理模式
@_philschmid 把"主 agent 如何驱动其它 agents"按主 agent 对 subagent 生命周期的控制力从弱到强排成四档。模型能力越强,能驾驭的模式越复杂。
模式 1:Inline Tool -- subagent 就是一次函数调用 主 agent 通过 call_agent 工具派一个任务,等结果返回,跟调用 read_file 没本质区别。
· 同步:工具调用阻塞,结果作为 tool response 返回。 · 异步:工具立即返回一个 agent_id,结果完成后以"通知消息"形式注入对话。
适用:自包含任务 -- 资料检索、代码 review、文件分析、测试生成。绝大多数所谓"多 agents"需求其实到这里就够了。 局限:没法中途追加指令、查看进度或取消。任务理解错了,只能等结果出来才知道。 门槛:任何能调用工具的模型都行,包括小模型。
模式 2:Fan-Out -- 派发后再收集 把"派发"和"收集"拆成两个工具:spawn_agent 立即返回 ID,wait_agent 阻塞等结果。
关键差异:派发与等待之间,主 agent 可以做自己的事(读文件、再派新任务)。模型自己决定什么时候 wait_agent。
适用:多个互相独立、可并行的任务。 局限:如果模型一 spawn 完就立刻 wait,等于退化成模式 1。价值依赖模型能合理穿插自身工作。仍然是 fire-and-forget,无法中途纠偏。 门槛:模型要能推理"何时该等"。