📄 一句话概括
子智能体的意义不是【多个人干活】,是【主线不被打断】;判据不是活多不多,是主线能不能停。
📝 本节和前面几节的关系
上一节解决了并行时的技术隔离,这一节讲另一种并行:派一条副线出去。
一、它和开多个窗口不是一回事
开窗口是你自己同时管几件事——你被打断了就是被打断了。 副线是你只管主线,把查资料这种活交出去。 关键差别:中断发生在哪一层。开窗口中断的是你,派副线中断的是它。
二、真实的代价在哪
主线写东西写到一半,被叫去回答一个查询——你要重新进入状态。 每次重新进入大约三分钟,而且第三次之后往往还要重读一遍它刚改过的东西。 打断三次就是九分钟纯浪费,外加一次上下文重读。
三、什么时候派副线
判据不是【活多不多】,是主线能不能停。 要停(比如你在等它做完)——自己查更快,派出去反而多一层传话。 不能停(你正在写)——派副线,让它去查,你继续写。
四、派副线适合什么活
查:找某个函数在哪、查某个错误的成因、查某个依赖的用法。 跑:跑一遍测试、跑一遍构建、跑一遍检查。 读:把某个目录通读一遍给你个摘要。 共同点:这些活有明确的答案,不涉及你的判断。
五、动手 Demo:subagent——主线不停,副线在查
下面把两种做法的打断次数摆开,再算三次打断的真实代价。
T([u"自己查", u"写新功能(被查询打断三次)", u"没有"], [14, 34, 22])
T([u"派副线", u"写新功能(一次都没停)", u"后台查了 15 分钟"], [14, 34, 22])
实跑输出:
--------------------------------------------------------------------
subagent——主线不停,副线在查
--------------------------------------------------------------------
子智能体的意义不是【多个人干活】,是【主线不被打断】。看时间线:
做法 主线 0~20 分钟在做什么 副线
-----------------------------------------------------------
自己查 写新功能(被查询打断三次) 没有
派副线 写新功能(一次都没停) 后台查了 15 分钟
差别不在总时长,在**主线被打断几次**。
三次打断的真实代价(每次重新进入状态约 3 分钟):
3 次 x 3 分钟 = 9 分钟纯粹的重来
而且第三次之后,你往往要重读一遍它刚改过的东西
所以派副线的判据不是【活多不多】,是**【主线能不能停】**:
要停 -> 自己查更快
不能停 -> 派副线
差别不在总时长,在主线被打断几次——这一列是整张表的重点。 三次打断的真实代价是 9 分钟重来,外加一次上下文重读。
30 秒实验
- 下次你写到一半被它问了个问题,问自己:这个回答必须现在给吗?
- 如果答案是【可以晚点】,就该派副线——主线不停才是这一节的全部意义。
常见误区
- 什么都派副线。传话本身有成本,主线能停的时候自己查更快。
- 把需要判断的活也派出去。副线适合有明确答案的活,判断留给主线。
自测三问(点开对答案)
1. 副线和开多个窗口的差别在哪? —— 中断发生在哪一层:开窗口中断的是你,派副线中断的是它。 2. 派副线的判据是什么? —— 主线能不能停——不能停才派。 3. 副线适合什么活? —— 查、跑、读这三类:有明确答案、不涉及你判断的活。- ☐ 下一节(8.4 Agent Teams:让智能体自己协调)
相关笔记
- 🐳 DeepSeek Harness技术架构原理 · 索引 — 智能体协作的底层机制
- 🧡 Claude Code橙皮书 · 索引