构建 AI 智能体应用——多智能体系统

0 阅读36分钟

引言

随着人工智能系统的复杂性与能力不断增长,对模块化、可扩展、可协作架构的需求也变得越来越关键。多智能体系统(MAS) 提供了一种强大的范式:通过将任务分配给多个专门化智能体,而不是依赖单一的“巨石式”模型,来构建智能应用。MAS 中的每个智能体通常由大语言模型(LLM) 驱动,并被设计用于在更大的工作流中执行特定功能,例如规划、编码、研究或验证。这种分工使系统能够更有效地管理多样化工具、处理复杂上下文,并保持领域专长。

MAS 特别适用于需要动态决策、并行任务执行以及类人协作的环境。通过使智能体能够沟通、协调与适应,MAS 提升了性能、可维护性与透明性。它还允许开发者按需通过新增或优化智能体来渐进式扩展系统。

本章将介绍基于 LLM 的 MAS 的基础概念,包括其核心组件、关键特征和架构风格。内容还将探讨集中式、去中心化和混合式模型,以及消息传递、黑板系统和共享内存等通信范式。读者将学习设计高效 MAS 的实用策略,并了解如何实现用于安全性的防护机制(guardrails)。本章最后以一个现实世界中的多智能体编码助手为例,展示如何运用这些原则来自动化并优化软件开发工作流。

结构

本章将涵盖以下主题:

  • 多智能体系统概述
  • 多智能体系统的架构
  • 构建高效多智能体系统
  • 多智能体编码助手的实践示例

学习目标

在本章结束时,读者将全面理解 MAS 及其在构建智能、可扩展应用中的重要性。本章介绍 MAS 的基础概念,强调由 LLM 驱动的智能体如何通过协作,比单智能体系统更高效地解决复杂任务。读者将学习 MAS 的核心组件,包括智能体角色、环境与交互机制。本章还将探讨集中式、去中心化与混合式等多种架构风格,并进一步说明不同架构风格如何影响控制、扩展性与协调能力。为促进智能体之间的信息交换与协作,本章还将介绍关键通信范式,如消息传递、黑板系统和共享内存。通过实用设计策略,读者将获得构建高效 MAS 的洞见,包括模块化智能体设计、动态任务分配与性能监控。本章最后通过一个现实世界中的多智能体编码助手示例,展示如何编排专门化智能体以自动化软件开发工作流。该示例进一步强化了在部署可靠 MAS 时防护机制、错误处理与可观测性的重要性。总体而言,本章为读者提供了在多种领域中设计、实现与评估基于 LLM 的多智能体系统所需的知识与工具。

多智能体系统概述

一个 MAS 由一组协作解决问题或完成任务的智能体组成。近年来,这些智能体中的许多由 GPT 等 LLM 驱动,使其能够理解并生成人类风格的语言。每个智能体都可以专注于特定任务、进行通信并协同工作。MAS 提升了模块化、可扩展性与控制能力,因此适用于分布式系统、问题求解以及基于 AI 的决策环境。关于基于 LLM 的 MAS 的核心组件、关键特征与进展的简要说明将在以下小节中给出。

核心组件

使用 LLM 的多智能体系统的核心组件如下表所示:

组件描述示例
LLM 智能体针对特定角色与目标的语言模型。它可以理解指令、生成响应、做出决策并使用工具。一个研究智能体读取文章并为用户生成摘要。
环境智能体运行的数字空间。它可以是聊天界面、共享内存或工作流系统。在软件开发助手中,环境包括代码文件、缺陷报告和任务列表。
交互LLM 智能体通过读取共享内存、发送消息、提问或给出反馈进行交互。规划智能体要求开发智能体编写函数,而审查智能体检查代码。
通信LLM 智能体使用自然语言进行通信。它们可以解释推理过程、请求澄清并协作构思。虚拟公司聊天中的智能体像同事一样协作设计产品。

表 4.1:MAS 的核心组件

关键特征

MAS 被设计为智能、灵活且可协作。下表反映了基于 LLM 的 MAS 的关键特征,这些系统旨在模拟类人的协作与分工专长:

特征描述示例
自主性(Autonomy)每个智能体半独立运行,专注于其特定角色,同时与其他智能体保持同步。一个摘要智能体独立压缩文档内容,同时与规划智能体协调。
通信(Communication)智能体使用自然语言共享信息、提问并协调行动。编码智能体向审查智能体请求函数反馈。
协调(Coordination)智能体组织各自行动,以避免冲突并确保任务平稳执行。智能体轮流更新共享知识库。
协作(Collaboration)智能体朝共同目标协作,通常按专长分工。规划智能体与研究智能体协作撰写技术报告。
可扩展性(Scalability)系统可以通过增加更多专门化智能体来处理更复杂或更大规模任务。为团队增加一个翻译智能体以支持多语言文档生成。

表 4.2:MAS 的关键特征

优势

这些特征凸显了 MAS 在多种应用中的优势与灵活性:

  • 模块化:每个智能体彼此独立,使系统更易于构建、测试和维护。
  • 可扩展性:可以轻松添加新智能体,以处理更复杂或更大规模的任务。
  • 鲁棒性:一个智能体的失败不一定会导致整个系统崩溃。其他智能体可以适应、补偿或接管失败智能体的职责,从而确保连续性与韧性。
  • 专门化:智能体通过专注于特定任务或领域而表现更优。
  • 显式控制:开发者可以管理智能体之间如何通信与交互。
  • 通过团队协作获得更好性能:多个智能体协作通常优于单个智能体。
  • 更好的理解能力:通过角色分配,智能体可聚焦复杂任务中的较小部分,从而提升理解效果。

多智能体系统的架构

MAS 架构定义了多个智能体协同或独立工作时的结构与交互模式。理解这些架构概念,有助于设计稳健、高效、可扩展的多智能体系统,使其能够在不同领域中应对复杂问题。

本节探讨支撑基于 LLM 的 MAS 的架构模式,重点说明智能体如何组织、如何通信以及如何做出决策。以下小节将对 MAS 架构进行简明说明,涵盖集中式与去中心化模型、常见拓扑结构以及通信范式,并配合示例帮助理解每个概念。

集中式与去中心化架构

在多智能体系统中,一个关键的架构决策是:控制与协调是由中心统一管理,还是分布在各个智能体之间。下面简要介绍集中式与去中心化架构。

集中式架构

在集中式架构中,一个监督者智能体(通常称为编排器或规划器)负责管理任务流,并将职责分派给其他智能体。它对整个系统具有完整视图。每个智能体与监督者智能体交互,由监督者决定下一步联系哪个智能体。监督者架构有一个特殊形式,称为 supervisor(tool-calling) ,在这种形式中,各个智能体可被表示为工具。监督者智能体使用具备工具调用能力的 LLM 来决定调用哪个“智能体工具”以及传递哪些参数。参见下图:

image.png

图 4.1:集中式 MAS 架构

集中式 MAS 架构的优缺点如下:

优点:

  • 简单性:更容易设计和管理,因为所有决策都从一个点流出。
  • 全局视图:监督者智能体了解系统中发生的一切,这有助于做出最优决策。
  • 可追踪性:更容易调试和监控。

缺点:

  • 瓶颈:如果信息量过大或需要做出的决策过多,监督者智能体可能会过载。
  • 单点故障:如果中心监督者智能体失效,整个系统会崩溃。

让我们看一个研究助手系统的例子,其中所有智能体都是 LLM 实例,各自承担特定角色,并由规划器协调。其工作方式如下:

  • **规划器智能体(planner agent)**负责任务分解与委派,在研究助手系统中拆解研究问题。
  • **检索智能体(searcher agent)**负责信息检索,查询学术数据库。
  • **摘要智能体(summarizer agent)**负责内容摘要,帮助总结研究发现。
  • **写作智能体(writer agent)**负责生成报告并撰写最终报告。

去中心化架构

在去中心化架构中,智能体自主运行,并通过自然语言对话或共享内存进行协调。每个智能体都可以发起任务、请求帮助或协商角色。每个智能体都可以与其他所有智能体通信。任一智能体都拥有自主权来决定下一步联系哪个智能体。在去中心化 MAS 中,每个智能体基于本地知识和同伴通信做出决策。参见下图:

image.png

图 4.2:去中心化 MAS 架构

在去中心化多智能体系统中,没有中央控制器;相反,智能体通过既定协议(如拍卖或投票机制)来协调行动。这种结构特别适合动态和大规模环境,因为它允许智能体自主运行并高效协作,而无需依赖单一控制实体。在看一些实际示例之前,有必要权衡去中心化多智能体系统固有的优势与局限;以下部分总结其主要优缺点:

优点:

  • 鲁棒性:如果一个智能体失败,系统其余部分通常仍可继续运行。相较集中式架构更具韧性。
  • 可扩展性:可以轻松增加更多智能体,而不会压垮中央控制器。系统可以扩展得更大。

缺点:

  • 复杂性:设计和管理大量独立智能体之间的交互会更困难。
  • 协调开销:智能体需要频繁通信和协商,以确保共同朝着目标工作,这可能效率较低。
  • 冗余:如果没有高效的任务分配机制,多个智能体可能重复劳动,导致资源浪费并降低整体效率。
  • 共识时间更长:尤其在分布式决策场景中,智能体间达成一致需要更多时间,因为需要协商、同步和冲突解决。

让我们看一个去中心化研究助手系统的例子,该系统旨在协作开展跨多个领域的学术研究。如下所述的每个智能体都自主运行、专精于某一领域,并与其他智能体通信以综合知识并生成洞见:

  • 文献智能体(Literature agent) :扫描学术数据库,并根据给定主题检索相关论文。
  • 摘要智能体(Summarization agent) :利用 LLM 能力总结已检索文档中的关键发现。
  • 数据分析智能体(Data analysis agent) :解释数据集、执行统计分析并生成可视化。
  • 论证智能体(Argumentation agent) :基于综合信息构建逻辑论证或假设。
  • 批判智能体(Critique agent) :评估论证强度,识别缺口,并提出改进建议。

常见 MAS 拓扑结构

在 MAS 中,拓扑(topology)指智能体的结构化组织方式——即它们如何排列、如何通信,以及控制与决策如何在系统中分布。拓扑选择会显著影响系统行为,包括任务分配、协调效率、容错能力与适应性。主要拓扑包括层级式(hierarchical)、异层级式(heterarchical)和混合式(hybrid)架构,每种都提供不同的控制、通信与协作模式。

层级式架构(Hierarchical architectures)

这是“监督者的监督者”的 MAS。它是集中式(supervisor)架构的推广形式,允许更复杂的控制流。它类似传统公司结构:有 CEO、经理和员工。系统中存在主从关系(master-slave relationships),高层智能体向低层智能体下达指令。层级式架构的关键特征是具有清晰的指挥链、定义明确的角色,并且常用于任务可被拆解为子任务的场景。其优缺点如下:

优点:

  • 清晰的结构与控制:明确的指挥链简化了任务分配、责任和权限管理,使大型或复杂项目更易管理。
  • 高效决策:集中式领导有助于快速决策,并与组织目标保持一致。
  • 可预测的协调:明确的汇报链路和标准化流程带来可靠、可重复的过程,也更易监控进度。
  • 适合结构化任务的扩展性:当任务可以被系统性分解与委派时,层级系统尤其有效。

缺点:

  • 单点故障:对中心权威的依赖带来脆弱性。如果关键领导者或节点失效,整个系统可能受影响。
  • 灵活性有限:刚性结构使系统难以快速响应意外变化或快速创新。
  • 通信瓶颈:信息常常需要经过多层传递,可能减慢响应速度并引入误解。
  • 过载风险:高层管理者或监督者可能因决策或通信量过大而不堪重负,降低系统效率。

例如,在智能工厂中,一个生产经理智能体可能告诉装配线智能体要生产哪些产品,而装配线智能体再向机械臂智能体下达具体动作指令。

异层级架构(Heterarchical architecture)

在异层级多智能体系统中,所有智能体地位平等,没有显式领导者或中心化控制。每个智能体都具有自主性,通过与同伴直接通信和协调来实现个体与集体目标。决策并非来自自上而下的命令,而是通过协商、投票、共识或去中心化协议涌现出来。这种架构非常类似合作社或网络化组织,权力是分布式的,智能体可以根据需要自组织,从而灵活适应变化情境。其优缺点如下:

优点:

  • 高灵活性与适应性:智能体可以快速重组,并响应动态环境或演化中的任务。
  • 无单点故障:不存在中心权威提高了系统鲁棒性;如果一个智能体失效,其他智能体仍可继续运行。
  • 分布式决策:支持信息与任务的并行处理,提高资源利用效率与可扩展性。
  • 鼓励创新:点对点协作促进创造力和多样化的问题解决方式。

缺点:

  • 协调挑战:缺少中心权威时,达成共识或同步行动可能更慢、更复杂。
  • 潜在冲突:如果没有有效协商或冲突解决机制,智能体间分歧可能阻碍进展。
  • 缺乏全局视角:智能体可能做出局部最优但对整体系统性能并不理想的决策。
  • 扩展性上限:随着智能体数量增长,通信开销和复杂性可能显著增加。

例如,一组 LLM 智能体共同撰写报告,每个智能体贡献观点并互相审阅工作。这种同伴驱动的过程使智能体能够利用集体智慧,最终形成受益于多元视角和严格内部反馈的文档。由于没有单一智能体主导方向,团队保持灵活与适应性,能够根据需要纳入新信息或调整重点。这种协作方式不仅提升了最终产出质量,也体现了去中心化团队合作的优势,例如在由平等自治体组成的系统中平衡创造力、批判性审查与共同责任。

混合式架构(Hybrid architectures)

为了解决层级式与异层级式两种风格的局限,混合式架构将集中规划去中心化执行结合起来。一个元智能体(meta-agent)可以发起任务,但智能体也可以自组织并动态重新分配角色。在某些任务中,一些智能体可能担任领导角色,而其他智能体则以同伴方式协作。以下为混合式架构的优点与局限:

优点:

  • 控制与自主性的平衡:混合式架构使系统能够同时利用中心化与去中心化方法的优势。中心化组件提供战略方向与总体协调,确保系统目标一致并监控进展;同时,自主智能体可进行本地决策并动态调整策略。这种平衡有助于优化性能、减少瓶颈,并在环境或需求变化时保持响应能力。
  • 支持动态工作流:混合设计的核心优势之一,是能够支持自适应、灵活的工作流。随着任务演化或新挑战出现,智能体可以实时重组、自主重新分配角色并协作。

局限:

  • 需要精心设计智能体角色与记忆机制:尽管混合式架构优势明显,但也引入自身复杂性。设计者必须慎重定义每个智能体的职责和交互模式,以避免重叠、空缺或冲突。此外,智能体需要合适的记忆机制来追踪进行中的任务、共享相关上下文并避免重复工作。不充分的角色定义或记忆管理会导致低效、误沟通或协调失效,从而限制系统整体效果。

让我们看一个 AutoGen 框架的例子。它是一种混合式架构:其中 user proxy agent 表示用户目标,一组 LLM 智能体协作处理子任务,并可选配工具智能体来访问 API 或数据库。这种结构允许智能体不仅发起对话,还能提出澄清问题并共同修订计划。在该系统中,用户代理智能体直接与用户交互,助手智能体专注于推理与规划,而工具智能体负责执行外部 API 调用。通过结合集中规划与去中心化执行,该框架支持适用于多类复杂任务的动态、灵活工作流。

基于 LLM 的 MAS 架构正在重塑智能系统的设计方式。通过将 LLM 的推理能力与灵活的智能体协调机制结合,这些系统能够在动态环境中处理复杂、开放式任务。表 4.3 总结了常见 MAS 架构风格的对比:

架构控制方式可扩展性框架用例
集中式规划器驱动低–中LangChain agents研究助手
去中心化点对点ChatDev模拟组织
混合式混合中–高AutoGen, LangGraph自主任务协作

表 4.3:MAS 架构对比总结

架构的选择(集中式、去中心化或混合式)取决于应用的复杂度、对控制的需求,以及期望的自主程度。

智能体通信范式

智能体必须共享信息,才能有效协作。通信是 MAS 协作的基础。本节考察基于 LLM 的 MAS 的三种主要通信范式:消息传递(message passing)黑板系统(blackboard systems)共享内存或环境(shared memory or environment)

消息传递(Message passing)

消息传递是一种直接的点对点通信范式,智能体显式地相互发送消息。在基于 LLM 的 MAS 中,这些消息通常是自然语言,并辅以结构化元数据或提示词。Foundation for Intelligent Physical Agents(FIPA)Agent Communication Language(ACL) 是这类消息的一种常见标准。

通信工作流如下:

  • 每个智能体向特定接收者发送消息。
  • 消息可包含指令、查询、反馈或任务结果。
  • 智能体利用其 LLM 能力解释消息并作出响应。

其优点如下:

  • 发送者—接收者关系清晰。
  • 易于追踪通信流。
  • 适合任务委派和反馈闭环。

其挑战如下:

  • 需要定义良好的消息格式以避免歧义。
  • 在智能体数量多且通信频繁时会变得复杂。

例如,在一个多智能体编码助手中:

  • Planner agent → coder agent:Please implement a function to sort a list.
  • Coder agent → reviewer agent:Here is the code. Can you check for edge cases?

可参考以下最佳实践:

  • 使用提示模板(prompt templates)实现一致的消息格式。
  • 在消息中嵌入上下文以保持连续性。

黑板系统(Blackboard systems)

黑板系统是一种间接通信方式,它使用共享数据空间,智能体在其中发布信息、假设或部分解。其他智能体从该空间读取内容并贡献自己的见解。这种范式支持异步且松耦合的协作,对多方参与的复杂问题求解非常有用。

通信工作流如下:

  • 智能体向中央黑板(例如向量数据库或共享文档)写入和读取信息。
  • 无直接消息传递,智能体对共享空间中的变化作出反应。

黑板系统的优点如下:

  • 解耦智能体,允许灵活参与。
  • 支持涌现行为与迭代优化。
  • 能很好支持多样化智能体角色扩展。

其挑战如下:

  • 需要机制管理数据一致性与相关性。
  • 若缺少协调,可能产生冗余或相互冲突的贡献。

例如,在一个虚拟研究团队中:

  • 研究智能体将研究发现发布到黑板。
  • 摘要智能体读取并压缩这些信息。
  • 写作智能体基于所有贡献汇编最终报告。

可参考以下最佳实践:

  • 使用嵌入(embeddings)对黑板内容进行语义检索与召回。
  • 对条目进行自动标注与分类。

共享内存或环境(Shared memory or environment)

在这种范式中,智能体通过修改共享环境或记忆进行隐式交互。其他智能体观察这些变化并相应调整行为。通信是隐式的;智能体通过自己的行动“说话”。

通信工作流如下:

  • 智能体感知共享状态,并基于该状态采取行动。
  • 不交换显式消息。
  • 常见于仿真、游戏或协作工作空间。

其优点如下:

  • 对在共同空间中运行的智能体来说自然且直观。
  • 降低通信开销。
  • 支持实时协调。

其挑战如下:

  • 需要稳健的状态追踪与同步机制。
  • 难以追踪动作背后的意图或推理过程。

例如,在协作写作系统中,多个智能体编辑同一份共享文档,无需直接消息传递即可共同贡献内容。

可参考以下最佳实践:

  • 使用带变更追踪的实时更新。
  • 与 LangGraph 或 AutoGen 等工具集成以进行环境建模。

下表给出了三种通信范式的对比总结:

范式通信类型耦合度最佳用例最佳实践
消息传递直接紧耦合任务委派、反馈闭环提示模板、结构化消息
黑板系统间接松耦合协作式问题求解语义记忆、标签化
共享内存或环境隐式非常松耦合实时协调、仿真上下文缓冲、共享文档

表 4.4:通信范式对比总结

选择合适的通信范式,或组合多种范式,取决于系统目标、智能体角色与交互复杂度。通过利用自然语言、共享记忆与结构化协调,开发者可以构建既智能又具协作能力的 MAS。

构建高效的多智能体系统

MAS 的效率并不仅仅关乎速度。它还涵盖智能化任务执行、资源优化、最小化冗余以及可扩展协作。在基于 LLM 的 MAS 场景中,构建一个高效系统意味着:在保持模块化与适应性的同时,设计能够高效推理、通信与协同的智能体。本节概述构建高性能多智能体系统的策略与最佳实践。

明确定义智能体角色与职责

效率始于清晰性。每个智能体都应具有与系统整体目标相一致的明确角色。每个智能体应有特定的目的、能力边界以及交互边界。应避免职责重叠,以减少混乱和重复劳动。

以下是最佳实践:

  • 使用基于角色的模板(例如:planner、researcher、coder、reviewer)。
  • 为智能体分配领域专长(例如:法律、医疗、技术)。
  • 确保各智能体目标一致,避免产生相互冲突的动作。

例如,在一个法律文档审查 MAS 中,一个智能体负责提取条款,另一个负责合规检查,第三个负责总结发现。

优化通信协议

高效通信是 MAS 的骨干。通信开销可能成为 MAS 的主要瓶颈。智能体必须交换信息、协商任务并同步动作。高效系统会采用结构化、目标明确的交互,并尽量减少不必要的“闲聊”。

参考以下最佳实践:

  • 使用自然语言 + 结构化提示词(structured prompts)以提升清晰度。
  • 实现消息路由(message routing),避免广播无关信息。
  • 使用共享内存或黑板系统进行异步协作。

例如,协作撰写研究论文的多个智能体将研究发现发布到共享看板,从而减少点对点消息流量。

高效的任务分配与协调

高效 MAS 会根据智能体能力、工作负载与上下文动态分配任务。协调机制则确保各智能体协同一致地工作。

相关技术如下:

  • 基于能力的路由(Capability-based routing) :将任务分配给最适合的智能体。
  • 协商与竞价(Negotiation and bidding) :智能体提出方案并竞争任务。
  • 反思循环(Reflection loops) :智能体彼此批评并改进输出。

例如,在一个多智能体编码助手中,规划器会根据智能体的历史表现和成功率来分配任务。

模块化与可扩展架构

模块化使智能体能够被独立开发、测试与部署。可扩展性则确保系统在增长时不会出现性能退化。

参考以下最佳实践:

  • 使用微智能体架构(micro-agent architecture):小而专注、可组合的智能体。
  • 采用混合控制模型:集中式规划 + 去中心化执行。
  • 利用 AutoGen、LangGraph 或 CrewAI 等框架进行编排。

例如,一个客服 MAS 可通过新增账单、技术问题、反馈分析等专用智能体来实现扩展。

最小化冗余与冲突

冗余动作和冲突决策会浪费资源并降低系统可靠性。

可考虑以下方案:

  • 使用共享内存追踪已完成任务。
  • 实现冲突解决协议(例如:投票、仲裁)。
  • 使用可观测性工具监控智能体行为。

例如,摘要智能体在生成新摘要前会先检查黑板内容,以避免重复生成。

性能监控与反馈循环

高效 MAS 会持续监控性能,并基于反馈进行调整。

相关工具与技术如下:

  • 日志与追踪(Logging and tracing) :追踪智能体交互与结果。
  • 指标仪表盘(Metrics dashboards) :可视化任务完成率、延迟与错误。
  • 自评估智能体(Self-evaluation agents) :评估自身输出并请求修订的智能体。

例如,一个 QA 智能体会标记低置信度输出,并触发负责智能体进行重试。

明智地利用 LLM 能力

LLM 功能强大,但资源消耗高。高效 MAS 会有策略地使用它们。

参考以下最佳实践:

  • 使用提示压缩(prompt compression)以减少 token 消耗。
  • 缓存高频查询与响应。
  • 将 LLM 与符号系统或基于规则的智能体结合,用于结构化任务。
  • 对简单任务用小语言模型(SLM)替代 LLM。

例如,一个混合型 MAS 用 LLM 做推理,用基于规则的智能体做校验与合规检查。

为安全可靠的 MAS 设置护栏(Guardrails)

护栏对于确保多智能体系统安全、合规并在定义边界内运行至关重要。高效 MAS 会集成护栏机制,以防止滥用、保护敏感数据并保持与用户意图的一致性。

可参考以下最佳实践:

  • 使用相关性分类器(relevance classifiers),确保智能体响应聚焦于预期领域。
  • 实施安全过滤器(safety filters)以检测并拦截提示注入(prompt injection)或越狱尝试(jailbreak attempts)。
  • 应用 PII 过滤器,防止暴露个人信息或敏感信息。
  • 按风险等级对工具进行分级,并对高影响动作要求审批。
  • 对敏感决策或重复失败场景引入 human-in-the-loop 机制。

例如,一个客服 MAS 使用 moderation API 来拦截有害内容。如果系统检测到重复失败或高风险请求(例如取消订阅),则升级给人工客服进行审核。

实施建议(Tips for implementation)

可参考以下实施建议:

  • 从简单开始(Start simple) :先构建最小可行 MAS,再逐步增加复杂度。
  • 模拟与测试(Simulate and test) :通过仿真在不同配置下评估性能与可扩展性。
  • 监控与适配(Monitor and adapt) :部署可观测性工具监控智能体行为,并动态调整策略。
  • 使用成熟框架(Use proven frameworks) :使用 AutoGen、LangGraph 或 CrewAI 等 MAS 框架来管理复杂度与可扩展性。
  • 优化成本与时延(Optimize for cost and latency) :在可能的场景下用 SLM 替代 LLM,因为并非所有任务都需要最强模型。
  • 关注数据隐私与内容安全(Focus on data privacy and content safety) :设置必要的护栏以管理数据隐私风险与声誉风险。

多智能体编码助手的实践示例

为了说明基于 LLM 的多智能体系统在实践中的应用,我们给出一个详细的编码助手示例,该助手旨在自动化并优化软件开发工作流。该系统整合了前文讨论的架构原则与实现策略,并使用 CrewAI 框架来编排专用智能体之间的智能协作。

问题定义

这个多智能体编码助手旨在模拟真实世界的软件开发工作流。它利用一组由 LLM 驱动的智能体,每个智能体具有不同角色,以自主完成代码规划、生成、测试与调试。系统的核心目标是:基于用户定义的目标,通过自然语言通信与模块化协作,产出高质量、可运行的代码。

系统设计

为实现这一目标,系统围绕四个专用智能体进行设计,每个智能体负责开发生命周期中的不同阶段。

智能体角色与职责

不同智能体的角色与职责如下:

Planner agent(规划智能体)

  • 作为中央编排者(central orchestrator)。
  • 解析用户输入(例如:构建一个用于用户认证的 REST API),并将其拆解为离散子任务,例如端点设计、数据校验和错误处理。
  • 根据智能体专长与当前工作负载分配任务。
  • 跟踪进度,并确保所有子任务完成并被集成。

Coder agent(编码智能体)

  • 利用 LLM 能力将任务规格转换为可执行代码。
  • 可调用外部工具或 API(例如 OpenAI functions、LangChain tools)来获取文档、生成样板代码(boilerplate code)或查询数据库。
  • 将生成的代码发布到共享内存中,以便审查与测试。

Tester agent(测试智能体)

  • 自动生成与代码相匹配的单元测试和集成测试。
  • 在沙箱环境中执行测试并评估结果。
  • 标记失败用例,并向调试智能体提供诊断反馈。

Debugger agent(调试智能体)

  • 分析测试失败、运行时异常和性能瓶颈。
  • 利用推理能力识别根因并提出修复方案。
  • 与编码智能体协作,迭代修改并改进代码。

这些智能体通过一个定义清晰的通信流程进行交互,模拟协作式软件工程实践。

工作流与通信流程

系统遵循一个顺序化但灵活的工作流,具体如下:

  1. 规划智能体接收用户请求,将其拆解为子任务,并分派子任务。
  2. 编码智能体生成代码并转发给测试智能体。
  3. 测试智能体运行验证;如有必要,调用调试智能体。
  4. 调试智能体提出或应用修复,并与编码智能体协作进行修订。
  5. 最终输出会被审查,并返回给规划智能体进行交付。

该工作流由多种通信范式共同支撑,以确保清晰性与适应性兼顾。

通信范式

智能体之间可使用以下通信方式进行交互:

  • 消息传递(Message passing) :智能体直接交换结构化提示与响应,实现精确任务委派与反馈。
  • 黑板系统(Blackboard system) :共享知识库(例如向量数据库或文档存储)允许智能体异步发布发现、代码片段和测试结果。
  • 共享内存(Shared memory) :一个中心化环境,智能体可在其中读写代码工件、日志和元数据,从而支持实时协同。

架构风格

该助手采用混合型 MAS 架构(hybrid MAS architecture) ,具体如下:

  • 集中式规划(Centralized planning) :由规划智能体负责任务拆解与分配。
  • 去中心化执行(Decentralized execution) :编码、测试与调试智能体自主运行,进行局部决策,并通过共享上下文协作。

这种混合模型在控制力与灵活性之间取得平衡,使系统既能高效执行任务,也能动态适应需求变化。

实现

该实现利用现代智能体编排框架与稳健的软件工程实践,以确保可靠性与可扩展性。参考如下:

框架与工具链(Framework and tooling)

  • 使用 CrewAI(Agentic AI 框架) 来定义智能体角色、管理工作流并协调交互。
  • 集成 OpenAI functionsLangChain tools,用于外部 API 访问、工具调用以及增强推理能力。

错误处理与重试机制(Error handling and retry mechanisms)

  • 编码智能体包含重试逻辑,用于处理不完整或语法无效的代码。
  • 调试智能体可基于更新后的上下文或反馈再次尝试修复。
  • 规划智能体监控任务状态,并重新分配失败或卡住的子任务。
  • 测试智能体会标记低置信度结果,并触发重新评估循环。

日志与可观测性(Logging and observability)

  • 中心化日志系统记录所有智能体交互、决策与输出。
  • 实时仪表盘可视化任务完成率、错误频率与智能体响应时间。
  • 自评估智能体用于评估输出质量,并在需要时发起修订。

输出与评估

为了衡量系统有效性,使用了多项性能指标和输出示例:

成功指标(Success metrics)

  • 代码准确率(Code accuracy) :衡量无需人工干预即可通过全部测试的代码占比。
  • 测试平均度(Test average) :评估生成测试用例在功能场景与边界场景上的覆盖全面性。
  • 协作效率(Collaboration efficiency) :追踪智能体交接与交互的数量和质量。
  • 延迟(Latency) :记录完成每个任务循环所需的平均时间。
  • 重试率(Retry rate) :表示因失败或低置信度导致任务被重新分配或重试的频率。

输出示例(Example outputs)

  • 生成代码(Generated code) :用于排序、API 实现或算法任务的 Python 函数。
  • 测试结果(Test results) :覆盖空输入、非法类型等边界条件的单元测试。
  • 调试日志(Debug logs) :详细错误追踪、根因分析与修复建议。

多智能体编码助手展示了如何编排基于 LLM 的 MAS,以复制并增强现实中的软件开发工作流。通过为智能体分配专门角色,并通过消息传递、共享内存与黑板系统实现结构化通信,该助手实现了模块化、可扩展性与智能协作。在混合架构下,集中式规划与去中心化执行兼顾了控制力与灵活性;同时,CrewAI 与稳健工具链的集成支持动态任务管理。借助内置的错误处理、可观测性与性能评估机制,该系统不仅能自动化编码任务,还能保持可靠性与适应性。

结论(Conclusion)

MAS 代表了一种构建智能应用的变革性方法:通过将任务分发给专门智能体,而非依赖单一智能体,实现更高效的系统构建。本章探讨了支撑基于 LLM 的 MAS 的基础概念、架构风格、通信范式与实现策略。通过利用模块化、专业化和结构化协作,MAS 为跨领域复杂问题求解提供了可扩展且具适应性的解决方案。

我们考察了集中式、去中心化与混合式架构,它们在控制性、可扩展性与韧性方面各有权衡。消息传递、黑板系统与共享内存等通信范式使智能体能够高效协作;而 CrewAI、AutoGen 等编排框架则支持动态任务执行。我们也强调了护栏(guardrails)的重要性,以确保智能体行为安全、合规、可靠,尤其是在生产环境中。

多智能体编码助手这一实践示例展示了这些原则如何在真实应用中协同生效。该示例凸显了 MAS 在保持透明性、可观测性与性能的同时,复制类人协作与决策能力的潜力。随着 MAS 持续演进,其以最少人工干预处理更复杂工作流的能力,将重新定义智能系统的设计与部署方式。

在下一章中,我们将把重点从协作型多智能体系统转向完全自主的 AI 智能体。这类智能体旨在无需直接人工监督的情况下独立运行、自主决策、执行任务,并适应变化中的环境。

要点回顾(Points to remember)

  • 多智能体系统(MAS)通过将任务分发给专门智能体来构建智能应用,从而提升模块化、可扩展性与控制能力。
  • MAS 的核心组件包括智能体、环境、交互机制和通信协议。
  • MAS 的关键特征包括自主性、通信、协调、协作和可扩展性。
  • 架构风格包括集中式、去中心化和混合式。混合式通常更优,因为它将集中式规划与去中心化执行结合起来,兼具灵活性与稳健性。
  • 通信范式包括消息传递、黑板系统和共享内存。
  • 高效的 MAS 设计需要定义清晰的智能体角色与职责,优化通信协议,并持续进行性能监控与反馈循环。
  • 为了优化成本与时延,应将 LLM 与小语言模型(SLM)及基于规则的智能体结合使用。
  • 护栏(guardrails)对于构建安全可靠的 MAS 至关重要。
  • 对高风险或不确定场景,应实现 human-in-the-loop 机制。
  • CrewAI 等 Agentic AI 框架可用于结构化工作流、智能协作与稳健编排。

关键术语(Key terms)

Multi-agent system (MAS,多智能体系统) :由多个智能体组成的系统,这些智能体通过协作或竞争来解决复杂问题。

Large language model (LLM,大语言模型) :一种预训练神经网络模型,能够理解并生成类人文本,是许多 AI 智能体的核心。

Small language model (SLM,小语言模型) :一种紧凑型神经语言模型,针对低延迟、低成本、上下文需求有限的任务进行优化。

Agent communication language (ACL,智能体通信语言) :智能体用于交换结构化消息以实现协调与协作的标准化语言。

Foundation for Intelligent Physical Agents (FIPA,智能物理体基础组织/标准) :IEEE 标准之一,定义了 MAS 中智能体互操作与通信的协议和规范。

Guardrails(护栏) :用于约束智能体行为、防止滥用并确保与用户意图及伦理标准保持一致的安全机制。

LangChain:一个用于构建 LLM 应用的框架,通过将记忆、工具、智能体等组件串联起来支持复杂工作流。

AutoGen:一个用于创建基于 LLM 的多智能体系统的框架,通过可定制的交互循环实现智能体自主协作。

LangGraph:一个面向 LLM 智能体的图编排框架,支持跨智能体网络的动态控制流与有状态交互。

CrewAI:一个用于编排多智能体工作流的框架,可定义智能体角色并管理基于 LLM 系统中的交互。

ChatDev:一种模拟式去中心化多智能体系统,建模为“虚拟软件公司”,智能体通过类聊天接口协作构建和测试软件。

参考文献(References)

Liu B., et. al. (2025): Advances and Challenges in Foundation Agents: From Brain-Inspired Intelligence to Evolutionary, Collaborative, and Safe Systems. arXiv:2504.01990.

Tran K.T., et. al. (2025): Multi-Agent Collaboration Mechanisms: A Survey of LLMs. arXiv:2501.06322.

LangGraph multi-agent systems article(URL: langchain-ai.github.io/langgraph/c…

Microsoft Multi-Agent Reference Architecture(URL: github.com/microsoft/m…

What is Agentic AI Multi-Agent Pattern? - Analytics Vidhya(URL: www.analyticsvidhya.com/blog/2024/1…

OpenAI - A practical guide to building agents(URL: cdn.openai.com/business-gu…

Building Effective AI Agents - Anthropic(URL: www.anthropic.com/research/bu…

Building Your First Multi-Agent System: A Beginner’s Guide(URL: machinelearningmastery.com/building-fi…

LLM-Powered Agents and Multi-Agent Systems | by Vinit Shah – Medium(URL: medium.com/@shah.v.vin…