Claude Code智能体团队:何时需要使用多智能体以及如何操作
当一个智能体就足够时,还有四个用于添加更多智能体的触发条件、编排模式、通信方式、八种故障模式,以及Claude Code团队在原生版本与DIY版本之间的选择。
在 Claude Code 生态系统中,能够实现各智能体之间相互协作的团队架构已经可行,且成品效果相当不错。不过要让其真正发挥作用比听起来要困难得多,还有很多人在未权衡利弊的情况下就匆忙组建智能体团队。一旦子智能体运行顺畅,智能体团队似乎就成了显而易见的下一步发展,但实际上并非如此。团队本质上是一个需要付出真实代币成本的协调层,存在已知的故障模式,并且仅擅长处理有限类型的问题。
数月实际多智能体应用中所得到的最不引人注目的经验,也是最有用的:首先从一个配置良好的智能体、合适的工具以及规范的上下文管理入手。只有当有明确理由时才添加更多智能体。Anthropic关于构建高效智能体的指导也提出了相同观点,建议团队先寻找最简单的可行方案,仅在必要时再增加复杂性。
以下是思考该决策的方法以及做出决策后应采取的行动。这些内容假设你已经了解子智能体、它们与技能的区别,以及为何隔离上下文是使用子智能体的主要原因。目前仍存在的问题是:何时仅靠单个子智能体反馈已不够用,以及应为其替代什么。
相关内容涵盖以下方面:
- 为何大多数团队目前还不需要多个智能体,以及人们因误以为更多智能体会提升效率而犯下的常见错误。
- 四个能表明单个智能体已无法满足需求的明确信号。
- 一种与供应商无关的分类方式,介绍了四种智能体组合模式:协调器、流水线、并行专家和群体。
- Anthropic平台为智能体团队提供的架构,用于区分稳定功能与实验性或仅限预览的功能。
- Claude Code智能体团队是什么,以及它们与子智能体的区别。
- 智能体之间的通信方式:三种形式、四种时序模式以及它们之间应传递的内容。
- 八种故障模式及相应的实际解决措施。
- 选择原生方案、自主实现方案或混合协调方案的决策框架。
大多数团队不需要超过一个智能体
许多寻找代理团队的人其实是在解决错误的问题。他们的常见逻辑是:子代理已经有效,系统日益复杂,因此团队便是下一步的解决方案。但这种逻辑将能力与复杂性混为一谈。团队并不会提升系统的能力,只会使其更加分散化,而分散化本身是一种成本而非升级。
Anthropic关于构建高效智能体的文章详细阐述了其中的经济性考量。非智能体驱动的工作流更具可预测性、成本更低且更易于调试,其核心建议是:当普通函数就能完成任务时,直接编写该函数,而非组建由多种概率分布构成的团队来处理。对于那些尚未理解大语言模型本质上是概率性系统的人而言,这一点很容易被忽视。即便是明确的指令也未必能被正确执行。每增加一个智能体,就多了一个可能出错、产生幻觉或输出内容被下一个智能体误解的组件,因此大规模使用智能体会进一步增加出错的可能性。
单个智能体的处理上限比人们想象的要高。只要给予合适的工具、明确的系统提示,将繁重任务妥善分配给子智能体,并做好上下文管理,一个智能体就能完成令人惊讶的大量工作。当出现以下四种情况中的至少一种时,其处理上限就会被达到:
- 即便通过子智能体分配任务,该工作量仍超出单个上下文窗口的承载能力。
- 不同部分需要真正的专业化处理,这意味着需要不同的工具访问权限和行为限制,而不仅仅是不同的提示语。
- 部分工作可以并行进行,此时时间效率至关重要。
- 输出质量需要独立的评估,例如由未见过第一个智能体推理过程的第二个智能体来进行评价。
这些都不是关于处理能力的说明,全都与架构有关。当有特定需求时,使用额外的智能体是合理的;而如果没有这样的需求,它们只会增加复杂性。如果无法指出具体的需求,那么单智能体方案依然可行。
四种触发条件及示例
上下文隔离。假设某项任务需要读取数十个文件、进行大量搜索并处理庞大的中间结果,而这些内容都不必保留在主会话中。此时可以使用子智能体来处理这些任务。但如果调查规模过大,以至于连子智能体的上下文空间也被占满,或者任务被拆分为多个独立的并行调查,那就需要使用多个智能体。这是最常见的合理触发条件。
专业化。这项工作需要的不仅仅是独立的指令,还需要不同的工具访问权限和行为约束。无法编写文件或运行shell命令的代码审查员与代码生成器的风险特征有着本质区别。不过,这些差异往往可以通过独立的子代理来体现,每个子代理都有其自身的系统提示和受限的工具列表,因此仅凭专业化程度并不应成为升级到团队模式的理由。代理团队相关的文档也指出,子代理在此类场景中优势明显:它们拥有独立的上下文环境,能向调用方返回总结结果,并具备针对特定任务的指令。
并行工作。该任务被分解为多个互不共享可变状态的独立子任务:三个智能体同时检查代码库中缺陷的不同方面,或四个智能体各自审查文档中的不同章节。在这种情况下,由于各智能体可同时运行,多智能体系统能真正节省时间。不过这需要消耗更多总令牌数,因此只有当时间成本高于资源成本时,这种方案才具有合理性。
独立评估。输出结果需要另一种未被第一种评估思路影响的意见。可以想象这样一种评估者:只查看最终输出而不了解其背后的推理过程;或者是一种红队人员,其任务是寻找缺陷而非验证结论。这正是Anthropic多智能体研究系统的核心理念——多个并行子智能体分别探索不同方面,再由一个主导智能体独立进行整合。
当其中某个结论显然是正确的且能够明确指出是哪一个时,增加智能体所带来的成本才是合理的。
四种组合智能体的方法
假设决策已经作出。但研究很快便发现情况十分混乱,因为各前沿实验室开发的多智能体模式虽存在一些共性,具体实现方式却各不相同。以下是基于Anthropic的工作流程文档及其工程团队的实际经验整理出的综合分类体系。这并非Anthropic官方的划分标准,而是一种分析性总结,用于对应上述资料中所描述的内容。
顺序流水线
各智能体或处理阶段按固定顺序运行,后续阶段会使用前序阶段的输出结果。在四种模式中,这种结构最容易向工程师解释,因为它看起来就像普通的软件流程:先研究再综合,先起草再评审,先提取再验证。
它的优势在于各阶段之间存在明确的契约关系。其缺点则是错误会逐级扩散,因为第一阶段的提取错误可能导致后续阶段出现严重错误并带来巨大代价。在各个阶段之间设置验证机制是必要的,这样才能防止处理流程误入错误方向。JSON契约架构以及能够记录整个执行过程轨迹的其他工具,是最理想的验证手段。
集中式协调器,还是规划-执行模式?
一个主导智能体将任务拆分,分配给各个工作智能体,并汇总结果。这些工作智能体之间不会相互协调,而是直接向统筹智能体汇报。这是最常见且最有用的默认模式。当子任务的结构事先未知,但明确的上层负责主体十分重要时,应使用此模式。Anthropic的Research功能正是遵循这种结构:主导智能体分析查询,同时启动多个专用子智能体,随后合并它们找到的信息。
如果工作流程已经足够明确,可以编写脚本实现,则无需使用此模式;那样的话,流水线会更简单、更易预测。
其典型的故障表现为协调器故障:负责分配任务的代理给出的指示模糊不清,导致工作者重复进行相同的搜索,忽略任务边界,或产生相互矛盾的结果。解决方法是为每位工作者设定明确的目标、预期的输出格式、信息来源指引以及清晰的任务边界。
并行专家、辩论与红队机制
在这种模式下,多个代理同时处理同一任务或相关的子任务,随后对这些结果进行投票、评价或汇总。这种方法适用于那些韧性比完美性更重要的场景:对某个漏洞的不同解释、对政策决策的对抗性审查,以及从多角度进行的安全评估。
成本显而易见。代理数量越多,所需的令牌就越多,聚合工作量也会增大,同时还会因共识机制而产生过度自信的风险。据报道,Anthropic的研究系统不得不设置工作量预算并明确分工,以防止员工无序地分散精力。只有在该领域确实有此需求时才应采用这种模式。
群体协作,或去中心化的共享上下文
协调是通过共享状态、共享消息线程或环境变化来实现的,而非依靠严格的领导者。此时多代理系统开始转变为分布式系统,随之而来的是各种复杂性:所有权界定不清、共享状态上的竞态条件以及难以调试的问题。这种模式适用于那些需要代理在会话或运行时边界之间相互协作的真正开放性问题。而在需要明确责任或严格遵循规则的情况下,则应避免使用此模式。
对大多数从业者而言,前两种模式几乎能涵盖所有需求。
Anthropic 当前的产品
在自行搭建系统之前,不妨先了解 Anthropic 已经提供的功能及其设计理念。目前存在多种用于实现智能体功能的平台,且它们彼此不可替代。可以将其想象成从原始控制到托管管理的阶梯结构。下图展示的是2026年4月左右的状况,这些产品更新速度很快。
- Messages API。 您完全掌控整个流程。虽然有工具可用,但执行逻辑仍需由您自行编写,且不支持多智能体协作。这是灵活性最高但工作量也最大的层级。
从实际应用来看,“Claude支持智能体团队”这一说法是成立的,而“Claude在所有平台上都能提供生产级、通用的多智能体编排功能”则不成立。
Claude Code中的智能体团队实际应用
简单回顾一下两者的区别:
- 子智能体在单个主会话中运行。Claude Code的主实例负责创建它们,每个子智能体都在自己的上下文窗口中独立工作并返回结果,由你负责进行编排,主会话不会承担生成结果的工作。
设置方式
- 团队配置文件位于
~/.claude/teams/{name}/config.json。 - 共享任务列表位于
~/.claude/tasks/{name}/。 - 团队成员通过可复用的智能体文件来定义,实际上这些是被分配了相应角色的子智能体定义。
- 钩子功能可在任务转换之间起到质量管控的作用。
在设计中有两个架构层面的要点。首先,子代理可以保留自己的自动记忆。这有助于实现专业化,但一旦工作被分配给多个拥有独立记忆的代理,就需要做出架构决策:哪些知识应保留在本地,哪些需要共享,哪些又需要被汇总回来。这就是一个系统设计问题。
其次,文档明确指出在哪些情况下团队表现会不如子代理:顺序任务、对同一文件的编辑,以及各步骤之间存在大量依赖关系的情况。如果代理必须按顺序传递相同的成果而无法并行工作,那么顺序流水线中的子代理会更简单且更易预测。
由于当时的团队仍处于试验阶段且默认处于关闭状态,只有出于上述清单中的明确原因时才应启用它们,并要做好出现缺陷的准备。
代理之间如何通信
智能体之间的通信通常被视为提示词相关问题,但在大规模应用中则属于系统层面的问题。其大致存在三种形式。
- 通俗语言消息。这是最显而易见的形式,但在大规模应用中可靠性最低。Claude Code的团队成员通过邮件箱直接互相发送消息,虽然灵活,但自然语言不如结构化调用精确,容易导致智能体之间产生误解。
- 结构化调用。使用JSON Schema工具定义并严格遵循这些规则。Anthropic的工具定义能确保传入的参数符合相应架构,这一机制使得智能体与工具之间的通信更加可靠;同样地,当将智能体间的交互建模为工具调用而非自由格式的消息时,也能提高其精确度。
时机与格式同样重要。存在四种模式:
- 同步调用。管理者调用专家,等待后继续执行。这种模式易于理解,但可能存在瓶颈。据报道,Anthropic的研究团队发现同步主导执行会因处理速度较慢的智能体而受阻,因此排除了在任务执行过程中进行调整的可能性。
各智能体之间传递的内容决定了整个系统的可靠性。传递完整的对话历史虽能最大程度保持连贯性,但会呈线性增加成本和延迟。压缩后的摘要通常更为合适,这也是 Claude Code 的子智能体按设计所采用的方式。传递结构化输出文件、代码补丁、JSON 特性列表及存储的报告等任务专用成果往往是实际中最理想的方案。接收端的智能体可以直接查看这些成果,而无需依赖摘要,这使得系统具备对话式传递无法比拟的可审计性。
传递的内容还决定了传递的方式与时机,这进一步强调了核心观点:构建智能体团队属于系统设计问题,其解决难度远高于简单的线性流程编排。
智能体团队失败的八种方式
大多数多智能体教程都会跳过这一部分。Anthropic的工程笔记是很好的参考资料。这些笔记更像是一个团队逐步解决问题的日记,他们一次解决一个漏洞,逐渐意识到增加智能体只会让管理问题愈发复杂。从中可以提炼出八点经验。
- 协调偏差。模糊的职责分配会导致智能体重复彼此的工作,忽略边界条件,或返回无法整合的结果。Anthropic的研究系统帖子直接指出了这一问题,解决办法是让协调器明确指定每个智能体的目标、输出格式、数据来源及工作范围。在职责未明确定义的情况下,智能体会像人类一样自行决定,而且往往处理得不好。
原生型、自主开发型或混合型
那么关键问题来了:是自行构建编排系统,还是使用现成的解决方案?这是在三种选项之间的架构权衡,实际上可能还有更多选择,因此请将此视为一种有主见的观点。
- 原生托管型意味着Anthropic拥有运行时及协调机制:即Claude Managed Agents,更具体地说则是Managed Agents多智能体版本或Claude Code智能体团队。其优势在于工程开销更低,且无需维护托管的框架与基础设施。缺点则是可移植性有限(Managed Agents只能通过直接的Claude API访问),多智能体功能仍处于试验阶段或仅限预览,同时还依赖于第三方。当基础设施管理成为痛点且能够接受Anthropic特有的限制时,可选择此方案。
简而言之:当基础设施是痛点时选择原生托管模式,当拓扑结构与策略是痛点时选择自行构建模式,而当你希望使用 Anthropic 的基础组件但又需要保留自身架构决策的空间时,则选择混合模式。
架构问题
大多数人认为代理团队应具备的能力是处理能力,其理论依据是代理数量越多,处理能力就越强。而真正有用的思维框架则是架构设计:新增一个代理能解决什么问题,又会带来多少成本?
子代理负责确定由谁在何种环境下使用何种工具来完成工作。代理团队则在之上增加一层协调机制,包括共享的任务状态、可直接互相沟通的队友,以及能够自动组织的并行处理流程。只有对于真正需要这种协调机制的问题,这样的架构设计才能发挥作用。
对于一个实际应用场景,组建一支配置合理的单一智能体团队大约需要一周时间。后续复杂度可能会上升,但并非必须从这里开始。上述的故障清单与通信模式仅作为参考资料,并非要求一次性构建所有内容的计划。首先确定四个触发条件中哪些是真实的,如果都没有,则单一智能体方案依然是正确选择。