问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

2025 AI Agent(多智能体)平台设计和技术实现指南

创作时间:
作者:
@小白创作中心

2025 AI Agent(多智能体)平台设计和技术实现指南

引用
1
来源
1.
https://www.53ai.com/news/LargeLanguageModel/2025032418092.html

多智能体系统(Multi-Agent System)是AI领域的一个重要研究方向,它通过多个智能体之间的协作来完成复杂的任务。本文将深入解析多智能体系统的整体流程、所需能力以及技术实现的关键模块,帮助读者理解这一前沿技术的核心原理。

随着LLM推理能力的不断提升,多智能体系统已经可以落地了。Manus就是一个很好的例子,表现出的能力让用户惊叹。相较于“传统”的聊天机器人,比如kimi和ChatGPT,多智能体系统在复杂任务的处理上能力更加强大。

整体架构

一个简化的多Agent系统如下图所示:

具体流程:

  1. 用户输入要做的任务。
  2. 任务规划Agent将任务拆解成一系列的子任务,并建立一个相应的工作流。工作流和把大象关进冰箱分三步类似,就是每步都做什么,要提前编排好。
  3. 根据每步工作任务的不同,选择对应的Agent来完成相应的工作。比如有做网络搜索的Agent,有写代码的Agent。
  4. 一步步的完成任务,每一步的结果会储存起来,作为后续要发给用户回复的一部分。
  5. 每一步中都有Agent来复核任务完成情况,如果完成就进行下一步。

概括一下,流程其实很好理解:
用户输入 → AI规划 → 多智能体执行 → 交付输出。

为了实现这个流程,需要系统具备相应的能力。

系统所需能力

  1. 推理能力

Agent可以逐步推理问题,采用“思维链”(Chain of Thought)方法来确定所需的中间步骤或信息。比如用户问,找出5000元以内最适合拍照的手机,Agent会在内部推理:为了回答这个问题,我需要比较该价格范围内手机的摄像头参数,或许还要搜索最新的评测。

  1. 规划能力

复杂任务需要精确的规划。Agent将高层次目标拆解为可管理的步骤,并按顺序完成目标。

当用户提出复杂任务请求(如“对比分析不同旅游保险的政策”),Agent会先制定计划,例如:

  1. 创建分析所需的目录结构

  2. 从PDF文档中提取内容

  3. 确定对比的关键维度

  4. 按照关键维度分析每份保险政策

  5. 创建对比表并整理分析结果

  6. 格式化并最终定稿对比文档

  7. 验证对比结果的准确性

  8. 向用户交付最终的对比分析

  9. 工具调用能力

为了应对各种不同的任务,多Agent系统需要有多样的工具调用能力。比如:
Web浏览 & API访问:如搜索引擎、数据库查询、开放API调用。
代码执行环境:Python、Shell、C++,支持动态编程与计算任务。
数据处理工具:如Pandas进行数据分析、Matplotlib生成可视化图表。

  1. 长文本处理能力

每一步任务都会产生一定的文本,有可能是由Agent内置的模型生成的,也可能是通过搜索获取的。每一步积累下来,文本的长度会越来越长,此外,部分任务就可能会产生很长的文本,比如搜索。所以要求整个系统要有足够强的长文本处理能力,才能保证任务一步步的顺利执行。

  1. 记忆能力

为了保证复杂任务的正确完成,系统还需要有记忆能力。这样做有两个好处,确保Agent在多轮对话和复杂任务中保持长期一致性,还可以记住用户偏好、历史任务,甚至优化自身策略。

  1. 协同能力

多Agent系统是由多个智能体(Agent)构成,这些智能体可以相互交互、协作或竞争,以共同完成复杂任务。协同能力是指这些智能体能够通过信息共享、任务分工、决策一致性等方式高效合作,从而提高整体系统的效率和鲁棒性。

技术实现

多智能体系统(Multi-Agent System, MAS)通常由以下几个模块构成。

任务规划模块

任务规划Agent:这是整个系统的“大脑”和协调者,负责理解用户复杂需求,拆解成可管理的子任务,并将其分配给合适的智能体执行任务规划Agent。首先对用户请求进行语义解析和推理,确定需要哪些步骤和知识领域,然后制定任务规划图或列表。在规划过程中应遵循可解性、完整性和非冗余三大原则:确保每个子任务都有可用的Agent解决(可解性)、所有需求都被覆盖(完整性),且不同Agent的职责不重复冲突(非冗余)。例如,面对“撰写跨城市旅游行程并估算预算”的请求,规划Agent会拆分为航班预定、酒店预定、景点行程、费用汇总等子任务,并指派给相应的信息或内容Agent处理。它还需确定执行顺序与依赖关系(如先出航班再定酒店),并在过程中监督各Agent的进展与质量。总体而言,任务规划Agent是多智能体系统成功的关键支柱,保证团队运作井然有序。

执行模块

这里要多说一句,有一些企业用的多Agent系统会根据业务场景来设置Agent,比如一个Agent是查询价格的,那这个Agent就只干这一件事。我们今天在这里说得执行Agent,实际上是通过对各种任务的抽象,提炼出的。比如很多任务可能都要做信息查询、数据分析,那我们就设置对应的Agent。

信息收集Agent:负责在线数据检索、筛选和整理。在用户提出需求后,该智能体首先通过网络搜索、数据库查询等途径获取相关资料,并过滤无关或低质量信息,然后将有价值的信息摘要提供给其它智能体参考。例如,在撰写研究报告场景中,信息收集Agent会检索论文文献和最新数据。借助网络搜索API、问答数据库等工具,该Agent扩展了LLM的知识范围,确保决策基于最新可信的数据。

代码生成Agent:负责编写代码、调试和性能优化。对于需要编程的任务(如游戏开发、数据分析中的脚本编写),该智能体充当“软件工程师”。它利用大模型生成初始代码,然后通过测试用例和调试工具进行验证和改进,从而提高代码正确性和效率。最佳实践是让代码Agent多次迭代:生成代码→执行测试→根据错误反馈修正。这种循环避免了一次性生成错误代码的风险,确保最终代码可以正确运行并满足需求。在多智能体协作中,代码Agent还应与数据分析Agent配合,例如根据分析需求编写数据处理脚本,或与内容创作Agent协商输出格式等。

数据分析Agent:承担数据清洗、分析和可视化任务,相当于“数据科学家”。当任务涉及数据处理(如股票行情分析或实验结果解读)时,该智能体使用统计工具或编程环境对数据进行整理,并提取有意义的结论。例如,它可调用Python分析库执行清洗和统计计算,生成图表或指标。在多Agent平台中,数据分析Agent可以从信息收集Agent获取原始数据集或从代码Agent获取数据抓取脚本,然后独立完成分析管道。分析结果(如趋势图、关键发现)将提供给内容创作Agent,用于撰写报告结论,或直接通过用户交互Agent展示给用户。由于数据分析往往涉及繁重计算,该Agent也可以并行处理多个数据子集,提高效率。

内容创作Agent:扮演“文案作者”角色,负责撰写和润色报告、生成文档内容、制作演示稿等。它接收其他Agent提供的素材(信息、数据、代码结果),根据任务需求组织成为连贯的文字或多媒体内容。例如,在研究报告场景中,内容Agent参考信息Agent搜集的资料和数据Agent的分析结果,起草报告各章节。内容创作Agent利用LLM强大的自然语言生成能力完成初稿,然后可通过多轮自主完善或与其他Agent协商来优化文案质量。一种最佳实践是引入逐步细化机制:初稿生成后,内容Agent根据项目最新信息再次修改完善,以确保各部分内容前后一致、全面准确。

验证模块

验证Agent:负责结果校对与反馈循环。它在执行Agent完成每个关键步骤后,对结果进行检查验证,判断是否符合预期或任务要求。如果发现结果不准确或不充分,验证Agent会将信息反馈,让系统进行调整(例如重新规划某一步骤或改用其他方法)。这一机制保证了任务的正确性,提高最终成果质量。例如在体验Manus的过程中,会看到它“不断回顾矫正”自己的过程,就是验证Agent在发挥作用。

记忆模块

记忆模块存储的信息包括:为了在复杂任务中高效运行,系统包含一个记忆存储和知识库。这可以作为短期内存(用于存储当前任务的上下文)与持久数据库(用于跨会话存储长期记忆)的组合实现。对话或任务历史、完成的子任务结果,以及智能体收集的任何相关事实。对于长期知识存储,可能会使用向量数据库或索引存储库,以保存有用信息或过去的解决方案。例如,如果用户之前运行过市场分析,平台可能会存储关键发现,以便将来进行相关查询时可以检索这些数据,而不必重新搜索。

沙盒环境

在沙盒环境中,Agent可访问标准LinuxOS,拥有文件系统以读取/写入数据。Agent还可以运行独立进程,执行脚本或命令行操作。沙盒环境支持HTTP请求,Agent可进行网页浏览、数据抓取、API访问。此外,沙盒内置常用工具(Python、Node.js、Shell、Git等),可立即执行数据分析、自动化脚本等任务。Agent可根据任务需求安装额外软件(如pipinstall、apt-get),动态扩展能力。

工具

Agent可以通过调用各种工具来拓展自身的能力。常见的一些工具如下:
Shell工具:执行命令行指令(如文件管理、软件安装、系统操作)。
文本编辑器工具:打开、编辑、保存文件(用于编写代码或文档)。
浏览器工具:进行网页搜索、爬取数据、获取实时信息。
图形设计工具:用于生成数据可视化、编辑图像或创建演示文稿。
API适配工具:如翻译API、天气API、金融数据API,使Agent能访问实时信息。

Agent“知道”有哪些工具可用,并通过预定义API或函数进行调用。当出现一些新的需求时,新功能可直接作为新工具集成,例如:现在有了一个新的高级统计分析需求,我们可以添加R语言计算模块,使Agent可直接调用。

通信机制

在多Agent系统中必须要建立统一的通信框架,可以采用集中式消息池或总线,让Agent通过发布订阅共享信息。这样一来,不同Agent的输出可以被需要的Agent直接读取,无需冗长的请求应答,减少延迟。例如,规划Agent将计划发送给各执行Agent时,可以是一条结构化的指令;执行Agent完成一步后将结果发送给验证Agent审核。

智能体循环(Agent Loop)机制

这种基于循环的方法类似于ReAct(Reason+Act,即推理+行动)范式,其中Agent在“思考”(用自然语言推理问题)和“行动”(执行工具或提供最终答案)之间交替进行。Agent Loop机制确保智能体能够通过将复杂任务拆解为增量步骤,并对新观察结果作出反应,从而有效处理复杂任务。其循环为分析➜决策➜行动➜观察,类似于人类处理复杂项目的方式:评估情况、采取行动、查看结果,并逐步收敛到解决方案。流程如下:

1. 分析事件:Agent首先分析最新的事件流,其中包括用户的query以及之前工具执行过程中产生的任何新信息。简而言之,它会读取对话内容以及上一步操作的结果,以更新对当前状态的理解。例如,如果用户刚刚提供了一个数据集文件,或者上一步执行返回了错误,这些都是Agent需要考虑的“事件”。Agent会在内部生成一个“思考”过程,例如:“用户请求了X,我在上一步得到了数据Y,接下来需要做什么?”这一阶段的核心是理解——确保Agent明白用户的需求,并清楚当前的任务进展。

2. 选择工具:基于更新后的理解,Agent决定下一步行动,并选择合适的工具。这一决策是Agent推理的核心部分:它会权衡目标和当前上下文,以确定最佳的执行方式。例如,Agent可能会思考:“我需要更多关于主题Z的信息,我应该使用浏览器工具进行搜索”或“我有一个假设,让我运行Python脚本来验证它。”系统需要限制Agent每次迭代只能选择一个工具(防止Agent一次性执行过多操作),这与ReAct策略中“每次执行一个动作”的方法一致(Plan-and-ExecuteAgents)。Agent不仅决定使用哪个工具,还会生成具体的参数或输入。

3. 等待执行:一旦Agent决定执行某个操作,平台将在沙盒环境中执行该操作。在执行期间,Agent进入等待状态。所选择的工具将执行任务:如果是shell命令,它将运行至完成;如果是网页搜索,则会发送查询并获取结果。该执行过程由平台的后端处理,与操作系统或外部API进行交互。重要的是,任何工具的输出或执行结果都会被捕获。例如,浏览器工具会返回网页的文本内容,或者在网站无法访问时返回错误信息。Agent在获取结果之前“看不到”执行过程,这避免了其在执行过程中受到干扰或过早采取进一步行动。

4. 迭代:工具执行的结果会作为新的事件(观察)反馈到Agent的事件流中。Agent会将这一观察结果与先前的上下文一起分析。如果任务尚未完成,则循环继续:Agent利用新的信息决定下一步行动。例如,如果搜索查询返回了多篇文章,Agent会阅读(总结)这些文章,并可能决定进行另一次搜索以获得更清晰的信息。这个迭代的“感知—思考—行动”循环持续进行,Agent逐步构建解决方案。这种设计确保Agent会不断重复这些步骤,并在过程中动态更新计划,直到它认为已实现用户目标或没有合理的操作可执行。

5. 提交结果:当Agent完成所有必要步骤(无论是因为得出了答案/解决方案,还是用户指示其停止)后,它会准备最终结果。Agent会汇总其工作的输出——这可能是一份报告文档、一组文件(如代码或图片),或者是一个正在运行的应用程序,并通过消息界面将其发送给用户。除了主要的交付内容外,Agent还可以提供相关文件作为附件(例如,它编写的源代码,或一份包含报告的PDF)。最终的答案会以清晰的格式呈现,例如使用项目符号或表格来展示数据,并在进行研究类回答时提供参考文献。本质上,在这一阶段,Agent“展示其工作成果”,从而完成整个执行循环。

最后,文艺一下。
现在吸入的是1999年亚马逊仓库的灰尘,未来呼出的是2035年你响彻纳斯达克的声浪。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号