子代理
主对话可以把独立的一块工作交给子代理:三种只读助手负责调查、规划和审阅,worker 在自己的工作树里动手改。
一件事能拆成互不依赖的几块时,主对话会把它们交给子代理并行去做,自己负责汇总和合并。子代理在后台运行,完成后结果送回这个对话,你可以继续聊。
四种角色
| 角色 | 做什么 | 能否改文件 | 步数上限 |
|---|---|---|---|
| 项目侦察(scout) | 调查项目文件;任务需要时也上网搜索和读取,报告确切路径或链接、关键发现和未解决的问题 | 只读 | 24 |
| 方案规划(planner) | 读相关代码和约束,给出可验证的实施方案 | 只读 | 24 |
| 交付审阅(reviewer) | 对照需求和真实产物审阅代码、调研、数据或设计,指出有证据的问题 | 只读 | 24 |
| 实现协作(worker) | 在项目已授予的权限内完成一块限定的实现,例如一章、一个模块里的一个问题、一组测试 | 可以 | 32 |
步数用完时,子代理会先写一份总结再结束,不会半途而废地消失。
子代理知道什么
子代理带着项目说明、技能、项目记忆检索,以及(主对话有的话)网页搜索和读取。它看不到这段对话,所以主对话交代任务时要写清目标、已有的事实、你的要求、要交回什么。勾选“附上对话”时,会把你最近的原话一起交给它,作为需求依据。
子代理不能再往下分派、不能安装能力、不能申请更大的权限,也不能对外发消息。项目里的技能或文档也不能扩大它的任务和权限。
worker 的改动怎么回到项目
每个 worker 在自己的工作树里改文件。交派时要列出它会改哪些路径,和正在运行的其他 worker 重叠的地方会被提示,超出范围的写入会被报告。
worker 做完后,宿主只在两种情况下自己合并:主对话这一轮还在跑时,先写入没有冲突的部分,有冲突的留给主对话;主对话已经空闲但这个结果会带起新的一轮时,要么整份写入,要么一个文件都不写。其余情况(worker 没做完、失败或步数用完,或者做完时主对话正空闲、没有人接)改动保持待处理,原样留在 worker 的工作树里。
待处理的改动由主对话用 agent_merge 查看、合并、选一边、手动解决或丢掉,你也可以在对话里的子代理卡片上直接合并。一轮结束前还有没合并的 worker,主对话会被提醒先处理。详见 隔离与回退。
结果一定会回到模型
后台子代理在主对话已经结束这一轮之后才完成时,它的结果不再只是给你的一条通知:下一次请求会把这些结果带给模型,所以“我交给子代理了,做完告诉你”这句话能兑现。你回退了带着结果的那条消息后,结果会重新带一次。
数量上限
| 范围 | 上限 |
|---|---|
| 每一轮 | 12 次分派 |
| 每个对话同时运行 | 4 个 |
| 全局同时运行 | 6 个 |
在界面里查看
后台任务面板里能看到每个子代理的进度、用量和当前步骤。时间线上会显示“子代理完成 / 未完成 / 已取消”及其结论;运行中的子代理可以补充说明或取消,取消后结果仍会以通知送回。