《Agent原理,架构与实践》
第8讲:多Agent编排
准备起一个新的系列《Agent原理,架构与实践》。目标不贪心:
1. 希望每篇文章有1-2个点能让大家有收获;
2. 希望不被骂;
本期第八讲,咱们开始。
上一讲完结,此时工具有了,规范skill也有了,sdd-site-agent已经能干活了。可任务一大,又写需求、又画原型、又出方案、又写代码,还是容易出问题。那么问题来了:什么时候该把这些角色拆给不同的Agent?
分享之前,先说下我的个人观点:多Agent编排是现在最被滥用的概念之一。很多团队一上来就拆七八个Agent,看起来很高级,结果又贵又乱。拆不拆,并不是看酷不酷,而是看...
【1】问题一:一个Agent,可能存在什么问题?
我们得先搞清楚单Agent的不足。
让sdd-site-agent一个Agent走完整条链路(需求→原型→架构→编码),随着任务变大,三个问题会逐步凸显。
问题一,上下文膨胀:需求讨论+原型细节+架构决策+代码文件,全挤在一个上下文窗口里。第3讲讲过,注意力被稀释;
问题二,职责混乱:代码写着写着,又来了一个需求的讨论,角色的知识会互相干扰;
问题三,失败传染:需求理解错了一步,后面全错。而且翻回去看,根本找不到是哪一步开始错的。
画外音:三个问题,指向同一个根因,同一个上下文窗口,装不下所有上下文。
【2】问题二:subagent,什么时候该拆?判断标准哪几个?
拆分的判断标准无非就三个,出现任意一个信号,才考虑拆:
信号一,上下文装不下:任务产生的中间内容,多到窗口装不下或开始上下文腐烂;
信号二,职责说不清:一个Agent的提示词里,塞了两个以上角色的职责;
信号三,失败会传染:一步错全链条错,且无法隔离和定位;
反过来,三个信号一个都没有,就不要轻易拆分。拆分多个subagent有可能带来哪些问题呢?
第一,贵。Anthropic实测过:多Agent系统的token消耗,大约是普通对话的15倍。因此,这个模式只在更高价值任务上才划算;
第二,信息损耗。子Agent看不到主Agent的对话历史。它需要的每一份上下文,都得由主Agent显式写进"任务书"传给它。传少了它容易做错,传多了token爆炸。
第三,协调成本。谁拆任务、谁验收、结果怎么汇总,全是新要设计的机制。
像不像公司拆部门?一个人干是全栈,十个人干就要配管理、配流程、配文档——人多了,产出未必多,但沟通成本一定高。拆Agent和拆部门,是同一个道理。
画外音:我带过几百人的技术团队,组织设计,组织管理,没想的那么简单,很多时候,小团队作战反而效率更高。
【3】问题三:subagent拆完,Agent之间怎么协作?
主流的模式是orchestrator-worker模式(编排者-工作者)。
主Agent(编排者):
1. 拆任务——把大任务拆成子任务;
2. 派活——给每个子Agent写"任务书"(显式传递上下文);
3. 汇总——收齐结果,组装成最终产出。
子Agent(工作者):
1. 各自一个干净的上下文窗口;
2. 专注一个子任务,不受其他角色干扰;
3. 干完返回浓缩摘要,不返回全部过程。
Anthropic的多Agent研究系统里,每个子Agent可能用掉几万token做探索,但只把1000-2000个token的精华交回主Agent。
画外音:这是第3讲just-in-time思想的多Agent版:主Agent的上下文里只留结论,细节留在子Agent那里。
【4】我们的sdd-site-agent:拆不拆subagent?怎么拆?
回到我们的贯穿项目,三个信号过一遍:四步骤整体流程,可以不拆。需求→原型→架构→代码,步骤可预测,单Agent+三个skill按需加载,窗口够用。
什么时候拆?
编码阶段。
整个站点的代码生成,中间内容爆炸,符合信号1,可以拆出"编码子Agent":
1. 任务书:架构方案+架构规范skill(显式传递);
2. 上下文边界:不带需求讨论历史(不需要);
3. 返回:代码文件清单+关键实现决策摘要。
注意这个决策的克制。不是上来就拆四个Agent——需求Agent、原型Agent、架构Agent、编码Agent。前三个角色每个的产出都不大,单Agent顺序做完全够用。只有编码这一步的中间内容会爆炸,所以只需要拆它。
【5】简单总结
希望今天这一讲,把多Agent编排的边界划清楚了:
1. 拆不拆,看三个信号:上下文装不装得下、职责说不说得清、失败会不会传染——一个都没有,就别拆;
2. 拆分的代价是:费用贵、信息损耗大、协调成本高;
3. 最常见的协作模式是orchestrator-worker模式:主Agent派活收摘要,子Agent干完留细节。
补充阅读:《Agent skill规范》
https://www.anthropic.com/research/multi-agent-research-system
工具有了,规范有了,编码子Agent也拆好了,Agent跑起来了。可它干得对不对?生成的需求文档、代码,没有标准答案,怎么验收?验收不了,又怎么迭代?
下一讲,咱们聊聊Agent的评估与迭代。
欢迎持续关注,让我们一起,一步一步,实现自己业务专属的mini-agent。
知其然,知其所以然。
思路比结论更重要。
===全文完==
PS:公众号只能贴静态图文,无法用js实时互动,在线版设计了课后习题与实操演练,欢迎阅读原文体验。
文章原文
