Anthropic 这篇文章值得看看
详细阐述了构建多个智能体来更高效地探索复杂课题所面临的工程挑战,包括代理协调、评估和可靠性。
让 Notebooklm 总结了一下主要内容

Anthropic
@AnthropicAI
06-14
New on the Anthropic Engineering blog: how we built Claude’s research capabilities using multiple agents working in parallel.
We share what worked, what didn't, and the engineering challenges along the way.
https://anthropic.com/engineering/built-multi-agent-research-system…

多智能体系统能够通过以下方式提升性能:
并行操作和信息压缩:子智能体能够通过自己的上下文窗口并行运行,同时探索问题的不同方面,然后将最重要的信息提炼给主研究智能体。
关注点分离:每个子智能体提供关注点分离——不同的工具、提示和探索轨迹——这减少了路径依赖,并实现了彻底、独立的调查。
扩展性能:一旦智能达到某个阈值,多智能体系统就成为扩展性能的重要方式,就像人类社会通过集体智能和协调能力实现了指数级发展一样。
卓越的广度优先查询能力:内部评估显示,多智能体研究系统在涉及同时追求多个独立方向的广度优先查询方面表现出色4。例如,当被要求识别信息技术 S&P 500 公司所有董事会成员时,多智能体系统通过将此任务分解为子智能体的任务找到了正确答案,而单个智能体系统则未能通过缓慢的顺序搜索找到答案。
高效的 token 使用:多智能体系统能够消耗足够的 token 来解决问题。分析表明,token 使用本身解释了 BrowseComp 评估中 80% 的性能差异,而工具调用次数和模型选择是另外两个解释因素5。多智能体架构通过将工作分配给具有独立上下文窗口的智能体来增加并行推理的能力,从而有效地扩展了 token 使用量。
智能体系统也有其缺点:
它们通常会快速消耗大量 token。在 Anthropic 的数据中,智能体通常比聊天交互多使用约 4 倍的 token,而多智能体系统则比聊天多使用约 15 倍的 token。
因此,多智能体系统需要任务的价值足够高,以支付其增加的性能成本,从而实现经济可行性。
此外,一些需要所有智能体共享相同上下文或涉及许多智能体之间依赖关系的领域,目前不适合多智能体系统,例如大多数编码任务。
架构概览 Anthropic 的研究系统采用协调器-工作器(orchestrator-worker)模式的多智能体架构。
其中一个主智能体协调整个过程,同时将任务委托给专门的并行操作的子智能体。
其工作流程如下:
1. 用户提交查询后,主智能体(LeadResearcher)会分析查询,制定策略,并生成子智能体来同时探索不同的方面。
2. LeadResearcher 首先思考其方法,并将计划保存到内存中以保留上下文,以防上下文窗口超过 200,000 个 token 被截断。
3. 然后,它会创建专门的子智能体(Subagents),并分配具体的任务。
4. 每个子智能体独立执行网络搜索,使用交错思考(interleaved thinking)评估工具结果,并将发现结果返回给 LeadResearcher。
5. LeadResearcher 综合这些结果,并决定是否需要更多研究——如果需要,它可以创建额外的子智能体或调整其策略。
6. 一旦收集到足够的信息,系统就会退出研究循环,并将所有发现结果传递给一个 CitationAgent(引用智能体),该智能体处理文档和研究报告以识别具体的引用位置,确保所有声明都正确归因于其来源。
7. 最终的研究结果(包含引用)随后返回给用户。
与传统使用检索增强生成(RAG)的方法不同,Anthropic 的架构使用多步骤搜索,动态查找相关信息,适应新发现,并分析结果以形成高质量的答案。
提示工程与评估 多智能体系统与单智能体系统存在关键差异,包括协调复杂性的快速增长。
提示工程是 Anthropic 改进智能体行为的主要手段。
学到的提示原则包括:
1. 像你的智能体一样思考:理解提示的效果,通过模拟观察智能体一步步工作,从而发现故障模式。
2. 教导协调器如何委派任务:主智能体需要将查询分解为子任务,并向子智能体描述它们。每个子智能体都需要明确的目标、输出格式、工具和来源的使用指导以及清晰的任务边界,以避免重复工作或遗漏信息。
3. 根据查询复杂性调整工作量:在提示中嵌入扩展规则,以帮助主智能体高效分配资源并防止在简单查询上过度投入10。简单的查证可能只需要 1 个智能体和 3-10 次工具调用,而复杂的研究可能需要 10 个以上的子智能体。
4. 工具设计和选择至关重要:智能体-工具接口与人机接口同样重要。确保每个工具都有明确的目的和清晰的描述,并向智能体提供明确的启发式规则(例如,优先使用专用工具而非通用工具)。
5. 让智能体自我改进:Claude 4 模型可以作为优秀的提示工程师,当给定提示和失败模式时,它们能够诊断失败原因并提出改进建议。Anthropic 甚至创建了一个工具测试智能体,能够测试有缺陷的工具并重写其描述以避免失败。
6. 先广后深:搜索策略应模仿人类专家研究:先探索概况,再深入细节。通过提示智能体从简短、宽泛的查询开始,评估可用信息,然后逐步缩小焦点。
7. 引导思考过程:扩展思考模式(Extended thinking mode)作为可控的草稿本,使 Claude 输出额外的 token,用于规划、评估工具适用性、确定查询复杂度和子智能体数量,并定义每个子智能体的角色。
8. 并行工具调用提升速度和性能:通过让主智能体并行启动子智能体,以及子智能体并行使用多个工具,将复杂查询的研究时间缩短了高达 90%。
智能体的有效评估 评估多智能体系统面临独特的挑战,因为即使起点相同,智能体也可能采取完全不同的有效路径来达到目标。
评估方法需要灵活,既要判断智能体是否达到了正确的结果,也要判断其过程是否合理。
关键评估方法包括:
立即开始小样本评估:在早期开发阶段,即使是少数测试用例也能揭示巨大的影响,因为效果规模往往很大。
LLM 作为裁判的评估:研究输出通常是自由形式文本,没有单一正确答案,LLM 适合作为评分裁判14。Anthropic 使用 LLM 裁判根据事实准确性、引用准确性、完整性、来源质量和工具效率等标准来评估输出。
人工评估发现自动化遗漏的问题:人工测试人员能够发现自动化评估可能遗漏的边缘情况,例如异常查询上的幻觉答案、系统故障或微妙的来源选择偏差。
多智能体系统具有涌现行为,其行为并非通过特定编程产生。
理解交互模式至关重要,最好的提示不是严格的指令,而是定义分工、问题解决方法和工作量预算的协作框架。
生产可靠性和工程挑战 将智能体系统从原型转化为可靠的生产系统面临显著的工程挑战,因为代理系统中的错误具有复合性质。主要挑战包括:
智能体有状态且错误会累积:智能体可以长时间运行并跨多个工具调用保持状态。次要系统故障可能对智能体造成灾难性影响。Anthropic 构建了能够从错误发生的地方恢复的系统,并利用模型的智能来优雅地处理问题,例如在工具失败时通知智能体并让其适应。
调试需要新方法:智能体做出动态决策,并且在运行之间是非确定性的,即使提示相同也如此,这使得调试更加困难。通过添加完整的生产追踪,Anthropic 能够诊断智能体失败的原因并系统地修复问题。
部署需要仔细协调:智能体系统是高度有状态的提示、工具和执行逻辑的网络,几乎连续运行。Anthropic 使用彩虹部署(rainbow deployments),通过逐步将流量从旧版本转移到新版本,同时保持两者同时运行,从而避免中断正在运行的智能体。
同步执行造成瓶颈:目前,Anthropic 的主智能体同步执行子智能体,等待每组子智能体完成后再继续。这简化了协调,但在智能体之间的信息流中造成了瓶颈,例如主智能体无法引导子智能体,整个系统可能被阻塞。异步执行将实现额外的并行性,但会增加结果协调、状态一致性和错误传播的挑战
来自推特
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论
分享




