文档大纲

一场关于MultiAgents的辩论,深入了解Agent(转)

今天比较有意思,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正在做任务,中途会接收到消息,把任务暂停。而不是像现在一样,单线程持续处理,直到拿到结果。它会有一些机制可以从外部强行更新上下文,或暂停任务。

阅读量: 328