今天比较有意思,Cognition和Anthropic分别分享了Don't Build Multi-Agents与How to Build Multi-Agents,开始了一场有意思的辩论赛,也给了我们一个契机可以一起多视角聊一下MultiAgents。

从Cognition工程师Walden的推文说起

Cognition的工程师Walden昨天分享了一篇文章,关于他们在使用多智能体过程里遇到的一些坑

文章也不短,我用Dia浏览器整理了一下,主要观点如下:
1. 上下文工程是智能体可靠性的核心
- 仅靠"提示工程"已不够,真正难点在于"上下文工程",即如何动态、自动地为智能体提供完整、相关的上下文信息。
- 智能体需要持续、完整的上下文,才能减少误解和错误决策。
2. 多智能体架构的问题
- 多智能体(multi-agent)架构常见于将任务拆分给多个子智能体并并行处理,但实际容易导致信息割裂、误解和结果不一致。
- 即使把原始任务上下文传递给子智能体,也难以避免各自做出冲突决策,最终合成的结果往往不理想。
- 目前的多智能体协作,难以像人类一样高效沟通和共享关键信息,导致系统脆弱。
3. 两大原则
- 原则一:共享上下文和完整的智能体轨迹 仅传递单条消息不够,必须让所有子智能体看到完整的决策和历史。
- 原则二:每个动作都隐含决策,冲突的决策会带来坏结果 智能体的每一步操作都基于前面的决策,若各自为政,必然导致冲突和不一致。
4. 推荐的架构
- 单线程、线性智能体架构最简单且最可靠,能最大程度保证上下文连续性和决策一致性。
- 对于超长任务,可以引入专门的模型对历史进行压缩提炼,提取关键信息,延长可用上下文。
5. 现实案例
- 以 Claude Code 和"edit apply model"为例,说明实际生产中往往采用单一智能体或极简的子智能体,避免并行和复杂协作。
- 多智能体协作目前还不成熟,未来或许会有突破,但现阶段不推荐。
6. 总结
- 构建智能体的标准原则还在形成中,但"上下文工程"是当前最重要的课题。
- Cognition 团队围绕这些原则构建内部工具,并欢迎更多人参与探索。
整体来看,作者认为多智能体架构在当前阶段弊大于利,建议优先采用单线程、上下文连续的智能体设计,并重视上下文工程。
我们暂且按下不表,再来看看Anthropic说了些什么
Anthropic:我们怎么做的多智能体研究系统

照旧,我们先整理一遍这篇文章:
- 多智能体系统的优势 :相比单一智能体,多个智能体可以并行处理复杂、开放性的问题,提升研究效率和结果质量。每个子智能体负责不同子任务,最终由主智能体整合结果,适合需要广泛探索和信息压缩的任务。
- 系统架构 :采用"主控-工作者"模式。用户提问后,主智能体(LeadResearcher)制定计划并分配给多个子智能体(Subagents)并行搜索。子智能体独立使用工具收集信息,主智能体整合后决定是否继续深入,最后由CitationAgent处理引用,确保结果有据可查。
- Prompt工程与评估 :
- 通过模拟和观察智能体行为不断优化Prompt, 避免重复劳动、无效搜索 等问题。
- 明确分工、任务边界和工具选择 ,提升协作效率。
- 让智能体 自我改进Prompt和工具描述 ,显著提升任务完成速度。
- 采用 "先广后深"的搜索策略,逐步聚焦 问题。
- 并行调用工具大幅提升速度和覆盖面。
- 评估方法 :
- 早期用少量真实用例快速迭代。
- 利 用大模型自动评判输出的准确性、引用、完整性和工具使用效率 。
- 人工评测补充自动评测难以发现的问题,如偏好低质量来源等 。
- 工程与运维挑战 :
- 智能体需长期维护状态, 错误易级联放大,需支持断点恢复和智能容错 。
- 非确定性行为增加调试难度,需全链路追踪和高层次可观测性。
- 部署需渐进切换,避免影响正在运行的智能体。
- 当前同步执行方式存在瓶颈, 未来异步并发有望进一步提升性能,但也带来协调复杂性。
- 实用经验 (附录):
- 评估多轮对话智能体时,更 关注最终状态而非每一步过程 。
- 长对话需智能压缩和外部记忆管理, 防止上下文溢出 。
- 子智能体可 直接输出到外部系统,减少信息损失和token消耗 。
结论 :多智能体系统在开放性研究任务中表现突出,但工程落地难度大。需要精细的Prompt设计、工具接口、评估体系和运维保障,才能实现可靠、可扩展的生产级AI研究助手。
你怎么看
诸位看完了正反两方对于MultiAgent的分析,我们不难发现他们的一致点:
- 当下阶段单进程导致性能较差,但异步会带来协调复杂度提升
- 对窗口上下文控制需要做好细致的工程化管理
然而Cognition对于MultiAgent是消极派,认为MultiAgent当下带来的复杂影响远超于收益。但Anthropic实际操作时发现对于复杂任务,MultiAgent会做的更好。
其实要我说, MultiAgent才是未来绝大多数情况
MultiAgent的未来
要想看懂AI怎么发展,我们可以参照人类是如何发展的。
人类是群居动物,绝大多数生产活动都是需要多人协作才能完成的。
因为有分工合作,人类才逐步发展到今天。
有没有发现,其实Anthropic提及的,很像泰勒科学管理,有人负责分配,其他人各司其职。
为什么会演变成这样,其实这是一种对抗熵增的方式。
如果一个AI的上下文窗口足够大时,AI会难以集中注意力。这一点也好理解,就像一个员工,有很多任务都要做的时候,员工也很难照顾好每一项任务。
正是因为要对抗熵增,所以每一个Agent只会专注做领域内的一项工作。
多智能体协作,通过流程或沟通机制来组织这项生产活动,才会获得更佳优质的结果。
但 Cognition 提到的问题,就不是问题了吗?
是问题,就像人们协作时同样会引发这种问题。
领导A下达任务,同时广播给BCD去干活儿。途中发现有任务要调整,同步了B。结果B只找到C确认了,D没同步到。D还按照以前的上下文在处理任务。
这种情况是不是很熟悉?在人类之间发生的事情,依旧会发生在Agent上。
所以MultiAgent才需要强大的规则系统来工程化管理上下文窗口。
并不是像Cognition的工程师所言,一股脑全部把上下文窗口同步。这是按需的。
就像你的领导告诉B任务调整,但并不会同步给C和D一样,有的时候有一些秘密,只能告诉某个人。那他们就不会共用相同的窗口上下文。
MultiAgent信息交互
就像Anthropic所言,MultiAgent的交互过程说起来是比较简单,但做起来比较复杂的。
整体链路就是:
目标识别 —> 单体(或群体)决策—> 指派分配任务 —>对应Agent干活儿 —> 验收结果反思 —>调整决策或拿到结果
在这个过程里的Agent,可以是一个单体Agent,也可能仍然是一个MultiAgent
如果我们把MultiAgent理解成人类的一个小组,那其实小组目标就是这个MultiAgent的目标,所以它其实内部仍然还可以是3-5个个体Agent
用人类信息交互的模式去思考Agent,这个事情就对了。
所以它最终的形态或许就会和飞书一样:
- 任务来了,拉个群
- 群公告就是任务目标
- 为这些人(和Agent)提供日历和会议(对应时间check进度)
- 提供工具和知识库(群工具,共享给Agent协作使用),并有权限控制
- 内容可以广播,可以at(提高个体注意力),也可以P2P单点传输
- 消息也可能受到网络阻塞导致没发送成功,可以重发(这就是上文提到的:智能体需长期维护状态, 错误易级联放大,需支持断点恢复和智能容错 。)
- 当任务需要时,可以继续拉人进入,或者剔除一些人
- 新人进入时,会话记录(窗口上下文)可能需要按不同的情况来做逻辑处理
- 所有的消息都会逐渐成为异步的,当Agent正在干活儿的时候,消息仍然能被接收。比如A正在做任务,中途会接收到消息,把任务暂停。而不是像现在一样,单线程持续处理,直到拿到结果。它会有一些机制可以从外部强行更新上下文,或暂停任务。