4.7 子代理
本节目标
学会让 agent 把任务拆给子代理,多个子代理并行干活,主代理统筹汇总。
什么是子代理
agent 干活是一个线程从头跑到尾。但有些任务天然适合分工:
- 调研任务:同时查文档、查代码、查社区,三个方向互不干扰
- 大项目改造:一个子代理改前端,一个改后端
- 独立子任务:让一个子代理专门核对数据,另一个专门写测试
子代理就是 agent 委派出去的子 agent。主 agent 把任务拆开,分配给子代理并行执行,最后收集结果汇总给你。相当于主代理当项目经理,子代理是干活的组员。
怎么触发子代理
不需要专门的按钮,直接在指令里说就行:
用两个子代理并行调研:一个查这个框架的文档,一个查社区的实践案例,最后汇总
agent 判断任务适合拆分时,也会自己决定使用子代理。你会在消息流里看到子代理行:它们像工具调用一样展示,但展开后是子代理自己的完整对话记录。
界面上的子代理
子代理在界面上的呈现有几个特点:
- 子代理行:消息流里每个子代理一行,显示它领了什么任务
- 完整转写:点开子代理行,能看到子代理自己的完整对话(它思考了什么、调用了哪些工具、怎么交的差)
- 子代理导航:从父会话可以进入子代理的会话视图,就像打开一个子对话
- 并行状态:多个子代理同时跑时,各自的状态独立显示
能对子代理做什么
除了"派活",你还可以:
- 给子代理发消息:中途补充信息、调整方向
- 打断子代理:跑偏了让它停下来
- 查看子代理列表:看清当前有哪些子代理在跑、什么状态
什么时候用子代理
| 场景 | 用子代理的收益 |
|---|---|
| 多方向调研 | 并行查,省时间 |
| 前后端/多模块并行改 | 互不阻塞 |
| 独立子任务 | 上下文隔离,不互相干扰 |
提示
子代理适合"拆得开、各干各"的任务。任务紧密耦合、改一处影响全局的,反而不适合拆,交给一个 agent 从头做更稳。
常见问题
问:子代理会失控吗?
不会。子代理继承主会话的权限边界,受同一套权限和审批管理。它的每一步也在监管之下。
问:子代理的结果怎么回到主会话?
子代理完成后会把结果汇报给主代理,主代理汇总后统一回复你。你也可以点开子代理行看原始过程。
小结
- 子代理是 agent 委派出去的子 agent,适合并行、隔离的任务
- 指令里说"用子代理并行干 X"即可触发,消息流里出现子代理行
- 可以给子代理发消息、打断、查看,结果由主代理汇总
分工搞定了,下一节把长任务丢到后台,别挡住对话。