#多智能体系统

2周前
读完 Anthropic 的多智能体系统文章,有几个点挺触动的,尤其是放回我们平时在做 agent 编排和系统落地的过程中,对应起来很多痛点被他们提前踩过、总结得非常系统。 这套系统看上去是给 Claude 提升复杂研究任务能力,底层其实是三个关键词:带宽、结构、机制。 1️⃣从 token 到带宽:扩容问题其实是系统问题 他们很明确地说,单个 agent 很快就会遇到 token 限制,这不是模型能力不行,而是容量不够。很多时候 LLM 的“不会”、“忘了”、“答不出来”,只是 context 塞不下。这一点在我们自己调长链条、多跳调用的时候也很明显。Anthropic 选择的解法不是扩模型,而是拆任务、开并发、分 agent,每个 agent 自带上下文窗口,从系统结构层面扩容。 这种设计非常实用,因为它绕过了 token 墙的天然限制,通过多 agent 并发变相把 token 维度拉开了。这是我最近做 agent 编排时反复体会到的:不是把 prompt 写得多聪明就能解决,而是要想清楚结构怎么设计,谁来拉信息、谁来拼结构、谁来追引用。 2️⃣提示词是系统指令,很重要、很重要、很重要! 这篇文章有个细节写得特别清楚:主 agent 的提示词,是负责分配任务、指明目标、交代格式、选工具的。这个逻辑其实是我们做复杂 agent 系统中很容易忽略的一块:提示词不只是沟通语言,更是调度逻辑、任务协议、格式规范的集中承载体。 尤其是多个 agent 并行运行时,如果没有一个清晰、格式化、结构稳固的 prompt 模板,每个子 agent 拉回来的信息会特别散、错漏率高、很难合并。这时候,主 agent 的提示词就等于一个调度中枢的“编程语言”。 从我们平时用的实践来看,这就意味着主 agent 的提示词策略应该和流程图一样严谨:每一步要预设结果、预设失败、预设上下游。这块我觉得是现阶段很多 agent 框架还不够成熟的地方。 3️⃣系统级机制,决定了能不能撑进生产环境 我觉得特别值得借鉴的工程概念:checkpoint、异步重试机制、全链路 tracing、彩虹部署。这几个在大数据异步系统里很常见概念,AI 领域得好好学习下。 这些词不是为了好听,它们背后都是在回答一个问题:这个系统崩了怎么办?agent 卡死怎么办?升级逻辑还没验证好怎么办?一整套机制让这个系统不是在 demo 一个可能性,而是在上线跑任务、自动修复、平滑演进。 平时我们在做流程型 AI 系统的时候,很容易只关注“怎么生成”“怎么判断好坏”,但 Anthropic 的做法提醒我:agent 系统本质上要往服务化方向走,就必须预设失败是常态,重试是能力。 4️⃣评估机制是不可缺的闭环,不然做不出反馈导向的系统进化 他们有一个细节很打动我:让另一个 LLM 去评审 agent 的结果,从准确性、引用合理性、覆盖度等多个维度打分。这就相当于在系统里内嵌了 QA 流程,而且不是事后人评,而是可以插入调试链路的 LLM 评测器。 我们自己在调多 agent 结构时常遇到一个问题:任务执行完了,但结果质量很难量化,只能靠人工判断或者事后比对。这套“LLM 评估 LLM”的机制,让我们开始可以想象一种更自动化的 agent 演化路径:系统自己跑,自己打分,自己选择 prompt A 还是 B,更适合持续调优。 5️⃣并发是工具,不是策略,适用场景边界要想清楚 这套系统最适合的场景是:问题复杂度高、信息广度要求强、非实时产出型任务。例如政策研判、产品调研、文献综述、竞品分析这些,在私域服务里也可以类比成“多维标签用户意图研判”这种复杂工作。 但如果放在需要紧密配合、频繁迭代、低延迟要求的任务上,例如代码生成、对话任务、实时接口构建,多 agent 的协调成本反而可能放大系统复杂度。所以并发结构是个好工具,但什么时候该开几个 agent,什么时候该单线程跑到头,这种策略边界要想清楚。 这篇文章最核心的不是“我们做了一个多 agent 系统”,而是他们已经把多 agent 作为一种工程能力进行制度化建设:有流程、有容错、有评估、有上线机制。 对在第一线实际落地 AI 能力的团队来说,有一个非常直接的启发是:构建 agent 系统,不能只是对话式的 prompt 编排,而要像搭服务一样,从任务定义到评估反馈,从并发机制到异常兜底,形成一整套可以持续运行的系统逻辑。 这一点,比起模型调优,本质上更像是一种架构能力的竞争。
2周前
今天很有趣,两家知名的公司各出了一篇文章,争论要不要使用多智能体系统。 Claude 的官方 Anthropic :如何构建多智能体系统 Devin 的官方 Cognition :不要构建多智能体系统 这核心的争议点在于:Context 上下文到底应该共享还是分开? Claude 这边的观点是,搜索信息的本质是压缩,单个智能体的上下文有限,面对无限的信息,压缩比太大就会失真。 这就好比一个老板能力再强,也不可能搞定所有的事情,还是需要雇人去解决。 通过多智能体系统,老板让不同的智能体分别研究、汇报重点,老板最后整合到一起。由于每个智能体有自己的专长,具有多样性,减少了单一路径依赖现象,实际效果上,多智能体也超过但智能体 90%。 这是集体智慧,一起协作获得的胜利。 Devin 这边的观点是,多个智能体的上下文不一致,会导致信息割裂、误解、他们汇报给老板的信息经常充满了矛盾。 而且很多时候,智能体的每一步行动都是依赖前一个步骤产生的结果,而多智能体通常分别跟老板沟通,互相之间缺乏沟通,这样很容易导致互相矛盾的结果。 这体现出了个体智慧的完整性和高效性。 两边观点看下来,是否使用多智能体架构,特别像是人类运行一家公司的选择。 一人公司还是多人公司? 一人公司,一个人的脑力、体力、时间都是非常有限的。 优点是一人公司的沟通成本为0 ,可以把所有的时间都高效使用。 而多人公司,人越多,沟通成本就越高,管理难度就越大,总体效率下降。 但因为人数多,脑力多,体力多,整体的价值产出也就有可能更多。 多智能体的设计很有难度,这其实很正常,就像运行一家公司一样,很难。 难就难在建立有效协作的系统。 而且 1个人,3个人,10个人,100人,1000人,所需要的协作系统又不大相同。 参考人类历史,依靠集体智慧,人类在近代获得了文明的指数级发展。 多智能体的集体智慧,也许就是在 Scaling Law 逐渐放缓后,AI 获得指数级发展的那个萌芽。 而关于上下文,人类的协作至今也无法做到完美的上下文管理。 这让我想到,软件工程从来不是追求完美,而是持续迭代。
2周前
做 Agent 研究的不要错过今天 Anthropic 发布的关于多智能体系统的文章。 ## 什么是多智能体系统? 多智能体系统是指由多个AI代理(如LLM)协同工作、并行使用工具来完成复杂任务的系统。 与单智能体相比,多智能体系统能同时探索多个方向,分工明确,提升效率和覆盖面,尤其适合开放性、动态变化的问题。 ## 为什么要用多智能体系统? 在过去的十万年里,人类个体的智能水平不断提升。 而在信息时代,随着人类集体智慧和协调能力的提升,人类社会的能力也呈指数增长。 Agent 也是类似的,即便是通用的智能体,在单独运作时也会遇到瓶颈,而 Agent 群体可以完成更多的任务。 在内部研究评估中,Claude Opus 4 为主导 Agent,Claude Sonnet 4 为子 Agent 的系统,比 Claude Opus 4 的单 Agent 性能高出 90.2% 。 举例来说,当被要求识别信息技术标准普尔 500 指数公司的所有董事会成员时,多 Agent 系统通过将其分解为子 Agent 的任务找到了正确答案,而单 Agent 系统则无法通过缓慢的顺序搜索找到答案。 ## 为什么多智能体系统是有效的? 搜索的本质就是压缩。从庞大的语料库中提炼 Insights。 但是语料过于庞大,压缩就会失真。 通过多智能体系统就能有效解决这一问题。 子 Agent 在自己的上下文窗口中进行压缩,自主地为主 Agent 提供多个方面的浓缩信息。 子 Agent 各有分工,使用不同的工具、提示词、探索路径,这样减少了路径依赖,实现多个独立方向的同时调查。 多 Agent 系统的有效是因为他们使用了足够多的 token 来解决问题。 在 BrowseComp 评估 (测试浏览智能体查找难以找到的信息能力),80%的性能差异都可以用 token 使用的多少来解释。15% 的差异可以用工具调用次数和模型选择来解释。 所以,多 Agent 是一种非常有效的架构。把工作分配给具有单独上下文窗口的智能体,以增加并行推理能力。 ## 多智能体系统的缺点 缺点嘛,就是贵。 智能体使用的 Token 一般是聊天的 4 倍。 而多智能体系统使用的 Token 一般那是聊天的 15 倍。 只有任务的价值足够高,才能对得起这么高的成本。 此外,一些任务并不适合多智能体系统,比如要求所有智能体共享上下文,或多智能体之间具有依赖关系的任务。 例如,大多数的编码任务,可并行化任务比较少。 ## 多智能体系统和 RAG 的区别是什么? 传统的方法使用 RAG,静态检索。获取与输入查询最相似的一组数据块,并用这些数据块进行回应。 而多智能体架构使用多步骤搜索,动态查找相关信息,结合新发现的信息,分析结果,并形成高质量的答案。 流程图展示了我们多智能体研究系统的完整工作流程。当用户提交查询时,系统会创建一个 LeadResearcher 智能体,并进入迭代研究流程。 LeadResearcher 首先仔细考虑方法并将其计划保存到内存中以保留上下文,因为如果上下文窗口超过 200,000 个标记,它将被截断,并且保留计划非常重要。 然后,它会创建专门的子代理(此处显示两个,但数量可任意),并执行特定的研究任务。每个子代理独立执行网络搜索,运用交叉思维评估工具结果,并将结果返回给首席研究员。首席研究员会综合这些结果,并决定是否需要进一步研究——如果需要,它可以创建更多子代理或改进其策略。 一旦收集到足够的信息,系统就会退出研究循环并将所有发现传递给 CitationAgent,后者处理文档和研究报告以确定引用的具体位置。 这确保所有声明都正确归属于其来源。最终的研究结果(包括引文)将返回给用户。