什么是 AI Agent(智能体)?

最近看到很多大厂都开始做智能体,什么是智能体,有哪些使用场景,小白如何学习智能体呢?
收藏者
0
被浏览
93

5 个回答

o111 LV

发表于 2025-4-9 18:10:51

AI 智能体、智能化 AI、智能化架构、智能化工作流。智能体(Agents)无处不在。但它们到底是什么?它们真的能做些什么吗?
新技术往往伴随着混乱的术语、夸张的期望,以及大量自封的网络专家。在本文中,我们将剥去围绕 AI 智能体的噪音与炒作,深入解析智能化 AI 的一个核心原则:智能化工作流(Agentic Workflows)
单独来看,智能体的能力十分有限。它们需要被赋予角色目标结构,才能有效地实现目标。这正是工作流的作用所在。
理解智能化工作流,可以帮助你理解 AI 智能体的运行方式及其背后的逻辑。为此,我们将探讨 AI 智能体的核心组成部分,为你提供智能化工作流的清晰定义,解释什么使得工作流具备智能性,深入剖析智能化工作流的关键模式,并通过实际案例和应用场景展示其优势和挑战。
1. 什么是 AI 智能体?

AI 智能体(AI Agents)是结合了大语言模型(LLM)进行推理与决策,并配备工具以实现现实世界交互的系统,使其能够在有限的人类干预下完成复杂任务。智能体通常被赋予特定的角色,并根据需求被设定不同程度的自主性,以实现最终目标。此外,它们还具备记忆能力,能够从过去的经验中学习,并随着时间推移不断提升自身性能。
如果你想深入了解 AI 智能体的历史及其构建工具,可以查看我们的博客文章:《简化智能体:AI 语境中的智能体究竟是什么?》[1]
为了更好地理解 AI 智能体在智能化工作流中的角色,我们接下来将探讨 AI 智能体的核心组成部分。
1.1 AI 智能体的组成部分

尽管 AI 智能体被设计为半自主决策系统,但它们依赖于一个更大的组件框架来正常运行。这个框架包括:大语言模型(LLM),使智能体能够进行有效的推理;工具(Tools),帮助智能体完成任务;以及记忆(Memory),使智能体能够从过去的经验中学习,并随着时间的推移优化响应。

什么是 AI Agent(智能体)?-1.jpg


AI 智能体的组成部分

推理(Reasoning)

AI 智能体的高效性部分源于其**迭代推理(iterative reasoning)**能力,使其能够在整个问题解决过程中持续“思考”。智能体的推理能力主要依赖于底层 LLM,并执行两项核心功能:规划(planning)和反思(reflecting)
规划阶段,智能体进行任务分解(task decomposition),即将复杂问题拆解为更小、更易执行的步骤。这种方法不仅使智能体能够系统地执行任务,还允许它为不同的任务使用不同的工具。此外,智能体还可以进行查询分解(query decomposition),即将复杂查询拆解为更简单的查询,以提高 LLM 生成响应的准确性和可靠性。
智能体还通过**反思(reflecting)**自身行为的结果进行推理。这使其能够评估任务执行情况,并根据外部数据源的信息,动态调整下一步的行动计划。
工具(Tools)

LLMs 的知识是静态的,仅限于训练过程中编码的信息。为了扩展能力,使其超越原始数据集,智能体可以利用外部工具(如网络搜索引擎、API、数据库和计算框架)。这意味着智能体可以访问实时的外部数据,指导决策并完成需要与其他应用交互的任务。
工具通常伴随权限管理,如查询 API、发送消息、访问特定文档或数据库结构等。下表列出了一些常见的 AI 智能体工具及其执行的任务:
工具任务
网络搜索(Internet search)检索和总结实时信息。
向量搜索(Vector search)检索和总结外部数据。
代码解释器(Code interpreter)迭代执行智能体生成的代码。
API获取实时信息,并与外部服务和应用交互。
当 LLM 选择某个工具来帮助完成任务时,它会执行一种称为**函数调用(function calling)**的行为。这种方式使 LLM 能够超越单纯的文本生成,真正实现与现实世界的交互。
工具的选择可以由终端用户预先定义,也可以由智能体动态决定。让智能体自主选择工具有助于解决更复杂的任务,但对于较简单的工作流而言,预定义工具通常更加高效,可避免不必要的复杂性。
记忆(Memory)

学习过去的经验记住上下文,是智能化工作流区别于纯 LLM 驱动工作流的重要特性。记忆是 AI 智能体的关键组件,支持智能体在多个用户交互和会话之间存储和调用上下文与反馈信息。智能体的记忆主要包括短期记忆长期记忆两种类型:

  • 短期记忆(Short-term memory) 存储最近的会话信息,如对话历史,使智能体能够确定下一步行动,以完成当前目标。
  • 长期记忆(Long-term memory) 存储随时间积累的信息和知识,涵盖多个会话。这使智能体能够进行个性化调整,并随着使用时间的增长不断优化自身性能。
2. 什么是智能化工作流?

一般而言,工作流(workflow) 是一系列相互关联的步骤,旨在完成特定任务或目标。最简单的工作流是确定性的(deterministic),即遵循预定义的固定步骤,无法适应新信息或变化的环境。例如,一个自动化的报销审批工作流可能是:“如果报销项目被标记为‘餐饮’,且金额小于 $30,则自动审批。”
然而,一些工作流会结合大语言模型(LLM)或其他机器学习技术。这类工作流通常被称为AI 工作流,它们可以是智能化的(agentic),也可以是非智能化的(non-agentic)。在非智能化的 AI 工作流中,LLM 仅根据输入指令生成输出。例如,一个文本摘要工作流可能是:输入一段长文本,LLM 生成摘要并返回结果。但仅仅使用 LLM 并不意味着工作流是智能化的。
2.1 智能化工作流(Agentic Workflow)

智能化工作流是由智能体(Agent)或多个智能体动态执行的一系列任务步骤,以完成特定目标。在智能化工作流中,智能体被赋予权限,允许它们在一定程度上自主收集数据、执行任务,并做出可在现实世界中执行的决策。
智能化工作流依赖 AI 智能体的核心组件,包括:

  • 推理能力(Reasoning):智能体能够拆解任务、制定计划,并根据情况调整执行策略。
  • 工具使用能力(Tool Usage):智能体能够调用外部工具(如 API、数据库、网络搜索)来执行任务。
  • 记忆(Memory):智能体可以存储和利用上下文信息,使工作流更加响应式(responsive)自适应(adaptive),并能随着时间推移不断优化。

什么是 AI Agent(智能体)?-2.jpg


工作流类型

2.2 什么让工作流具备智能性?

当一个或多个智能体参与引导和塑造任务流程时,AI 工作流便变得智能化。将智能体添加到现有的非智能化工作流,可以形成一种混合方法,结合结构化工作流的可靠性与 LLM 的智能性和适应性。
智能化工作流的核心特点:

  • 制定计划(Make a plan):


  • 通过任务分解(task decomposition),LLM 将复杂任务拆解为多个小任务,并确定最佳执行路径。

  • 使用工具执行任务(Execute actions with tools):


  • 智能化工作流使用一组预定义的工具,并搭配权限管理来执行任务,实现计划。

  • 反思与迭代(Reflect and iterate):


  • 智能体能够评估每个步骤的执行结果,并在必要时调整计划,直到获得令人满意的结果。
从这个角度来看,我们可以区分三种不同的工作流:
类型特点
传统工作流(Non-AI Workflow)仅依赖预定义的规则,不使用 AI。
非智能化 AI 工作流(Non-Agentic AI Workflow)依赖 LLM 生成结果,但不具备推理、记忆和自适应能力。
智能化工作流(Agentic Workflow)由智能体动态执行,具备推理、工具调用、记忆与迭代能力。
相比之下,智能化工作流比非智能化工作流更加动态和自适应,能更好地应对变化的环境和任务需求。
2.3 智能化架构 vs. 智能化工作流

每当新技术出现时,都会带来大量新的术语。虽然“智能化架构(Agentic Architectures)”和“智能化工作流(Agentic Workflows)”这两个术语常被混用,但它们实际上有重要的区别。
智能化工作流(Agentic Workflow)智能化架构(Agentic Architecture)
定义:指智能体执行任务所采取的步骤定义:指支持智能体运行的技术框架和系统设计
核心关注点:任务的执行过程,如使用 LLM 进行规划、拆解任务、调用工具、反思结果等核心关注点:系统的整体架构,包括智能体的决策逻辑、工具集成、存储机制等
示例:智能体使用 LLM 规划任务、调用 API 处理数据,并根据反馈调整决策示例:包含智能体、大语言模型、外部工具(API/数据库)和记忆系统的完整 AI 系统
简单来说,智能化架构是支撑智能化工作流的底层系统设计。每个智能化架构都包含至少一个具备决策和推理能力的智能体,配备工具来执行任务,并包含短期和长期记忆模块。
如果你想进一步了解最强大的智能化架构,可以查看这本免费电子书[2],其中包含直观的示例和图解。
3. 智能化工作流中的模式

回顾一下,智能化工作流(Agentic Workflow) 是智能体为完成特定任务(即最终目标)而执行的一系列结构化步骤。因此,当我们讨论智能化工作流时,我们实际上是在讨论智能体实现最终目标的特定行为模式
正如前面提到的,智能体的核心能力在智能化工作流模式中起着关键作用。例如,智能体的推理能力(Reasoning) 使其能够进行规划(Planning)反思(Reflection),而其工具使用能力(Tool Use) 使其能够与外部环境交互,从而提升任务执行能力。
3.1. 规划模式(Planning Pattern)

规划模式 使智能体能够自主地将复杂任务拆解为一系列更小、更简单的子任务,这一过程被称为 任务分解(Task Decomposition)
任务分解可以带来更好的结果,因为它:

  • 降低 LLM 的认知负荷,减少需要一次性处理的信息量。
  • 增强推理能力,使智能体能够更系统地分析问题。
  • 减少幻觉(hallucinations) 和其他可能的错误,提高准确性。
适用场景

规划模式在目标实现方式不明确、问题解决需要高度适应性时特别有效。例如,如果让 AI 智能体修复软件 Bug,它可能会这样拆解任务:

  • 阅读 Bug 报告。
  • 确定相关代码段。
  • 生成潜在问题的列表。
  • 选择合适的调试策略并执行修复。
如果修复失败,智能体可以读取错误信息,调整策略 并再次尝试。
优缺点


  • 优点:适用于复杂任务,能够动态调整策略,提高问题解决能力。
  • 缺点:结果可能不如确定性(deterministic)工作流那样可预测,因此不适用于需要严格控制的任务。

什么是 AI Agent(智能体)?-3.jpg


规划模式

3. 2. 工具使用模式(Tool Use Pattern)

生成式 LLM 的一个主要局限性 是它们依赖于已有的训练数据,因此:

  • 无法获取实时信息(如最新新闻、股票数据等)。
  • 无法验证事实的准确性,可能会“猜测”答案,导致错误信息。
为了克服这些局限性,我们可以使用 检索增强生成(RAG,Retrieval Augmented Generation),让 LLM 访问外部数据,从而提供更准确和有上下文依据的回答。
工具使用模式 vs. 传统 RAG

工具使用模式不仅仅是简单的 RAG,而是允许 LLM 动态地与真实世界交互,而不仅仅是从中检索数据。在智能化工作流中,工具使用模式 扩展了智能体的能力,使其能够:

  • 外部资源应用程序 交互。
  • 获取实时数据 并进行处理。
  • 访问计算资源 以执行复杂计算。
常见工具

智能体可以调用的工具包括:

  • API(如天气查询、地图导航、财务分析等)。
  • 信息检索(如向量搜索数据库)。
  • 网页浏览器(用于网络爬取、查找最新信息)。
  • 机器学习模型(用于预测、分类等任务)。
  • 代码解释器(用于运行 Python 代码等计算任务)。
这些工具可以帮助智能体完成各种任务,例如:

  • 查询网络数据(如新闻、科研论文、实时天气)。
  • 从数据库检索信息(如客户记录、库存数据)。
  • 读取或发送电子邮件(如自动回复客户邮件)。

什么是 AI Agent(智能体)?-4.jpg


工具使用模式

3.3. 反思模式(Reflection Pattern)

反思模式 是一种强大的智能化设计模式,尽管实现起来相对简单,却能显著提高智能化工作流的表现。
反思模式 中,智能体会对自身的输出或决策进行迭代评估,在最终响应或执行下一步操作之前,先对结果进行自我反馈。这些反馈会用于:

  • 优化执行策略,提升准确性。
  • 修正错误,减少失误。
  • 改进未来任务执行,使智能体不断进化。
适用场景

反思模式在智能体首次尝试可能不会成功的情况下尤为重要。例如:

  • 代码生成:智能体可以先生成代码,在沙盒环境中运行,并根据错误信息调整代码,直到正确执行。
  • 复杂问题求解:智能体在推理过程中,可以多次调整逻辑,以找到最优解。
核心优势


  • 持续优化:智能体能够动态集成自我反思,提高任务执行质量。
  • 无需人工监督:可以在没有人类干预的情况下 不断调整策略,提高自主学习能力。
  • 个性化学习:智能体可以将反思结果存入记忆,适应用户偏好,优化未来交互。

什么是 AI Agent(智能体)?-5.jpg


反思模式

4. 智能化工作流的应用场景

原子设计模式(如规划工具使用)可以通过不同的组合方式,充分利用智能 AI 处理各种任务。在此基础上,智能体不仅可以使用不同的工具,还能动态选择工具 来满足任务需求。此外,智能体还可以集成人类反馈机制,并被赋予不同程度的自主性和决策权。
这种灵活的配置方式使得智能化工作流可以适用于多个行业的广泛任务。本文将重点介绍两个强大且常见的应用场景:智能 RAG(Agentic RAG)智能研究助理(Agentic Research Assistants)
4.1. 智能 RAG(Agentic RAG)

**检索增强生成(RAG, Retrieval-Augmented Generation)**[3] 通过从外部数据源检索相关数据 来增强 LLM 的知识。而 智能 RAG 则在 RAG 流水线中引入一个或多个智能体,增强其智能化程度。
智能 RAG 如何优化检索?


  • 规划阶段:智能体可以将复杂查询拆解成多个子查询(查询分解),或者判断是否需要向用户请求额外信息,以便更准确地完成查询。
  • 检索评估:智能体可以评估检索到的数据的相关性和准确性,确保其质量。
  • 动态调整查询


  • 如果检索结果不满意,智能体可以重新生成查询调整查询拆解方案,甚至创建新的搜索计划。

什么是 AI Agent(智能体)?-6.jpg


智能 RAG 工作流

智能 RAG vs. 传统 RAG


  • 传统 RAG:仅执行一次性检索,不具备自主优化能力。
  • 智能 RAG:可以自适应调整查询方式,多次迭代优化检索结果,提高检索的准确性和上下文相关性。
更多架构细节:如果你对智能 RAG 的架构感兴趣,可以下载 免费电子书[4] 了解更多内容。
4.2. 智能研究助理(Agentic Research Assistants)

智能研究助理(又称“深度研究”)可用于生成深入报告和详细见解,它们不仅检索外部信息,还能综合分析信息,而不仅仅是简单地返回相关数据。
智能研究助理如何提升研究能力?


  • 专门训练:智能体使用针对网页浏览、任务拆解和动态规划进行微调的 LLM。
  • 主动交互:智能体会与用户主动交流,请求额外信息或澄清需求,以便更精准地完成任务。
  • 动态调整策略


  • 智能体可以根据检索到的新信息 重新规划查询,探索新的研究角度。
  • 它们可以连续查询多个数据源,直到找到必要的数据。
智能研究助理的优势


  • 深度分析:不仅检索数据,还能识别趋势、总结见解,甚至编写完整的研究报告。
  • 超越传统 RAG:比普通 RAG 更强大,因为它具备数据综合能力,而不仅仅是数据检索。
  • 可持续优化:可以通过反思(Reflection Pattern)不断提高研究质量。
现有智能研究助理

目前,多个 AI 公司已经发布了自己的智能研究助理:

  • OpenAI Deep Research[5]
  • Perplexity Deep Research[6]
  • Google Gemini Deep Research[7]
4.3. 智能编程助理(Agentic Coding Assistants)**

智能编程助理 可以自动生成、重构、优化和调试代码,大幅减少人工干预,提高开发效率。
智能编程助理 vs. 传统 AI 编程助手


  • 传统编程助手(如 GitHub Copilot 早期版本):

    • 仅基于 LLM 生成代码,不具备执行和优化能力。

  • 智能编程助理

    • 执行代码:能够运行生成的代码,并根据执行结果进行调整。
    • 自主优化:能够基于错误信息 迭代优化代码,直到正确执行。
    • 代码管理:可以创建 Git 提交(commits)和 PR(pull requests),参与代码版本管理。
    • 人机协作:可以建议终端命令或代码修改,并等待人工批准后执行。

现有智能编程助理


  • Anthropic Claude Code[8]:具备 PR 提交功能,可直接修改代码库。
  • Cursor Agent[9]:提供终端命令建议,并等待用户确认执行。
智能编程助理的核心能力


  • 自主调试:能够分析运行结果并修复错误。
  • 长记忆学习:可以记录错误模式,减少未来重复犯错的概率。
  • 高效协作:支持人机协作,确保代码修改符合开发规范。
5. 智能化工作流示例

在介绍了智能化工作流的应用场景之后,我们将更详细地探讨两个实际智能体的工作流程:Claygent[10]ServiceNow AI Agents[11]。每个工作流使用其独特的设计模式和工具,赋予智能体不同的自主性和决策能力,并依赖不同程度的人类反馈和参与。
5.1 Claygent(Clay)

对于成长和销售团队来说,线索研究和数据丰富可能是一项繁琐的任务。Clay[12] 是一家数据丰富和外展自动化公司,通过其 Claygent AI 助手简化了这一过程,该助手持续扫描网络和内部数据库,以提供实时、可操作的见解。
假设你想使用 Claygent 来丰富 LinkedIn 个人资料,基于一组姓名和电子邮件地址,然后发送个性化的介绍信息。首先,你指定所需的数据字段(例如:工作经验、教育背景、技能),这些字段将被注入到一个预配置的提示模板中。智能体的 LLM(大语言模型)处理查询,使用网页抓取工具在网络上查找 LinkedIn 网址,并提取所需的个人资料数据。然后,这些数据可以传递给另一个 LLM,你可以指示它以任何你希望的方式总结或分析这些丰富的数据。之后,同样的 LLM(或另一个)可以用来为每个个人资料创建个性化的外展消息。
Claygent 是一个相对灵活的智能化工作流示例,可以根据需要以创造性的方式进行定制,同时通过预配置的提示模板为特定任务提供指导。
5.2 ServiceNow AI Agents

ServiceNow[13] 是一个基于云的平台,用于简化和自动化 IT、运营、HR 和客户服务领域的工作流。它们的 ServiceNow 平台现在包括访问 AI 智能体的功能,旨在自动化重复性任务和现有工作流,同时让人类在决策过程中保持完全控制。
以下是一个智能化工作流如何帮助解决技术支持案例的示例。该工作流在客户提交技术支持工单时被触发。工单中的信息随后传递给一个或多个智能体,这些智能体在内部 IT 支持知识库中执行 RAG(检索增强生成)。智能体总结发现的内容,分析类似的案例,并生成一份总结报告给 IT 支持专家。最后,它会生成一个推荐方案,供专家批准或拒绝。
ServiceNow AI Agents 代表了一种创新但更加谨慎的方式,在生产环境中部署智能体,给它们分配严格的角色和任务,并限制(如果有的话)它们对最终用户或客户的决策自主权。
构建你自己的智能化工作流:如果你想创建自己的智能化工作流,查看 使用 Inngest 构建智能化工作流[14],我们将在其中展示如何创建一个智能化的晚餐计划器。
6. 智能化工作流的优点与局限

AI 智能体迅速从机器学习社区走向主流。鉴于围绕智能化 AI 的激动人心、期望和前景,可能很难从炒作中分辨出其真实能力和局限。在这一部分,我们将为你提供一个关于智能化工作流的优缺点、挑战和局限的平衡视角。
6.1 智能化工作流的优点

智能化工作流超越了传统自动化,赋予 AI 智能体规划、适应和不断改进的能力。与遵循固定规则的确定性工作流不同,智能化工作流可以动态响应复杂性、通过反馈优化其方法,并能够扩展以处理更复杂的任务。这种适应性使其在灵活性、学习和决策至关重要的场景中尤其有价值。
以下是智能化工作流的一些优点:

  • 灵活性、适应性和可定制性:静态的确定性工作流在应对变化的情况和突发困难时往往难以适应,而智能化工作流则提供了根据任务的难度进行调整和演变的灵活性,确保始终保持相关性并提供最佳解决方案。它们还可以通过组合不同的模式进行定制,实现模块化设计,以便在需求和复杂性增长时进行迭代升级。
  • 在复杂任务中的表现提升:通过将复杂任务分解为更小的可管理步骤(通过任务分解和规划),智能化工作流在执行复杂任务时,显著优于确定性、零样本方法。
  • 自我修正和持续学习:反思模式使得智能化工作流能够评估自己的行动、优化策略,并随着时间的推移不断改进结果。通过使用短期和长期记忆,它们能够从过去的经验中学习,在每次迭代中变得更加高效和个性化。
  • 操作效率和可扩展性:智能化工作流能够高效地自动化重复性任务(如果设计得当),减少手动工作量和运营成本,并且能够轻松扩展,适用于更大规模的工作负载或复杂系统。
需要注意的是,AI 智能体仍然是一项新兴技术,随着研究人员和用户发现新的方法来将智能体融入工作流,这些优点列表可能会不断扩展。
6.2 智能化工作流的挑战与局限

尽管 AI 智能体具有众多优点和创新功能,但它们也存在一定的挑战和局限性。由于其概率性特征,AI 智能体本身就增加了工作流的复杂性。并且,虽然智能体可以用于自动化流程,但并不意味着它们应该被用在所有流程中。以下是智能化工作流的一些显著挑战和局限性:

  • 简单任务的复杂性过高:对于像表单填写或基本数据提取这样的简单工作流,使用 AI 智能体可能会增加额外的开销。如果确定性、基于规则的自动化已足够解决任务,引入智能体可能会导致效率降低、成本增加,甚至可能降低性能。
  • 因自主性增加而导致的可靠性降低:随着智能体在工作流中获得更多决策权,它们的概率性特征可能会带来不可预测性,使输出结果的可靠性降低,且更难控制。因此,在实施智能体时,必须建立和维护严格的保护机制,并持续审查它们的权限。
  • 伦理和实践方面的考虑:并非所有的决策都应该委托给 AI 系统。在高风险或敏感领域使用智能体时,需要谨慎监督,确保负责任的部署,避免产生不良后果。
鉴于这些局限性,我们建议在特定工作流中使用智能体时,仔细考虑是否真的需要使用智能体。以下是一些可以帮助你判断的关键问题:

  • 任务是否足够复杂,需要自适应的决策?还是确定性方法足够解决?
  • 是否可以通过更简单的 AI 辅助工具(例如仅使用 RAG,而不使用智能体)达到相同的效果?
  • 工作流是否涉及不确定性、变化的条件或多步骤推理,智能体是否能更有效地处理?
  • 给智能体授权的风险是什么?这些风险能否得到有效的缓解?
7. 总结

智能化工作流是强大的工具,帮助自动化完成需要决策和推理的复杂任务。在本文中,我们回顾了 AI 智能体的核心组件,包括记忆、工具和推理能力,并讨论了它们如何促进智能化工作流的实现。我们还介绍了常见的工作流模式,如规划、工具使用和反思,这些可以单独或组合使用,创建动态工作流。此外,我们还概述了两个特别有效的应用场景:智能 RAG[15] 和智能研究助理,并描述了市场上已有的两个智能体的工作流——Claygent 和 ServiceNow AI Agents。最后,我们探讨了智能化工作流的优点以及它们的局限性和挑战。
AI 智能体背后的技术在不断发展,我们对它们的理解也在不断深化。本文旨在帮助你基本理解 AI 智能体如何在工作流中运作,但并非对该主题的详尽探索。
如果你想了解更详细的智能化架构,请公众号后台回复智能化架构获取电子书。
本文翻译自http://weaviate.io,我们建立了 LLM 应用开发交流群,欢迎大家进群交流!公众号后台回复 进群 即可!
也可以进入我的知识星球
参考资料

[1] 《简化智能体:AI 语境中的智能体究竟是什么?》: https://weaviate.io/blog/ai-agents
[2] 这本免费电子书: http://weaviate.io/ebooks/agentic-architectures?utm_source=agentic_workflows_blog&utm_medium=post&utm_campaign=agentic_architectures&utm_content=cta1
[3] 检索增强生成(RAG, Retrieval-Augmented Generation): https://weaviate.io/blog/introduction-to-rag
[4] 免费电子书: http://weaviate.io/ebooks/agentic-architectures?utm_source=agentic_workflows_blog&utm_medium=post&utm_campaign=agentic_architectures&utm_content=cta2
[5] OpenAI Deep Research: https://openai.com/index/introducing-deep-research/
[6] Perplexity Deep Research: https://www.perplexity.ai/hub/blog/introducing-perplexity-deep-research
[7] Google Gemini Deep Research: https://blog.google/products/gemini/google-gemini-deep-research/
[8] Anthropic Claude Code: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview
[9] Cursor Agent: https://docs.cursor.com/agent
[10] Claygent: https://www.clay.com/claygent
[11] ServiceNow AI Agents: https://www.servicenow.com/products/ai-agents.html
[12] Clay: https://www.clay.com/
[13] ServiceNow: https://www.servicenow.com/
[14] 使用 Inngest 构建智能化工作流: https://weaviate.io/blog/inngest-ai-workflows
[15] 智能 RAG: https://weaviate.io/blog/what-is-agentic-rag

木色小罗 LV

发表于 2025-4-9 18:20:10

1、什么是 LLM  Agent?

要了解什么是 LLM Agent,我们首先来了解一下 LLM 的基本功能。传统上,LLM 的作用无非是预测下一个 token。

什么是 AI Agent(智能体)?-1.jpg

通过连续采样许多token,我们可以模拟对话并使用 LLM 为我们的查询提供更广泛的答案。

什么是 AI Agent(智能体)?-2.jpg

然而,当我们继续“对话”时,任何 LLM 都会暴露出它的一个主要缺点:它不记得对话!

什么是 AI Agent(智能体)?-3.jpg

LLM 经常在许多其他任务上失败,包括乘法和除法等基本数学运算:

什么是 AI Agent(智能体)?-4.jpg

这是否意味着 LLM 很糟糕?绝对不是!LLM 没有必要面面俱到,我们可以通过外部工具、记忆和检索系统来弥补其劣势。
通过外部系统,LLM的能力可以得到增强。Anthropic 称之为“增强型LLM”。

什么是 AI Agent(智能体)?-5.jpg

例如,当面对数学问题时,LLM可能会决定使用适当的工具(计算器)。

什么是 AI Agent(智能体)?-6.jpg

那么这个“增强型LLM”是Agent吗?不,也许有点是……
让我们首先来定义一下Agent:
Anagentis anything that can be viewed as perceiving its environment throughsensorsand acting upon that environment throughactuators.(Agent是指任何可以通过传感器感知环境并通过执行器对环境采取行动的事物。)—— Russell 和 Norvig, 人工智能:一种现代方法》(2016 年)
Agent与其环境交互,通常由几个重要组件组成:

  • 环境(Environments)——Agent与之交互的世界
  • 传感器(Sensors)——用于观察环境
  • 执行器(Actuators)——用于与环境交互的工具
  • 效应器(Effectors)——决定如何从观察到行动的“大脑”或规则

什么是 AI Agent(智能体)?-7.jpg

该框架用于与各种环境交互的各种Agent,如机器人与其物理环境交互或人工智能Agent与软件交互。
我们可以稍微概括一下这个框架,使其适合“增强型 LLM”。

什么是 AI Agent(智能体)?-8.jpg

使用“增强型” LLM,Agent可以通过文本输入观察环境(因为 LLM 通常是文本模型)并通过使用工具执行某些操作(例如搜索网络)。
为了选择要采取哪些行动,LLM  Agent有一个至关重要的组成部分:规划能力。为此,LLM 需要能够通过思路链等方法进行“推理”和“思考”。

什么是 AI Agent(智能体)?-9.jpg

有关推理的更多信息,请参阅《推理 LLM 视觉指南》
利用这种推理行为,LLM Agent将规划出需要采取的必要行动。

什么是 AI Agent(智能体)?-10.jpg

这种规划行为使Agent能够了解情况(LLM )、规划下一步(规划)、采取行动(工具)并跟踪已采取的行动(记忆)。

什么是 AI Agent(智能体)?-11.jpg

根据系统不同,您可以拥有不同程度的自主权的 LLM Agent。

什么是 AI Agent(智能体)?-12.jpg

取决于你问谁,系统越“agentic”,LLM 就越多地决定系统如何运行。
在接下来的部分中,我们将通过 LLM Agent 的三个主要组件:内存(Memory)工具(Tools)规划(Planning),介绍自主行为的各种方法。
2、记忆(Memory

LLM 是易遗忘的系统,或者更准确地说,在与它们交互时根本不进行任何记忆。
例如,当你向大模型 (LLM) 提出一个问题,然后又提出另一个问题时,它不会记住前者。

什么是 AI Agent(智能体)?-13.jpg

我们通常将其称为短期记忆(short-term memory),也称为工作记忆(working memory),它充当(近)即时上下文的缓冲。这包括 LLM Agent最近采取的行动。
然而,LLM Agent还需要跟踪可能数十个步骤,而不仅仅是最近的操作。

什么是 AI Agent(智能体)?-14.jpg

这被称为长期记忆(long-term memory),因为 LLM  Agent理论上可以记住数十个甚至数百个需要记住的步骤。

什么是 AI Agent(智能体)?-15.jpg

让我们探索一下为这些模型提供记忆的几种技巧。
3、短期记忆(Short-Term Memory)

实现短期记忆的最直接方法是使用模型的上下文窗口,它本质上是 LLM 可以处理的token数。

什么是 AI Agent(智能体)?-16.jpg

上下文窗口往往至少有 8192 个token,有时可以扩展到数十万个token!
可以使用大型上下文窗口来跟踪完整的对话历史记录作为输入提示的一部分。

什么是 AI Agent(智能体)?-17.jpg

只要对话历史符合 LLM 的上下文窗口,这种方法就有效,而且是模仿记忆的好方法。但是,我们实际上不是记住对话,而是“告诉”LLM 那次对话是什么。
对于上下文窗口较小的模型,或者对话历史记录很大时,我们可以使用另一个 LLM 来总结迄今为止发生的对话。

什么是 AI Agent(智能体)?-18.jpg

通过不断总结对话,我们可以将对话的规模保持在较小水平。这将减少token的数量,同时仅跟踪最重要的信息。
4、长期记忆(Long-term Memory)

LLM Agent中的长期记忆包括需要在较长时间内保留的Agent过去的动作空间。
实现长期记忆的一种常用技术是将所有以前的交互、操作和对话存储在外部矢量数据库中。
为了建立这样的数据库,首先将对话embedding到能够捕捉其含义的数字表示中。

什么是 AI Agent(智能体)?-19.jpg

建立数据库后,我们可以embedding任何给定的提示,并通过将提示embedding与数据库embedding进行比较来在向量数据库中找到最相关的信息。

什么是 AI Agent(智能体)?-20.jpg

这种方法通常被称为检索增强生成(RAG)。
长期记忆还可能涉及保留来自不同会话的信息。例如,你可能希望 LLM  Agent记住它在之前的会话中所做的任何研究。
不同类型的信息也可以与要存储的不同类型的记忆相关联。在心理学中,有许多类型的记忆需要区分,但《语言Agent的认知架构》论文将其中四种与 LLM Agent联系起来。

什么是 AI Agent(智能体)?-21.jpg

这种区分有助于构建Agent框架。语义记忆(关于世界的事实)可能存储在与工作记忆(当前和最近的情况)不同的数据库中。
5、工具(Tools)

工具允许给定的 LLM 与外部环境(例如数据库)交互或使用外部应用程序(例如运行自定义代码)。

什么是 AI Agent(智能体)?-22.jpg

工具通常有两种用例:获取数据以检索最新信息和采取行动,例如安排会议或订购食物。
要实际使用工具,LLM 必须生成适合给定工具 API 的文本。我们倾向于期望可以格式化为JSON 的字符串,以便可以轻松地将其输入到代码解释器中

什么是 AI Agent(智能体)?-23.jpg


请注意,这不仅限于 JSON,我们还可以在代码本身中调用该工具!

你还可以生成 LLM 可以使用的自定义函数,例如基本乘法函数。这通常称为函数调用

什么是 AI Agent(智能体)?-24.jpg

有些 LLM 可以使用任何工具,只要得到正确而广泛的提示即可。工具使用是大多数当前 LLM 都具备的能力。

什么是 AI Agent(智能体)?-25.jpg

访问工具的更稳定的方法是通过微调 LLM(稍后会详细介绍!)。
如果Agent框架是固定的,那么工具可以按照给定的顺序使用……

什么是 AI Agent(智能体)?-26.jpg

…或者 LLM 可以自主选择使用哪种工具以及何时使用。LLM Agent,如上图所示,本质上是 LLM 调用的序列(但可以自主选择操作/工具/等等)。

什么是 AI Agent(智能体)?-27.jpg

换句话说,中间步骤的输出被反馈到LLM中以继续处理。

什么是 AI Agent(智能体)?-28.jpg

6、Toolformer(工具学习)

工具使用是加强LLM能力和弥补其劣势的有力方法。因此,工具使用和学习方面的研究在过去几年中迅速兴起。

什么是 AI Agent(智能体)?-29.jpg


“Tool Learning with Large Language Models: A Survey” paper:随着对工具使用的关注度不断提高,(Agentic)LLM 有望变得更加强大。

这项研究的大部分内容不仅涉及促使大模型 (LLM) 使用工具,还涉及对他们进行专门的工具使用培训。
实现这一目标的首批技术之一是 Toolformer,这是一种经过训练的模型,可以决定调用哪些 API 以及如何调用。
它通过使用 [ 和 ] token来指示调用工具的开始和结束来实现这一点。当给出提示时,例如“ 5 乘以 3 等于多少?”,它会开始生成token,直到到达token [。

什么是 AI Agent(智能体)?-30.jpg

此后,它会不断生成token,直到到达 → 表示 LLM 停止生成token的token为止。

什么是 AI Agent(智能体)?-31.jpg

然后,将调用该工具,并将输出添加到迄今为止生成的token中。

什么是 AI Agent(智能体)?-32.jpg

该 ] 符号表示 LLM 现在可以根据需要继续生成。
Toolformer 通过精心生成一个数据集来创建此行为,该数据集包含许多可供模型训练的工具用途。对于每个工具,都会手动创建一个小样本提示,并用于对这些工具的输出进行采样。

什么是 AI Agent(智能体)?-33.jpg

根据工具使用、输出和损失减少的正确性对输出进行过滤。生成的数据集用于训练 LLM 以遵循这种工具使用格式。
自 Toolformer 发布以来,已经出现了许多令人兴奋的技术,例如可以使用数千种工具的 LLM(ToolLLM4)或可以轻松检索最相关工具的 LLM(Gorilla5)。
无论哪种方式,大多数当前的 LLM(2025 年初)都已接受过训练,可以通过 JSON 生成轻松调用工具(如我们之前所见)。
7、模型上下文协议 (MCP)

工具是 Agentic 框架的重要组成部分,允许 LLM 与世界互动并扩展其功能。但是,当你有许多不同的 API 时,启用工具的使用会变得很麻烦,因为任何工具都需要:

  • 手动跟踪并输入到 LLM
  • 手动描述(包括其预期的 JSON 模式)
  • 当 API 发生变化时,手动更新

什么是 AI Agent(智能体)?-34.jpg

为了使工具更容易为任何给定的 Agentic 框架实现,Anthropic 开发了模型上下文协议 (MCP)。MCP 标准化了天气应用程序和 GitHub 等服务的 API 访问。
它由三个部分组成:

  • MCP Host — 管理连接的 LLM 应用程序(例如 Cursor)
  • MCP客户端— 与 MCP 服务器保持 1:1 连接
  • MCP服务器— 为 LLM 提供上下文、工具和功能

什么是 AI Agent(智能体)?-35.jpg

例如,假设你希望给定的 LLM 应用程序总结存储库中最新的 5 个提交。
MCP Host(与客户端一起)会首先调用 MCP Server 询问有哪些工具可用。

什么是 AI Agent(智能体)?-36.jpg

LLM 收到信息后,可以选择使用某个工具。它通过 Host 向 MCP Server 发送请求,然后接收结果,包括所使用的工具。

什么是 AI Agent(智能体)?-37.jpg

最后,LLM 接收结果并可以向用户解析答案。

什么是 AI Agent(智能体)?-38.jpg

该框架通过连接到任何 LLM 应用程序都可以使用的 MCP 服务器,使创建工具变得更加容易。因此,当你创建 MCP 服务器与 Github 交互时,任何支持 MCP 的 LLM 应用程序都可以使用它。
8、规划(Planning)

使用工具可提高 LLM 的功能。它们通常使用类似 JSON 的请求进行调用。
但是在Agent系统中,LLM如何决定何时使用哪种工具?
这就是规划开始发挥作用的地方。LLM Agent中的规划涉及将给定的任务分解为可操作的步骤。

什么是 AI Agent(智能体)?-39.jpg

该计划允许模型迭代地反映过去的行为并在必要时更新当前计划。

什么是 AI Agent(智能体)?-40.jpg


我喜欢计划顺利完成的感觉!

为了实现 LLM Agent 中的规划,我们首先来看一下这项技术的基础,即推理。
9、推理(Reasoning)

规划可行步骤需要复杂的推理行为。因此,LLM 必须能够展示这种行为,然后才能在规划任务的下一步之前展示这种行为。
“推理”LLM指的是那些在回答问题之前倾向于“思考”的人。

什么是 AI Agent(智能体)?-41.jpg

我使用“推理”和“思考”这两个术语有点宽泛,因为我们可以争论这是否是类似人类的思考,或者仅仅是将答案分解为结构化步骤。
这种推理行为可以通过大致两种选择来实现:微调 LLM 或特定的提示词工程。
通过提示词工程,我们可以创建 LLM 应该遵循的推理过程的示例。提供示例(也称为小样本提示) 是引导 LLM 行为的好方法。

什么是 AI Agent(智能体)?-42.jpg

这种提供思维过程示例的方法称为思维链(Chain-of-thought),可以实现更复杂的推理行为。
只需说“让我们一步一步思考”,就可以在没有任何示例(零样本提示)的情况下启用思维链。

什么是 AI Agent(智能体)?-43.jpg

在训练 LLM 时,我们可以为其提供足够数量的包含类似思考示例的数据集,或者 LLM 可以发现自己的思维过程。
一个很好的例子是 DeepSeek-R1,它使用奖励来指导思考过程的使用。

什么是 AI Agent(智能体)?-44.jpg

有关推理大模型 (LLM) 的更多信息,请参阅我的视觉指南

什么是 AI Agent(智能体)?-45.jpg

推理大模型 (LLM) 的视觉指南马丁·格鲁滕多斯特·2月3日阅读全文
10、推理与行动(Reasoning and Acting)

在 LLM 中实现推理行为非常好,但并不一定能够规划出可行的步骤。
到目前为止,我们关注的技术要么展示推理行为,要么通过工具与环境互动。

什么是 AI Agent(智能体)?-46.jpg

例如,思维链 (Chain-of-Thought) 纯粹侧重于推理。
将这两个过程结合起来的首批技术之一被称为 ReAct(推理与执行)。

什么是 AI Agent(智能体)?-47.jpg

ReAct 通过精心的提示词工程来实现这一目标。ReAct 提示描述了三个步骤:

  • 思考(Thought)--对当前情况进行推理
  • 操作(Action)-- 要执行的一组操作(例如工具)
  • 观察(Observation)--对行动结果的推理步骤
提示词本身就非常简单。

什么是 AI Agent(智能体)?-48.jpg

LLM 使用这个提示词(可以用作系统提示)来引导其行为在思考、行动和观察的循环中发挥作用。

什么是 AI Agent(智能体)?-49.jpg

它会持续这种行为,直到某个操作指定返回结果。通过迭代思考和观察,LLM 可以规划出操作,观察其输出并进行相应调整。
因此,与具有预定义和固定步骤的Agent相比,该框架使 LLM 能够展示更多自主的Agent行为。
11、反思(Reflecting)

没有人能够完美地完成每一项任务,即使是 ReAct 大模型也不例外。只要你能反思这个过程,失败就是过程的一部分。
ReAct 缺少这一过程,而这正是 Reflexion 发挥作用的地方。Reflexion 是一种使用口头强化来帮助Agent从以前的失败中吸取教训的技术。
该方法假设三个 LLM 角色:

  • 参与者(Actor)——根据状态观察选择并执行动作。我们可以使用 Chain-of-Thought 或 ReAct 等方法。
  • 评估者(Evaluator)——对参与者产生的输出进行评分。
  • 自我反思(Self-reflection)——反思参与者采取的行动和评估者给出的分数。

什么是 AI Agent(智能体)?-50.jpg

添加记忆模块来跟踪动作(短期)和自我反思(长期),帮助Agent从错误中吸取教训并确定改进的动作。
一种类似且优雅的技术被称为“SELF-REFINE”,其中重复完善输出和生成反馈的操作。

什么是 AI Agent(智能体)?-51.jpg

同一个 LLM 负责生成初始输出、精细输出和反馈。

什么是 AI Agent(智能体)?-52.jpg


“SELF-REFINE:带有自反馈的迭代细化”

有趣的是,这种自我反思行为(反思和自我完善)与强化学习非常相似,强化学习根据输出的质量给予奖励。
12、多Agent协作(Multi-Agent Collaboration)

我们探索的单个Agent有几个问题:太多工具可能会使选择变得复杂,环境变得过于复杂,并且任务可能需要专业化。
相反,我们可以研究多智能体,即多个智能体(每个智能体都可以访问工具内存规划)相互交互并与环境交互的框架:

什么是 AI Agent(智能体)?-53.jpg

这些多Agent系统通常由专门的Agent组成,每个Agent都配备了自己的工具集并由主管监督。主管管理Agent之间的通信,并可以为专门的Agent分配特定任务。

什么是 AI Agent(智能体)?-54.jpg

每个Agent可能有不同类型的可用工具,但也可能有不同的记忆系统。
在实践中,有几十种多智能体架构,其核心有两个组件:

  • Agent初始化——如何创建单个(专门的)Agent?
  • Agent编排——所有Agent如何协调?

什么是 AI Agent(智能体)?-55.jpg

让我们探索各种有趣的多Agent框架并重点介绍这些组件的实现方式。
13、人类行为的交互式模拟(Interactive Simulacra of Human Behavior)

可以说,最具影响力、坦率地说非常酷的多智能体论文之一名为“生成智能体:人类行为的交互式模拟”。
在本文中,他们创建了模拟可信人类行为的计算软件Agent,他们称之为生成Agent。

什么是 AI Agent(智能体)?-56.jpg

每个生成Agent所赋予的配置文件使它们以独特的方式行事,并有助于创建更有趣和更具活力的行为。
每个Agent都由三个模块(内存规划反射)初始化,非常类似于我们之前在 ReAct 和 Reflexion 中看到的核心组件。

什么是 AI Agent(智能体)?-57.jpg

记忆模块是这个框架中最重要的组件之一。它存储了计划和反思行为,以及迄今为止的所有事件。
对于任何给定的下一步或问题,都会检索记忆并根据其新近性、重要性和相关性进行评分。得分最高的记忆将与Agent共享。

什么是 AI Agent(智能体)?-58.jpg


《生成Agent:人类行为的交互式模拟》论文的注释图。

它们共同允许 Agent 自由地开展其行为并相互交互。因此,Agent 的协调工作非常少,因为它们没有特定的工作目标。

什么是 AI Agent(智能体)?-59.jpg


来自交互式演示

本文中有太多令人惊叹的信息片段,但我想强调它们的评估指标。
他们的评估以Agent行为的可信度作为主要指标,并由人类评估员对其进行评分。

什么是 AI Agent(智能体)?-60.jpg


生成Agent:人类行为的交互式模拟。

它展示了观察、规划和反思在这些生成Agent的性能中的重要性。如前所述,如果没有反思行为,规划就不完整。
14、模块化框架(Modular Frameworks)

无论你选择哪种框架来创建多智能体系统,它们通常都由几个要素组成,包括其配置文件、对环境的感知、记忆、规划和可用的操作。1516

什么是 AI Agent(智能体)?-61.jpg

实现这些组件的流行框架是 AutoGen、MetaGPT和 CAMEL。但是,每个框架处理每个 Agent 之间的通信的方式略有不同。
例如,使用 CAMEL,用户首先创建问题并定义AI 用户AI 助手角色。AI 用户角色代表人类用户并将指导该过程。

什么是 AI Agent(智能体)?-62.jpg

之后,AI用户和AI助手将通过相互交互来协作解决查询。

什么是 AI Agent(智能体)?-63.jpg

这种角色扮演方法使得Agent之间能够进行协作通信。
AutoGen 和 MetaGPT 的沟通方式不同,但归根结底都是这种协作沟通方式。客服人员有机会相互交流,以更新他们的当前状态、目标和后续步骤。
在过去的一年里,特别是最近几周,这些框架的增长呈爆炸式增长。

什么是 AI Agent(智能体)?-64.jpg

随着这些框架不断成熟和发展,2025 年将是真正令人兴奋的一年!
源文:A Visual Guide to LLM Agents
参考:长短期记忆:Cognitive Architectures for Language Agents

潜之 LV

发表于 2025-4-9 18:34:36

刚开始我也很懵,直到完整的看完了3遍吴恩达在BULIT2024的演讲视频,终于搞明白什么是Agent智能体。
这篇回答主要围绕着斯坦福大学教授吴恩达演讲中的Keynote讲一讲到底啥是Agent。希望能帮助和我一样迷糊的“非技术”背景的AI爱好者,揭开Agent这团迷雾。
Agent中文是智能体、代理的意思。
首先,先来看看Agent(智能体)和Non-Agent(非智能体)的对比
一、Non-Agent和Agent对比
拿写文章这个动作举例子。
大语言模型:我们输入一个提示,大模型一次性的从头到尾的生成一篇文章,中间不能修改。

什么是 AI Agent(智能体)?-1.jpg

Agent:它会先写出一个大纲,如果需要找资料的话,它会先联网找资料,接着它先写一份初稿,然后它会思考哪一部分写的不好,开始修改,改好以后再读一遍自己写的稿子,再修改,就这样反复这样的动作,最后形成终稿发给你。

什么是 AI Agent(智能体)?-2.jpg

人类:先写出一个大纲,去网上找资料,接着把资料填进大纲里出一份初稿,然后发给领导,或者自己多读几遍,看看哪里不通顺,不够口语化,再删删减减,最后发给领导。

什么是 AI Agent(智能体)?-3.jpg

结论:Agent做牛马们要做的活儿
通过刚才的描述,你是否发现,Agent智能体和人类的行为高度相似?
其实智能体终极形态就是靠近一个活生生的人,人做一个事情什么思路,智能体就是什么思路。
吴恩达在演讲中把智能体详细的分成了四类,分别是Reflection、Tooluse、planning、multi- agent collaboration

什么是 AI Agent(智能体)?-4.jpg

二、Reflection反思
通俗来讲,Reflection 就像是一个学生在完成作业后自己检查并修改错误的过程
吴恩达在演讲中举了一个例子。
如果用大语言模型塑造了一个“程序员”,你让他写个代码,它给你直接输出了答案,肯定不是最满意的,人类就要不断告诉他哪里需要修改。比如第几行有错误,怎么调整会更好。

什么是 AI Agent(智能体)?-5.jpg

但这时候,如果你再新建一个“审查员”角色的大模型,用它来检查代码是否正确,并指出不足之处。根据“审查员”模型的反馈,“程序员”再次进行改进代码。反复循环这样的操作,直到结果让人满意为止。

什么是 AI Agent(智能体)?-6.jpg

这样的过程就叫做Reflection反思
这种方法特别适用于需要高质量结果的任务,例如代码生成、复杂文档撰写、法律文件分析等。
三、Tool use 工具调用
通俗来讲,就像让我们人类算一个“12345 × 67890是多少?”咱也算不准,但我们拿个计算器,一下子就能得出准确结论。工具调用就是大语言模型会自己使用计算器。
在实际应用中,它会先识别需求:模型意识到它无法直接回答某个问题,需要借助工具。
再根据任务类型,判断要调用哪个工具,工具可以是计算器、知识库查询、数据库、搜索引擎,甚至是另一个模型。用工具完成任务后,将结果转化为人类易于理解的形式输出。
当大语言模型学会调用工具之后,有几个好处
1. 突破模型能力限制
语言模型擅长语言理解,但可能在计算、实时信息查询、专业领域数据处理等方面能力不足。工具使用可以弥补这些缺陷。就像人类一样,有人擅长文科,有人擅长理科,但是要是给人们一个计算器,谁都能算出来了。
2. 提升准确性和效率
比如在回答需要计算或实时查询的问题时,工具能提供精准答案,而不只是基于训练数据进行推测。你可以理解为大语言模型是一个人,塞给它一个工具,它就更准。
3. 扩展模型功能
这种能力将语言模型从“单一的大脑”扩展为一个“多功能助手”。,如编程调试、数据分析、内容生成等。
ChatGPT添加插件的功能:如果你购买了ChatGPT Plus版,你可以来到插件商店里去选择插件帮助你完成更复杂的问题。
speechki:文本转语音的插件,coupert:找优惠券和促销码,edx:找某个领域的优质课程, one word domains: 检查域名是否可用。

什么是 AI Agent(智能体)?-7.jpg


什么是 AI Agent(智能体)?-8.jpg


什么是 AI Agent(智能体)?-9.jpg


什么是 AI Agent(智能体)?-10.jpg

四、Planning 规划/reasoning推理
举个例子,如果你发送一段这样的请求,Agent会动用4个模型去解决你的问题。
分别是:
1、openpose 模型用来提取动作
2、google/vit模型用来把动作转成图片
3、vit-GPT2模型,把图片转成文字
4、fastspeech模型,把文字转成语音
这种能力的提升,让AI更加接近真实的智能行为,能够处理更广泛的任务。

什么是 AI Agent(智能体)?-11.jpg

五、Multi Agent Collaborative 多智能体协作
吴恩达用了清华大学团队开发的ChatDev来解释这个概念。
ChatDev你可以理解为一家虚拟软件公司,公司里有各类职员,有CEO、CTO、测试员、程序员等等。
在这个公司里,人类是最大的Boss,你可以用一句话,就让这些职员替你打工,完成软件设计开发一条龙服务。
每个职员其实就是一个Agent。

什么是 AI Agent(智能体)?-12.jpg

ChatDev将整个开发过程分成了四个阶段。分别是设计、写代码、测试、合作文档

什么是 AI Agent(智能体)?-13.jpg

还设计了沟通链条,每次写作两个角色之间会交流沟通完成一个个小任务。
有点像我们平时公司里的那种沟通交流的模式。
在每次交流中,设置了3个机制,分别是角色专业化、记忆流、自我反思

什么是 AI Agent(智能体)?-14.jpg

角色专业化是指大语言模型会提前设定好每个角色是干嘛的,比如他会告诉CEO,你是CEO你负责做决定。告诉CTO你负责系统设计。
记忆流保存了,之前对话的全部信息,让智能体不要忘记之前的沟通,做出正确的决策。
自我反思:是指两个人没有达成共识之前, 进行自我反思。最后达成共识。
我当时研究了这个虚拟公司以后,仿佛看到了未来AI的样子,每个人都可以是“老板”,你的手下会有一帮AI员工帮你完成复杂高难度的工作。
之所以我们现在感知不强烈,是因为这些模型都停留在代码阶段,并没有被开发成小白也能搞懂的应用。
六、其他大厂们的行动
1. Google:Astra 项目是谷歌探索通用人工智能助手未来功能的研究原型。
利用多模态理解、多语言、工具使用、原生音频和记忆等能力,谷歌希望Astra能帮助人们理解世界,生活。

什么是 AI Agent(智能体)?-15.jpg

2024年12月11日谷歌发布了Project Astra的介绍视频 ,视频里的小哥拿着带有Astra的手机在伦敦展示了不同的功能。

什么是 AI Agent(智能体)?-16.jpg

它能够记得门的密码,还能够帮你讲解如何洗不同材质的衣服, 它还可以识别纸上的文字自动帮你搜索这些地点并告诉你都是干嘛的。
去国外旅行某个东西不知道怎么说,它会教你发音。你还可以让他对着某个雕塑,问它历史背景。可以和他聊植物的种类。
它还可以帮你朋友选礼物,只要把你朋友曾经看过的书单给她看,他可以告诉你你朋友喜欢什么。多语言输入它也没问题。
戴上眼镜骑车,你可以随意问它你看到的地点。问它路况和禁止停车区域。回到家你可以问眼镜,你家的门密码是多少,立刻会在你眼前显示。

什么是 AI Agent(智能体)?-17.jpg

2025年1月初谷歌发布了名为《Agents》的白皮书,从谷歌角度探讨了生成式AI Agent(智能体)的概念、架构和应用。
2. OpenAI
2025年将会是智能体爆发的一年,2025年1月1日,OpenAI CEO 奥特曼公布了公司的新年目标,其中智能体被他列入第二位。

什么是 AI Agent(智能体)?-18.jpg

有网友爆料,OpenAI计划推出代号为“Operator”的全新AI智能体产品,能够自动执行各种复杂操作,这个 Agent 将具备直接控制电脑的能力。
3. Anthropic:2024年10月23日,它发布了开发可以操控计算机的模型。虽然这个模型还没太成熟,让他统计表格数据什么的,会经常出错。但是我们能看到Anthropic努力的方向和愿景。那就是让AI完全帮人类做事。

什么是 AI Agent(智能体)?-19.jpg

2024年12月底,Anthropic 公司发布了一篇重磅博客《buliding effective agents》,详细探讨了如何构建高效的 Agent,并分享了他们在这一领域的最新研究成果。

什么是 AI Agent(智能体)?-20.jpg

4. Microsoft:微软在2024年10月的“AI Tour”活动中,宣布将为Dynamics 365系列业务应用推出10个新的AI智能体,涵盖销售、客户支持和会计等领域。
2024年11月11日微软发布了Azure AI Agent ,一个集设计、定制和管理 AI 解决方案于一体的统一平台。
5. 字节跳动(ByteDance):字节跳动推出了Coze Agent平台,积极布局AI智能体领域。
最后,在写完这篇稿子的时候,我有一个非常强烈的感知,那就是AI颠覆世界的轮廓在慢慢变得清晰,我们在科幻片中看到的未来即将成为现实,我很荣幸能参与这个时代,见证科技以更高速的发展改变我们的生活。
这篇文章所有的参考资料,以及谷歌和Anthropic公布的白皮书和博客的链接都在下方,如果需要,可以去下载。
如果你喜欢这篇文章的话,点赞和关注卓子,如果想第一时间接收到资讯,可以点亮星标 ,我们下次再见,拜拜~
参考资料:
1、谷歌Agents白皮书
https://www.kaggle.com/whitepaper-agents
2、Anthropic重磅博客《bulid effective Agents》
https://www.anthropic.com/research/building-effective-agents
3、吴恩达BULIT2024演讲Keynote翻译版
https://drive.google.com/file/d/1o_2YoeVQE20GjQ3edGOb5TkmJeQyvK2n/view?usp=sharing
4、全程干货,吴恩达BULIT2024演讲来了
https://mp.weixin.qq.com/s/jfhiw_0tVbH0_TMlFBEZ3w
5、Andrew Ng Explores The Rise Of AI Agents And Agentic Reasoning | BUILD 2024 Keynote
https://www.youtube.com/watch?v=KrRD7r7y7NY
6、思维引擎 | AI Agent,还火吗?(万字长文讲清AI Agent)
https://mp.weixin.qq.com/s/eHV_Xy9FE_J-ON1OTLY9uQ
7、OpenAI憋新大招:将推AI Agent,会操控电脑
https://mp.weixin.qq.com/s/NGpApx0bGEFJrRn6Ju7O4A
8、Project Astra | Exploring the future capabilities of a universal AI assistant
https://www.youtube.com/watch?v=hIIlJt8JERI
9、Anthropic-Developing a computer use model
https://www.anthropic.com/news/developing-computer-use
7、3步让AI接管你的电脑【claude最新API使用教程】
https://www.bilibili.com/video/BV1NwyQYzELV/?spm_id_from=333.337.search-card.all.click&vd_source=971d06d504ab9115e9baac0518a6b6e4
11、ChatDev:不写代码,一句话做软件游戏,附保姆级教程搭建你的在线AI软件游戏公司
https://www.bilibili.com/video/BV1L34y1T7gu?spm_id_from=333.788.videopod.episodes&vd_source=971d06d504ab9115e9baac0518a6b6e4
12、微软亚洲研究院2025六大预测:AI Agents 将颠覆传统工作模式
https://mp.weixin.qq.com/s/cLEIF9Otndh68o5v660bSQ
13、Top 10 ChatGPT Plugins You Can't Miss
https://www.youtube.com/watch?v=o2M_paJf48I&t=323s

Glenn LV

发表于 2025-4-9 18:45:04

随着大语言模型的横空出世,生成式AI应用也在不断发展,图1列出了生成式AI应用的分级,共分为5级:

  • L1 Tool,人类完成所有工作,基本没有任何显性的AI辅助,只是比较简单的工具,会被逐渐升级淘汰;
  • L2 Chatbot,人类直接完成绝大部分工作,人类向AI询问意见,了解信息,AI提供信息和建议但不直接处理工作;
  • L3 Copilot,人类和AI进行协作,工作量相当,AI根据人类要求完成工作初稿,人类进行目标设定,修改调整,最后确认;
  • L4 Agent,AI完成绝大部分工作,人类负责设定目标、提供资源和监督结果,AI完成任务拆分,工具选择,进度控制,实现目标后自主结束工作;
  • L5 Intelligence,完全无需人类监督,AI自主拆解目标,寻找资源,选择并使用工具,完成全部工作,人类只需给出初始目标。
当发展到L4级别时,Agent(即智能体)的能力已经越来越接近通用人工智能,可以借助AI完成绝大部分的工作。相对来看,L3和L4级别的AI应用价值更大,但需要大语言模型的能力来进一步支持升级。

什么是 AI Agent(智能体)?-1.jpg


图1 生成式AI应用的分级

在《大语言模型Agent综述与实践》中,笔者已对基于大语言模型的智能体进行介绍。基于大语言模型的智能体的演进方向之一是多智能体间的协同。和人类在现实生活中将不同专长的专家组成团队、发挥集体智慧、共同完成复杂任务的协作方式类似,目前众多理论研究者和应用开发者也在探索多个不同角色的智能体相互协作、共同完成复杂任务的方案。
《Large Language Model based Multi-Agents: A Survey of Progress and Challenges》对基于大语言模型的多智能体的相关研究进行了综述,本文前半部分是对这篇论文的阅读笔记,并对综述中提及的部分工作进行展开,后半部分是对基于大语言模型的多智能体的实践。如有不足之处,请指正。
如无特殊说明,下面所讲的智能体、多智能体均指基于大语言模型的智能体、多智能体,而非传统的智能体、多智能体。
综述

大语言模型显现出与人类相当的推理和规划潜力,这与人类对能够感知环境、做出决策和响应的智能体的期望相一致,因此,基于大语言模型的智能体被提出。进一步,和人类在现实生活中将不同专长的专家组成团队、发挥集体智慧、共同完成复杂任务的协作方式类似,基于大语言模型的多智能体被提出。多个智能体相互协作、共同完成复杂任务。与单智能体相比,多智能体能够定义不同角色的智能体,使得每个智能体专精特定领域的知识和能力,并通过智能体间的交互有效模拟复杂的现实世界环境,提供更高级的能力。
《Large Language Model based Multi-Agents: A Survey of Progress and Challenges》对基于大语言模型的多智能体的相关研究进行了综述,内容包括以下几个部分:

  • 背景知识,包括单智能体的介绍、多智能体和单智能体的对比;
  • 多智能体的架构,包括智能体和环境的交互、智能体画像构建、智能体间的通信和智能体能力获取;
  • 多智能体的应用,包括在问题求解和世界模拟这两大类中的应用,而每个大类中又具体拆分若干子类,论文对多智能体在每个子类中的应用进展均进行了介绍;
  • 多智能体的工具和资源,包括框架、数据集和基准;
  • 多智能体后续的挑战和机遇。
图2是论文列出的基于大语言模型的多智能体的研究进展,包括相关的框架、应用、数据集和基准,也包括多智能体如何通过记忆和自我进化进行迭代、获取能力。基于大语言模型的多智能体的框架包括Camel、MetaGPT、AutoGen、Agents,后面会再详细介绍。多智能体通过自我进化进行迭代、获取能力的方案包括Self-Adaptive、ProAgent、LTC等,后面会再详细介绍。多智能体的应用分问题求解和世界模拟两大类,而每个大类又分若干子类,问题求解的子类包括软件开发(Software Development)、具身智能(Embodied Agents)、科学实验(Science Experiments)、科学辩论(Science Debate),世界模拟的子类包括社会模拟(Societal Simulation)、游戏(Gaming)、心理学(Psychology)、经济学(Economy)、推荐系统(Recommender Systems)、政策制定(Policy Making)、疾病传播模拟(Disease Propagation Simulation),图2列出了各子类在每个时间周期(3个月为一个时间周期)内的论文数,后面会对多智能体在软件开发中的应用进行详细介绍。

什么是 AI Agent(智能体)?-2.jpg


图2 基于大语言模型的多智能体的研究进展

背景

基于大语言模型的智能体

在《大语言模型Agent综述与实践》中,笔者已对基于大语言模型的智能体进行介绍,这里直接引用其中的内容。基于大语言模型的智能体其核心是大语言模型,大语言模型承担着大脑的角色,用于思考和规划,而围绕着大语言模型,Agent还包含记忆和工具,记忆用于存储短期上下文信息和长期知识信息,工具则承担着感官和四肢的角色,在大语言模型的思考和规划下,Agent一方面可以通过工具获取外部的各种信息用于进一步的思考和规划,另一方可以通过工具执行动作对外部环境施加影响。

什么是 AI Agent(智能体)?-3.jpg


图3 基于大语言模型的Agent的整体架构

《LLM Powered Autonomous Agents》中使用图3描述了基于大语言模型的Agent的整体架构,其中包含以下核心组件:

  • 规划(Planning),大语言模型作为Agent的大脑负责思考和规划,而思考和规划的方式又可以分为两部分:

    • 分而治之(Task Decomposition):对于复杂的任务,大语言模型会将其分解为多个相对简单的子任务,每个子任务包含独立的子目标,从而分而治之、逐步求解;
    • 自我反思(Self-Reflection):大语言模型会对过去的规划和执行进行自我反思,分析其中的错误,并对后续的思考和规划进行改进,完善最后输出的结果。

  • 记忆(Memory),记忆是对大语言模型本身由模型结构和参数所蕴含知识的补充,记忆又可以分为短期记忆和长期记忆:

    • 短期记忆,即大语言模型的上下文学习,包括提示、指示、前序步骤的大语言模型推理结果和工具执行结果等;
    • 长期记忆,即外部可快速检索的向量索引,这也就是目前比较流行的一种大语言模型应用的解决方案——RAG(Retrieval-Augmented Generation,检索增强生成)。RAG的流程可以简单概括为,将包含知识的文档切分为块,并对块向量化,构建块向量索引,然后将问题也向量化,然后从块向量索引中检索和问题相关的块,最后将块和问题合并作为大语言模型的输入进行推理。RAG可以有效缓解大语言模型无法扩展知识、由知识局限产生的“幻觉”的问题。

  • 工具(Tool),工具作为Agent的感官和四肢,Agent一方面可以通过工具获取外部的各种信息用于进一步的思考和规划,例如通过搜索引擎搜索某个关键词的最新信息,另一方可以通过工具执行动作对外部环境施加影响,例如调用外部系统的接口执行指令并获取执行结果。
另外,在《A Survey on Large Language Model based Autonomous Agents》这篇综述论文中,作者提出了和图3类似的基于大语言模型的智能体的整体架构,如图4所示,其中除了和图3相同的Memory、Planning、Action组件外,作者还增加了画像(Profile)组件。画像(Profile)组件即提示中关于智能体角色的定义。我们平时通过大语言模型解决某类问题时,一般会先定义其角色,例如期望通过大语言模型根据关键词创作一段广告创意描述,则会给出类似“你是一位广告创意优化师,你需要根据关键词创作一段广告创意描述”这样的角色定义,并还会在提示中进一步给出思考步骤、约束限制、样本示例等。而画像,既可以由人工根据一定的方法论进行撰写,也可以由大语言模型根据提示进行生成。

什么是 AI Agent(智能体)?-4.jpg


图4 基于大语言模型的智能体的整体架构

多智能体和单智能体的对比

随着应用场景越来越复杂,基于大语言模型的大模型智能体也在向多智能体的协同进行演进,由各个智能体各司其职、分工协作来共同完成任务。
与单智能体相比,多智能体强调多样化的智能体配置、智能体间的交互和集体决策过程,这使得多个自主智能体能够通过合作解决更动态和复杂的任务。
架构


什么是 AI Agent(智能体)?-5.jpg


图5 基于大语言模型的多智能体的整体架构

图5是论文列出的基于大语言模型的多智能体的整体架构,其中涉及多个智能体间的协作,类似于人类在问题解决场景中的协作。论文分四个方面对多智能体的架构进行解析:

  • 智能体和环境的交互(Agent-Environment Interface);
  • 智能体画像构建(Agents Profiling);
  • 智能体间的通信(Agents Communication);
  • 智能体能力获取(Agents Capabilities Acquisition)。
智能体和环境的交互

智能体通过和环境的交互,获取信息,思考规划,执行动作对环境施加影响,进行再获取信息,用于后续的思考和规划,如此循环迭代多轮。智能体交互的环境可分为以下几类:

  • 沙箱环境(Sandbox),即模拟或虚拟环境,沙箱环境主要用于软件开发和游戏,软件开发中将可编写和执行各类代码的代码解释器(Code Interpreter)作为模拟环境,游戏中将游戏规则作为模拟环境;
  • 物理环境(Physical),即真实物理环境,智能体和物理实体交互,且交互遵循物理定律,智能体的行动是真实的物理动作,比如打扫房间等;
  • 无环境(None),例如多智能体对一个问题进行辩论以达成共识,无环境下的应用主要关注智能体间的交互,而非智能体和外部环境的交互。
智能体画像构建

多智能体中各智能体承担不同的角色,每个角色均有相应的描述,包括特征、能力、行为、约束和目标等,这些描述构成智能体的画像(Profile)。例如,在游戏中,各智能体作为游戏玩家,有不同的角色和技能,对游戏的目标有不同的作用;在软件开发中,各智能体承担的角色包括产品经理、架构师、开发工程师、测试工程师等,每个智能体分别负责软件开发流程的某一环节;在辩论中,各智能体承担的角色包括正方、反方和裁判等,每个智能体有特定的职责和策略。
智能体画像构建的方法也可分为以下几类:

  • 预先定义(Pre-Defined),即由多智能体设计者人工显式地定义;
  • 模型生成(Model-Generated),即通过指示由大语言模型自动生成;
  • 数据衍生(Data-Derived),即根据已有数据集衍生。
智能体间的通信

多智能体中各智能体的相互协作依赖智能体间的通信,论文从通信范式、通信结构和通信内容三个方面对智能体间的通信进行解析:

  • 通信范式(Communication Paradigms):智能体间通信的方式、方法;
  • 通信结构(Communication Structure):智能体间通信的组织、结构;
  • 通信内容(Communication Content):智能体间通信的内容。
通信范式可分为三类:

  • 合作(Cooperative),各智能体有共同的目标,相互交换信息以达成统一的解决方案;
  • 辩论(Debate),各智能体各自表达和维护自己的观点和方案,点评其他智能体的观点和方案,最终达成共识;
  • 竞争(Competitive),各智能体有各自的目标,且各自的目标可能相互冲突。
通信结构可分为四类:

  • 分层(Layered)结构,如图6左上角所示,多智能体按层组织,每层包含多个不同角色的智能体,智能体只与同层或相邻层的其他智能体通信,《A Dynamic LLM-Powered Agent Network for Task-Oriented Agent Collaboration》这篇论文中提出的动态智能体网络(Dynamic LLM-Powered Agent Network,DyLAN)即属于分层结构,类似多层前馈神经网络,只是将其中的神经元替换为智能体,其针对给定问题,在推理时根据智能体优选算法选择各层中最优的智能体,然后使用选出的智能体逐层向前传递求解给定问题;
  • 去中心化(Decentralized)结构,如图6右上角所示,各智能体间直接点对点地相互通信,这种结构主要用于世界模拟(World Simulation)应用中;
  • 中心化(Centralized)结构,如图6左下角所示,由一个或一组智能体构成中心节点,其他智能体只与中心节点通信;
  • 共享消息池(Shared Message Pool)结构,如图6右下角所示,由MetaGPT提出,所有智能体发送消息至共享消息池,并订阅和自己相关的消息。

什么是 AI Agent(智能体)?-6.jpg


图6 多智能体的通信结构

通信内容格式主要是文本,但特定应用也有特殊的内容格式,例如,在软件开发中,智能体通信的内容可能还包括代码片段。
智能体能力获取

能力获取是多智能体中的关键过程,其使得智能体能够动态学习和演变。能力获取包括智能体从哪些类型的反馈中学习以增强其能力,以及智能体为有效解决复杂问题而调整自己的策略。
根据反馈的来源,可将反馈分为以下几类:

  • 来自真实或模拟环境的反馈(Feedback from Environment),这种反馈在问题求解应用中比较普遍,包括软件研发中智能体从代码解释器(Code Interpreter)获取的代码执行结果,机器人这类具身智能体从真实或模拟环境获取的反馈等;
  • 来自智能体间交互的反馈(Feedback from Agents Interactions),这种反馈在问题求解应用也比较常见,包括来自其他智能体的判断,或来自智能体间的通信等,例如在科学辩论中,智能体通过智能体间的通信评估和完善结论,在博弈游戏中,智能体通过之前几轮和其他智能体的交互完善自己的策略;
  • 来自人类反馈(Human Feedback),人类反馈对智能体对齐人类偏好很重要,这种反馈主要在人机回环(Human-in-the-loop)应用中,《Putting Humans in the Natural Language Processing Loop: A Survey》这篇综述论文系统总结了在自然语言处理流程的各个环节中,可加入的人类反馈,这些环节包括数据生产、数据打标、模型选择、模型训练、评估部署等,如图7所示;

什么是 AI Agent(智能体)?-7.jpg


图7 在自然语言处理流程的各个环节中可加入人类反馈


  • 无反馈(None),无反馈主要出现世界模拟这类应用中,因为这列应用主要侧重结果分析,例如传播模拟的结果分析,而非智能体能力获取,所以无需引入反馈对智能体的策略进行调整。
而智能体调整策略、增强能力的方式又可以分为三类:记忆(Memory),自我进化(Self-Evolution)和动态生成(Dynamic Generation)。
记忆(Memory)。智能体通过记忆模块保存过去交互和反馈的信息,在后续的执行中,可以从记忆中检索和当前任务相关的信息,特别是和本次任务目标类似的成功执行的信息,将这些信息作为上下文,辅助智能体思考规划。
自我进化(Self-Evolution)。除了基于记忆过去的信息来调整后续的执行外,智能体还可以动态地自我进化,调整目标和策略。论文在这里列举了自我进化相关的研究。
Self-Adaptive

《Self-Adaptive Large Language Model (LLM)-Based Multiagent Systems》这篇论文将MAPE-K控制循环和大语言模型相结合,实现多智能体的自我进化。MAPE-K控制循环是一个著名的框架,用于促进智能体的自主性和自我意识,如图8所示,其包含监控(Monitoring)、分析(Analyzing)、规划(Planing)、执行(Executing)、知识(Knowledge)这几个阶段或组件,而其名称就是由上述阶段或组件的英文单词的首字母组成。在监控阶段,智能体使用专门的传感器从环境中收集数据。在分析阶段,智能体评估数据以确定基于感知到的环境变化所需的响应。在规划阶段,智能体基于分析结果进一步收敛动作集合,通过执行动作能够达到预期的状态。在执行阶段,智能体通过执行器执行选定的动作。

什么是 AI Agent(智能体)?-8.jpg


图8 MAPE-K控制循环

MAPE-K控制循环和大语言模型相结合,实现多智能体的自我进化的方案如图9所示,其中包含多个智能体,而每个智能体采用如图8所示的MAPE-K控制循环实现自我进化,每个智能体的控制循环使用大语言模型实现知识存储、分析和规划。

什么是 AI Agent(智能体)?-9.jpg


图9 MAPE-K控制循环和大语言模型相结合,实现多智能体的自我进化的方案

每个智能体的控制循环使用大语言模型实现知识存储、分析和规划的细节如图10所示,其中智能体的处理流程主要包含以下三个任务:

  • 监控,即MAPE-K控制循环中的监控阶段,智能体收集感知器的数据,计算智能体的状态,联同来自其他智能体的消息,一并作为输入大语言模型的提示的一部分;
  • GPT,合并MAPE-K控制循环中的分析、规划阶段以及知识存储,智能体依赖大模型模型,由其根据监控输入进行推理,输出动作;
  • 执行,即MAPE-K控制循环中的执行阶段,智能体将大语言模型输出的动作转化为可执行的指令,并执行。

什么是 AI Agent(智能体)?-10.jpg


图10 每个智能体的控制循环使用大语言模型实现知识存储、分析和规划的细节

什么是 AI Agent(智能体)?-11.jpg


图11 智能体4在第一轮交互中输入大语言模型的提示以及大语言模型返回的动作

论文设计以下应用场景评估MAPE-K控制循环和大语言模型相结合的效果:该应用场景共有5个智能体,其中智能体1、2、3为书籍卖家,智能体4、5为书籍卖家,买卖双方通过多轮交互、互相发送消息进行议价,卖家的成功条件是以尽可能高的价格成功卖出书籍,买家的成功条件是以尽可能低的价格成功买到书籍。智能体4在第一轮交互中输入大语言模型的提示以及大语言模型返回的动作如图11所示,未被蓝色标记的部分是输入大语言模型的提示,其中包括智能体4的角色描述、成功条件以及智能体1、3发给智能体4的消息,被蓝色标记的部分是大语言模型返回的动作,因为智能体1给出的价格相比智能体3给出的价格更低,为20,所以智能体4后续的动作是给智能体1回复消息,期望价格进一步降低至15。
ProAgent

《ProAgent: Building Proactive Cooperative Agents with Large Language Models》这篇论文提出ProAgent框架,其中,多智能体在协作时,每个智能体能够分析当前状态,推断其他智能体的意图,动态调整本身的策略和行动,对齐其他智能体,从而增强多智能体的协作能力。
论文使用Overcooked-AI这一开源项目作为评估ProAgent的应用场景,该项目基于热门视频游戏Overcooked,其中,多智能体相互协作,协作目标是尽可能快地烹饪并递送汤,协作过程中智能体的动作包括选择食材、烹饪汤、递送汤等。

什么是 AI Agent(智能体)?-12.jpg


图12 ProAgent框架的整体架构和流程

ProAgent框架的整体架构和流程如图12所示,该框架包含4个模块和1个机制,4个模块分别是规划器(Planner)、校验器(Verificator)、控制器(Controller)和记忆(Memory),1个机制是认知修正(Belief Correction)。
ProAgent框架中智能体基于上述模块和机制感知环境、思考规划、执行动作的流程如图12左侧所示。首先,将智能体在环境中的状态由符号形式转化为自然语言形式,然后将自然语言形式的状态和记忆中的历史信息拼接在一起,由大语言模型作为规划器进行思考规划,识别其他智能体的意图,预估其他智能体的动作,并规划当前智能体本身后续的动作。接着,一方面通过认知修正机制,对比其他智能体的动作预估值和实际值,若有差异,则进行修正,另一方面通过校验器,校验当前智能体本身后续的规划动作是否可成功执行,若不可成功执行,则由规划器重新思考规划,如此循环,直至规划器给出可成功执行的动作,最后由控制器执行相应的动作。
流程细节和示例如图12右侧所示,当前智能体——Alice和另一个智能体——Bob合作制作并递送汤,Alice通过大语言模型进行思考规划时,其提示包括知识(即游戏目标、可选择的动作等)和状态(即Alice、Bob和环境当前的状态)等,大语言模型按照思维链(Chain of Thought,COT)的方式进行思考规划,先输出思考过程,再输出Alice的规划和Bob的意图,Bob的意图通过认知修正机制被修正,Alice的规划通过校验器被校验,校验通过的动作被控制器执行。
LTC

《Adapting LLM Agents Through Communication》这篇论文提出了通信学习(Learning through Communication,LTC)这一新的学习方式,将智能体的消息历史作为训练数据集对大语言模型进行微调。LTC既可用于单智能体,也可用于多智能体,单智能体通过思维链产生多个消息,多智能体通过相互之间的交互产生多个消息,这些消息构成类似强化学习中的轨迹,产生相应的结果,这些结果构成对各智能体的奖励,如图13所示。

什么是 AI Agent(智能体)?-13.jpg


图13 单智能体和多智能体的多个消息构成轨迹、产生奖励

图13左侧单智能体的多个消息构成的轨迹的数据示例如图14所示:

什么是 AI Agent(智能体)?-14.jpg


图14 单智能体的多个消息构成的轨迹的数据示例

其中,轨迹由词元序列构成,且每个词元通过Mask标记其由哪方产出,轨迹通过Reward标记其获得的奖励。
LTC的整体架构如图15所示,其参考强化学习,包括两个阶段:

  • 探索(Exploration)阶段,智能体通过和大语言模型、环境及其它智能体等各方的交互,产出多个消息,构成如图14所示的轨迹,这些轨迹会存入重放池(Replay Buffers);
  • 更新(Updating)阶段,从重放池中采样轨迹,使用这些轨迹作为训练数据集微调大语言模型,微调的目标函数包含两部分,一部分是大语言模型本身的损失函数,即期望大语言模型能够通过前序词元序列准确预测下一个词元,另一部分是强化学习中PPO优化算法的损失函数,即期望大语言模型能够最大化奖励,通过将这两部分加权求和,使得微调后的大语言模型在保持语言模型能力的同时,能够最大化奖励,提升解决问题的能力。

什么是 AI Agent(智能体)?-15.jpg


图15 LTC的整体架构

动态生成(Dynamic Generation)。系统运行过程中根据需要动态生成新的智能体。论文在这里列举了动态生成相关的研究。
AutoAgents

《AutoAgents: A Framework for Automatic Agent Generation》这篇论文提出AutoAgents框架,如图16所示,其针对某个任务(例如,写一篇关于人工智能觉醒的小说)可动态生成相应的智能体进行处理,处理过程包括两个阶段:

  • 草稿阶段(Draft Stage):通过三个预先定义的智能体——规划者(Planner)、智能体观察者(Agent Observer)、规划观察者(Plan Observer)的合作,生成完成任务所需的智能体和执行计划;
  • 执行阶段(Execution Stage):使用生成的智能体逐步执行计划,并通过一个预先定义的智能体——动作观察者(Action Observer)监控执行过程。

什么是 AI Agent(智能体)?-16.jpg


图16 AutoAgents框架

展开AutoAgents框架的部分细节。
在草稿阶段,规划者 负责根据任务内容生成和完善智能体和执行计划,智能体观察者 负责对生成的智能体的合理性以及和任务的匹配度进行分析,并向规划者提出建议,规划观察者 负责对生成的执行计划的合理性以及和任务的匹配度进行分析,向规划者提出建议。规划者和智能体观察者、规划观察者进行多轮交互,直至观察者不再有反馈或交互达到最大轮数,从而得到最终的智能体和执行计划,执行计划包含多个步骤,每步由一个或多个智能体完成,每个智能体包含以下信息:提示(Prompt,即智能体的画像、目标和约束)、描述(Description)、工具集和建议。
在执行阶段,执行计划被分步执行,每步由单个或多个智能体完成,每步的完成过程也会进行多轮迭代,直至当前步骤完成或迭代达到最大次数。若某步的完成过程由单个智能体进行多轮迭代,则智能体采用思维链的方式逐步思考,论文称之为“Self-refinement Agent”,若某步的完成过程由多个智能体进行多轮迭代,则智能体采用交互的方式逐步思考,论文称之为“Collaborative Refinement Action”。同时,论文引入长短期记忆,计划的执行过程采用长期记忆,每步的迭代过程采用短期记忆,论文称之为“Knowledge Sharing Mechanism”。每步完成后,动作观察者分析截至当前步的计划执行情况,对计划进行调整。
AutoAgents框架的处理过程的伪代码如图17所示。

什么是 AI Agent(智能体)?-20.jpg


图17 AutoAgents框架的处理过程的伪代码

AgentVerse

《AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors》这篇论文提出了AgentVerse框架,如图18所示,和AutoAgents类似,AgentVerse针对某个任务也可以动态生成相应的智能体进行处理,AgentVerse模拟人类组织解决问题的流程,针对给定问题,进行多轮迭代,每轮迭代又分为4个阶段:

  • 专家招聘(Expert Recruitment),定义和调整各智能体的角色;
  • 协作决策(Collaborative Decision-Making),由上述智能体联合讨论决定解决问题的策略;
  • 动作执行(Action Execution),各智能体和环境交互,执行动作;
  • 评估(Evaluation),评估本轮迭代结果是否符合预期。
协作决策中,论文尝试了两种多智能体间的协作方式,一种是水平结构(Horizontal Structure),即各智能体分别提出决策,再进行决策的整合,另一种是垂直结构(Vertical Structure),即由一个智能体提出决策,其他智能体提出反馈,迭代多次,直至达成一致。

什么是 AI Agent(智能体)?-21.jpg


图18 AgentVerse框架

应用

论文在前一部分分智能体和环境的交互、智能体画像构建、智能体间的通信、智能体能力获取四个方面对多智能体的架构进行解析。
论文在这一部分则对多智能体的应用进行分类介绍。论文将这些应用总结为两大类:问题解决(Problem Solving)和世界模拟(World Simulation)。两大类又分别包含了若干子类,问题求解的子类包括软件开发(Software Development)、具身智能(Embodied Agents)、科学实验(Science Experiments)、科学辩论(Science Debate),世界模拟的子类包括社会模拟(Societal Simulation)、游戏(Gaming)、心理学(Psychology)、经济学(Economy)、推荐系统(Recommender Systems)、政策制定(Policy Making)、疾病传播模拟(Disease Propagation Simulation)。论文分别对各子类的相关研究工作进行了梳理和介绍,并使用下表对各项工作按智能体和环境的交互、智能体画像构建、智能体间的通信、智能体能力获取这四个方面进行总结。

什么是 AI Agent(智能体)?-22.jpg


表1 对各项工作按智能体和环境的交互、智能体画像构建、智能体间的通信、智能体能力获取这四个方面进行总结

笔者下面主要对问题解决大类中软件开发的相关研究工作进行展开介绍,其他类别的相关研究工作读者可阅读论文原文,或进一步阅读论文所介绍工作的论文原文。
问题解决

使用多智能体解决问题的主要动机是利用具有专业知识的智能体的集体能力。这些智能体作为个体行动,合作解决复杂问题,如软件开发、具身智能体、科学实验和科学辩论。
下面主要对软件开发的相关研究工作进行展开介绍。软件开发流程一般是标准SOP工作流,由产品经理产出需求、架构师设计方案、研发工程师编写代码、测试工程师测试功能,因此,软件开发中各智能体的角色包括产品经理、架构师、研发工程师和测试工程师等,各智能体间的通信结构一般采用分层结构,按照标准SOP工作流,由各智能体逐步完成软件开发任务。
CAMEL

《CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society》这篇论文提出了“Role-Playing”框架,如图19所示,针对某个任务,由AI用户(AI user)和AI助手(AI assistant)这两个智能体分别承担某个角色,进行多轮交互,每轮交互中,由AI用户根据任务目标和当前进展给出指示,由AI助手跟随指示、给出相应解决方案,直至最终完成任务。
以“开发股票交易机器人”为例,首先由人提出这一想法,并由人指定AI用户的角色是交易员、AI助手的角色是Python程序员,然后由Task Specifier这一智能体对想法进行细化,产出详细的任务描述,指出开发的功能需要包括对社交媒体平台上关于某只股票的正负向评价进行分析、并根据分析结果执行相应的交易操作。根据任务描述,AI用户和AI助手进行多轮交互,例如,AI用户先给出安装Python依赖的指示,AI助手给出应安装依赖列表和相应安装命令,AI用户再给出代码中引入库的指示,AI助手给出引入库的代码,如此交互,逐步给出交易机器人的实现方案。

什么是 AI Agent(智能体)?-23.jpg


图19 CAMEL Role-Playing框架

“Role-Playing”框架涉及Task Specifier、AI用户、AI助手这三个智能体,如何让这三个智能体遵循要求,即由Task Specifier细化想法,由AI用户给出指示,由AI助手给出解决方案,论文针对不同类型的应用场景,为这三个智能体设计了相应的提示,论文称这部分工作为“Inception Prompting”,图20为软件开发场景下Task Specifier、AI用户、AI助手这三个智能体的指示。

什么是 AI Agent(智能体)?-24.jpg


图20 软件开发场景下Task Specifier、AI用户、AI助手这三个智能体的指示

Self-collaboration

《Self-collaboration Code Generation via ChatGPT》这篇论文提出了“self-collaboration”框架,如图21所示,包含Division of Labor和Collaboration两阶段。在Division of Labor阶段,论文引入标准的软件开发方法,将软件开发过程划分为若干步骤,每个步骤由相应角色的智能体负责完成。论文引入三种角色:Analyst,Coder和Tester,由Analyst负责拆解需求、设计方案,由Coder负责基于Analyst给出的方案和Tester给出的反馈编写代码,由Tester负责测试代码。在Collaboration阶段,则按照Division of Labor阶段已划分的软件开发若干步骤,分步执行,每步由相应角色的智能体负责完成。

什么是 AI Agent(智能体)?-25.jpg


图21 “self-collaboration”框架

论文在提示中使用了“Role Instruction”来引导大语言模型按照所指定的角色进行思考。每个角色有各自的指示,图22是Coder的指示示例。指示包含三部分,分别是任务描述、用户需求和角色描述。

什么是 AI Agent(智能体)?-26.jpg


图22 Coder的指示示例

ChatDev

《ChatDev: Communicative Agents for Software Development》这篇论文提出了ChatDev框架,以对话的方式实现软件开发,如图23所示。论文将软件开发过程划分为串行的三个阶段,分别是Design、Coding和Testing,每个阶段又可以进一步划分为一或多个子任务,Design阶段的子任务即Design,Coding的子任务包括Coding和Code Complete,Testing的子任务包括Code Review和Testing。每个子任务的完成采用CAMEL中提出的“Role-Playing”框架,引入Instructor和Assistant这两个智能体,由Instructor负责给出指示,由Assistant负责跟随指示、给出解决方案,这两个智能体会以对话的形式进行多轮交互,直至最终达成一致,输出当前任务的结果(文本或代码)。Instructor和Assistant这两个智能体在不同的子任务中有不同的角色,例如Code Review中,Instructor的角色是Reviewer,负责给出代码修改建议,Assistant的角色是Programer,负责根据建议修改代码。为了让大语言模型按照不同的角色进行思考,论文也采用了CAMEL提出的“Inception Prompting”方案,为不同的角色设计了不同的提示。

什么是 AI Agent(智能体)?-27.jpg


图23 ChatDev框架

通常,Instructor和Assistant这两个智能体以一问一答的形式进行多轮交互,交互方式可表示为: 在这种交互方式下,如果Instructor给出的指示不明确,Assistant可能给出错误的解决方案,即导致幻觉的发生。为了解决这个问题,论文对交互方式进行升级,提出了“Communicative Dehallucination”机制,即在每轮交互中,若Assistant认为Instructor给出的指示并不明确,则先不给出解决方案,而是进行角色反转,由Assistant发起问题,向Instructor询问指示的细节,并由Instructor给出回复,由Assistant问、Instructor答的交互也会迭代多轮,直至Assistant认为指示已明确,才由其给出本轮交互的解决方案,新的交互方式可表示为:

MetaGPT

《MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework》这篇论文指出软件开发有如图24所示的标准SOP流程,包括需求分析、架构设计、系统设计、开发、测试等各步,每步由相应角色的人员完成,包括产品经理、架构师、项目经理、开发工程师、测试工程师。

什么是 AI Agent(智能体)?-30.jpg


图24 软件开发的标准SOP流程

论文提出的MetaGPT框架即遵循上述SOP流程分步进行软件开发,并设计相应角色的智能体,包括产品经理、架构师、项目经理、开发工程师、测试工程师。论文为每个智能体指定角色、目标、约束和工具,图25右侧是开发工程师智能体的示例,其负责根据产品经理产出的需求文档和项目经理产出的系统设计、遵循一定的编码规范编写代码,并可运行和调试代码,将运行和调试结果作为反馈对代码进行修改和完善。论文要求每个智能体均输出结构化的消息,从而避免幻觉问题,例如,产品经理输出结构化的需求文档,架构师输出数据结构、接口定义等,开发工程师输出代码。各智能体输出的结构化消息统一存入如图25左侧所示的共享消息池,而各智能体从共享消息池中订阅自己所关注的消息,例如架构师关注产品经理输出的需求文档。

什么是 AI Agent(智能体)?-31.jpg


图25 共享消息池和开发工程师智能体

AgentCoder

《AgentCoder: Multi-Agent-based Code Generation with Iterative Testing and Optimisation》这篇论文提出AgentCoder框架,其相对上述研究工作,只设计了3个智能体,分别是Programmer、Test Designer和Test Executor,因此占用较少的计算资源,另外,其更关注通过测试收集到的反馈,通过反馈对代码进行完善。
AgentCoder框架如图26所示,Programmer、Test Designer这两个智能体相互解耦,分别独立负责代码编写和测试用例生成,Programmer按照思维链的方式进行思考,思考过程分为问题理解、算法选择、伪代码生成、代码生成这四步,Test Designer生成覆盖度高的测试用例,包括基础测试用例、边界测试用例,大值测试用例这三类。而Test Executor则负责收集Programmer生成的代码和Test Designer生成的测试用例,执行测试用例,并将执行结果反馈给Programmer,用于代码的完善。

什么是 AI Agent(智能体)?-32.jpg


图26 AgentCoder框架

世界模拟

多智能体的另一个主流应用场景是世界模拟,涵盖社会科学、游戏、心理学、经济学、政策制定等领域。多智能体在世界模拟中的使用关键在于其出色的角色扮演能力,这对于真实地描绘模拟世界中的各种角色和观点至关重要。例如,《Generative Agents: Interactive Simulacra of Human Behavior》这篇论文,在一个类似“模拟人生”的沙箱环境中引入25个智能体构成社区,每个智能体有不同的画像,相互之间可以通信,产生丰富的对话和行为数据,用于深度的社会科学分析,而用户可以通过自然语言和这些智能体进行交互。

什么是 AI Agent(智能体)?-33.jpg


图27 多智能体构成的社区

关于多智能体应用于世界模拟的相关研究工作,读者可阅读论文原文,或进一步阅读论文所介绍工作的论文原文。
工具和资源

框架

论文在这里介绍了三个开源的多智能体框架:MetaGPT、CAMEL和AutoGen,这些框架均利用多智能体的协作进行复杂任务的求解,但在方法细节上有所不同。
MetaGPT和CAMEL在上一部分已有介绍,这里不再赘述,这里再介绍一下AutoGen。
AutoGen

《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》这篇论文提出了AutoGen框架,如图28所示,该框架支持开发可定制的、对话形式的智能体,这些智能体可接收和发送消息,而思考产出消息的能力可以基于大语言模型、人类或工具,另外,该框架支持灵活定制多智能体间的交互方式。

什么是 AI Agent(智能体)?-34.jpg


图28 AutoGen框架

图29是使用AutoGen框架开发并使用多智能体的示例。
图29中最上面一层列出了AutoGen框架用于定义对话形式的智能体的接口——ConversableAgent,其有三个核心方法:send方法用于发送消息,receive方法用于接收消息,generate_replay方法用于基于大语言模型、人类或工具等产出消息。AutoGen框架默认提供了ConversableAgent接口的两个实现——AssistantAgent和UserProxyAgent,AssistantAgent基于大语言模型产出消息,UserProxyAgent基于人类或工具产出消息,开发者也可以自行实现ConversableAgent接口,定制智能体。
图29中中间一层是基于AutoGen框架开发多智能体的示例,其中定义了两个智能体,分别是基于UserProxyAgent实例化得到的User Proxy A,和基于AssistantAgent实例化得到的Assistant B。然后,通过register_replay方法为User Proxy A注册定制的产出待发送消息的方法,该方法首先从人类获取待发送消息,若人类无输入且之前接收的消息中包含“code”,则调用工具执行接收的消息,工具执行结果作为待发送消息,论文称这一定制过程为“Conversation-Driven Control Flow”。最后,通过initiate_chat方法初始化对话,由User Proxy A向Assistant B发送消息,要求绘制META和TESLA年初至今的股票价格走势图。
图29中最下面一层则是上述所开发多智能体以对话形式相互交互的示意。

什么是 AI Agent(智能体)?-35.jpg


图29 使用AutoGen框架开发并使用多智能体的示例

论文还提到一些框架支持系统运行过程中根据需要动态生成新的智能体,包括前面在智能体能力获取部分已介绍的AgentVerse、AutoAgents等,这里不再赘述。论文也还提到一些研究工作通过平台化的方式快速支持智能体的构建和使用,例如,《OpenAgents: An Open Platform for Language Agents in the Wild》这篇论文提出了OpenAgents这一开源平台,如图30所示,其包含三类智能体:数据分析智能体、插件调用智能体和WEB搜索智能体,既支持WEB形式的直接访问,也支持本地化部署。

什么是 AI Agent(智能体)?-36.jpg


图30 OpenAgents平台

数据集和基准

论文总结了多智能体研究中常用的数据集或基准,如表2所示。不同的研究使用不同的数据集和基准。在问题解决场景中,大多数数据集和基准用于评估多个智能体合作或辩论的规划和推理能力。在世界模拟场景中,数据集和基准用于评估模拟世界和真实世界的对齐,或分析不同智能体的行为。

什么是 AI Agent(智能体)?-37.jpg


表2 多智能体研究中常用的数据集或基准

挑战和机遇

多智能体框架和应用的研究正在迅速进展,带来了许多挑战和机遇。论文这里列举了一些关键挑战和未来研究的潜在领域:

  • 支持多模态环境。大多数先前关于多智能体的工作都集中在基于文本的环境中,擅长处理和生成文本,而在多模态环境中,智能体将与多种感官输入进行交互,并生成多种输出,如图像、音频、视频和物理动作,目前这方面工作仍然较少。
  • 解决幻觉问题。幻觉问题在大语言模型和单智能体中是一个重大挑战,而在多智能体中,这个问题变得更加复杂,在多智能体中,一个智能体的幻觉可能会产生级联效应,错误信息会从一个智能体传播到另一个智能体,因此,在多智能体中,既要修正单个智能体的幻觉,也要完善智能体间的信息流,避免错误信息的扩散。
  • 获取集体智能。传统未基于大语言模型的多智能体中,智能体通常使用强化学习从离线训练数据集中学习,而基于大语言模型的多智能体主要从即时反馈中学习,如与环境或人类的交互,通过记忆和自我进化,基于反馈进行调整。
  • 支持扩展。多智能体由多个智能体组成,每个智能体通常依赖某个大语言模型,需要大量的计算资源和存储空阿金,扩展多智能体中的智能体数量,会导致计算资源需求的增长,如何更好地设计多智能体的工作流和任务分配机制,使得扩展多智能体,提升效果的同时减少计算资源的使用。
实践

LangGraph


什么是 AI Agent(智能体)?-38.jpg


图31 LangChain整体框架

LangChain是一个面向大语言模型的应用开发框架,它可以将外部数据源、工具和大语言模型结合在一起。目前LangChain整体框架如图31所示,由以下部分组成:

  • LangChain库:

    • langchain-core:核心组件的抽象定义和LangChain表达式语言;
    • langchain-community:各种第三方实现的集成;
    • langchain:各类Chain和Agent的实现;

  • LangGraph:用于以图的方式将多个基于大语言模型的智能应用组合在一起;
  • LangServe:用于将LangChain应用部署为REST API的服务;
  • LangSmith:开发者平台,用于调试、评估和监控基于大语言模型构建的应用。
LangChain包含以下核心组件:

  • Model,表示大语言模型;
  • Prompt,表示提示;
  • Tool,表示工具;
  • Chain,表示将Model、Tool等组件串联在一起,甚至可以递归地将其他Chain串联在一起;
  • Agent,相对于Chain已固定执行链路,Agent能够基于大语言模型进行思考和规划,根据不同的问题实现动态的执行链路;
关于Chain的实践可以阅读笔者之前撰写的《Mac本地部署大模型体验AIGC能力》,关于Tool和Agent的实践可以阅读笔者之前撰写的《大语言模型Agent综述与实践》,以下是对LangGraph的介绍和使用,基于LangGraph构建多智能体。本文所用的LangGraph的版本是“0.2.39”。
LangGraph的核心是将多智能体间的通信建模为图,其使用三个关键组件定义图中的相关信息:

  • 状态:一个共享数据结构,表示多智能体的当前状态,其可以是任何Python类型,但通常是TypedDict或Pydantic BaseModel,其存储的信息可以是多智能体间通信的历史消息及其他定制化的信息;
  • 节点:Python 函数,用于编码某个智能体的计算逻辑,其以当前状态作为输入,执行计算逻辑,并返回更新后的状态;
  • 边:Python函数,根据当前状态确定要执行的下一个节点。
LangGraph提供多种方法来控制智能体间的通信顺序(即边的定义):

  • 显式控制流(图边):通过定义图边显式指定智能体间的通信顺序;
  • 动态控制流(条件边):通过定义条件边由大型语言模型或路由函数决定接下来调用的智能体。
以下是一个显式控制流的例子,首先定义两个智能体——研究助手和摘要专家,研究助手负责根据给定主题(例如“强化学习”)提供信息,摘要专家负责根据给定信息生成摘要,显式控制流即先由研究助手提供信息,再由摘要专家生成摘要,代码如下所示:
  1. import os
  2. DASHSCOPE_API_KEY = 'xxx'
  3. os.environ["DASHSCOPE_API_KEY"] = DASHSCOPE_API_KEY
  4. LANGCHAIN_API_KEY = 'xxx'
  5. os.environ["LANGCHAIN_TRACING_V2"] = "true"
  6. os.environ["LANGCHAIN_API_KEY"] = LANGCHAIN_API_KEY
  7. TAVILY_API_KEY = 'xxx'
  8. os.environ["TAVILY_API_KEY"] = TAVILY_API_KEY
  9. from langchain_community.chat_models import ChatTongyi
  10. from langchain_core.messages import HumanMessage, SystemMessage
  11. from langgraph.graph import StateGraph, MessagesState, START, END
  12. model = ChatTongyi(model_name="qwen-max", temperature=0.1)
  13. # 定义两个智能体——研究助手和摘要专家
  14. def research_agent(state: MessagesState):
  15.     """Call research agent"""
  16.     messages = [SystemMessage(content="You are a research assistant. Given a topic, provide key facts and information.")] + state["messages"]
  17.     response = model.invoke(messages)
  18.     return {"messages": [response]}
  19. def summarize_agent(state: MessagesState):
  20.     """Call summarization agent"""
  21.     messages = [SystemMessage(content="You are a summarization expert. Condense the given information into a brief summary.")] + state["messages"]
  22.     response = model.invoke(messages)
  23.     return {"messages": [response]}
  24. workflow = StateGraph(MessagesState)
  25. workflow.add_node("research", research_agent)
  26. workflow.add_node("summarize", summarize_agent)
  27. # 指定显式控制流,先由研究助手提供信息,再由摘要专家生成摘要
  28. workflow.add_edge(START, "research")
  29. workflow.add_edge("research", "summarize")
  30. workflow.add_edge("summarize", END)
  31. graph = workflow.compile()
  32. for s in graph.stream(
  33.     {"messages": [HumanMessage(content="强化学习")]},
  34.     {"recursion_limit": 100},
  35. ):
  36.     if "__end__" not in s:
  37.         print(s)
  38.         print("----")
复制代码
执行上述代码,LangSmith中记录的执行过程和结果如图32所示,从中可以看出,执行过程先由研究助手调用大语言模型给出“强化学习”的相关信息,再由摘要专家调用大语言模型根据上述信息,给出摘要:
强化学习(Reinforcement Learning, RL)是一种通过智能体与环境交互来学习最优行动策略的机器学习方法,旨在最大化累积奖励。其核心概念包括智能体、环境、状态、动作、奖励和策略。RL的目标是找到一个长期总奖励最大的策略,主要分为基于价值、基于策略和基于模型的方法。应用领域涵盖游戏(如AlphaGo)、机器人学、自动驾驶及推荐系统等。尽管面临样本效率低、探索与利用难题以及泛化能力差等挑战,随着计算资源和算法的进步,RL正逐渐成为解决复杂问题的有效工具,并展现出广泛的应用前景。
什么是 AI Agent(智能体)?-39.jpg


图32 显式控制流的执行过程和结果

也可以将上述显式控制流修改为动态控制流,将研究助手和摘要专家这两个智能体作为工具,以ReAct的方式由大语言模型决定接下来调用的智能体,代码如下:
  1. import os
  2. DASHSCOPE_API_KEY = 'xxx'
  3. os.environ["DASHSCOPE_API_KEY"] = DASHSCOPE_API_KEY
  4. LANGCHAIN_API_KEY = 'xxx'
  5. os.environ["LANGCHAIN_TRACING_V2"] = "true"
  6. os.environ["LANGCHAIN_API_KEY"] = LANGCHAIN_API_KEY
  7. TAVILY_API_KEY = 'xxx'
  8. os.environ["TAVILY_API_KEY"] = TAVILY_API_KEY
  9. from langchain_community.chat_models import ChatTongyi
  10. from typing import Annotated
  11. from langchain_core.messages import SystemMessage, ToolMessage
  12. from langgraph.prebuilt import ToolNode, InjectedState, create_react_agent
  13. model = ChatTongyi(model_name="qwen-max", temperature=0.1)
  14. # 定义两个智能体——研究助手和摘要专家
  15. def research_agent(state: Annotated[dict, InjectedState]):
  16.     """Call research agent"""
  17.     messages = [SystemMessage(content="You are a research assistant. Given a topic, provide key facts and information.")] + state["messages"][:-1]
  18.     response = model.invoke(messages)
  19.     tool_call = state["messages"][-1].tool_calls[0]
  20.     return {"messages": [ToolMessage(response.content, tool_call_id=tool_call["id"])]}
  21. def summarize_agent(state: Annotated[dict, InjectedState]):
  22.     """Call summarization agent"""
  23.     messages = [SystemMessage(content="You are a summarization expert. Condense the given information into a brief summary.")] + state["messages"][:-1]
  24.     response = model.invoke(messages)
  25.     tool_call = state["messages"][-1].tool_calls[0]
  26.     return {"messages": [ToolMessage(response.content, tool_call_id=tool_call["id"])]}
  27. # 将研究助手和摘要专家作为工具
  28. tool_node = ToolNode([research_agent, summarize_agent])
  29. # 定义一个负责总体协调的智能体,其将研究助手和摘要专家作为工具,以ReAct的方式进行思考,分步调用工具
  30. graph = create_react_agent(model, [research_agent, summarize_agent], state_modifier="First, research information on a given topic, Second, summarize based on information above.")
  31. inputs = {"messages": [("user", "强化学习")]}
  32. for s in graph.stream(inputs, stream_mode="values"):
  33.     message = s["messages"][-1]
  34.     if isinstance(message, tuple):
  35.         print(message)
  36.     else:
  37.         message.pretty_print()
复制代码
执行上述代码,LangSmith中记录的执行过程和结果如图33所示,从中可以看出,负责总体协调的智能体,其将研究助手和摘要专家作为工具,以ReAct的方式进行思考,分步调用工具,先由研究助手调用大语言模型给出“强化学习”的相关信息,再由摘要专家调用大语言模型根据上述信息,给出摘要:
强化学习(Reinforcement Learning, RL)是一种机器学习方法,通过智能体与环境的互动来学习最优行为策略。智能体根据其行为获得奖励或惩罚,并据此调整策略以最大化长期累积奖励。关键概念包括智能体、环境、状态、动作、奖励和策略。RL的目标是找到最优策略以获取最大累计奖励。主要算法类型有基于价值的方法(如Q-learning)、策略梯度方法(如REINFORCE)和模仿学习。RL广泛应用于游戏、机器人学、自动驾驶、推荐系统和资源管理等领域。面临的主要挑战包括样本效率低、探索与利用之间的权衡以及奖励稀疏性。未来,随着计算能力和算法的进步,预计RL将在更多实际应用中发挥作用,并提高其泛化和适应未知环境的能力。
什么是 AI Agent(智能体)?-40.jpg


图33 动态控制流的执行过程和结果

参考文献


  • 《真格基金戴雨森谈生成式AI:这是比移动互联网更大的创业机会,开始行动是关键》
  • 《Large Language Model based Multi-Agents: A Survey of Progress and Challenges》
  • 《A Survey on Large Language Model based Autonomous Agents》
  • 《A Dynamic LLM-Powered Agent Network for Task-Oriented Agent Collaboration》
  • 《Putting Humans in the Natural Language Processing Loop: A Survey》
  • 《Self-Adaptive Large Language Model (LLM)-Based Multiagent Systems》
  • 《ProAgent: Building Proactive Cooperative Agents with Large Language Models》
  • 《Adapting LLM Agents Through Communication》
  • 《AutoAgents: A Framework for Automatic Agent Generation》
  • 《AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors》
  • 《CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society》
  • 《Self-collaboration Code Generation via ChatGPT》
  • 《ChatDev: Communicative Agents for Software Development》
  • 《MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework》
  • 《AgentCoder: Multi-Agent-based Code Generation with Iterative Testing and Optimisation》
  • 《Generative Agents: Interactive Simulacra of Human Behavior》
  • 《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》
  • 《OpenAgents: An Open Platform for Language Agents in the Wild》
  • 《LangGraph》
  • 《LangGraph中的多智能体系统》

Javabloger LV

发表于 2025-4-9 18:55:19

要了解什么是AI Agent(智能体),先搞清楚什么是AI(人工智能)、AGI(通用人工智能)、AIGC(人工智能内容生成)、NLP(自然语言处理)、LLM(大语言模型)、Multimodal(模态)、COT(思维链)等基础概念,要了解AI Agent(智能体)和AI(人工智能)的本质区别。
AI(人工智能),旨在通过计算机程序和算法模拟人类智能,涵盖机器学习、深度学习、自然语言处理等领域,让计算机能像人类一样思考、学习、推理、决策和交流。
AI Agent(智能体),是一种基于LLM(大语言模型),能够独立思考、调用工具、处理任务的可执行计算机程序,拥有复杂的工作流程,无需人类驱动自动进行交互。作为AI(人工智能)的一种具体实现,更侧重于实体化、自主性和交互性,并能与其他智能体或人类进行交互和协作。例如,GPTs 可以打造个人专属 AI 助理(这是一种智能体),能帮忙整理电子邮件,还随时能给你创意灵感...
AI Agent(智能体)主要依赖规划(Planning)+ 记忆(Memory) + 工具(Tools)+行动(Action)四大核心要素进行工作其中,LLM(大语言模型)是智能体的“大脑”,通过 LLM(大型语言模型)把问题拆解成具有先后逻辑的子问题,然后按需调用 LLM(大型语言模型)、RAG(检索增强生成)、文生图/文生视频等各种工具,解决最终问题。
那么,AI Agent(智能体)能做什么呢,有哪些使用场景呢?想象一下,你拥私人管家一样的 AI 智能体,叫你起床、帮你放音乐、自动做早餐、规划上班路线、写工作汇报、帮你回复各种繁杂的邮件、帮你做PPT、做数据统计、做产品规划、程序代码自动编写、自媒体自动运营、电商运营...啊啊啊,这也太方便了吧!
智能家教:一个教学型 AI 智能体,记住你每个知识点的学习情况,有针对性地教学,并提供个性化的练习题,帮你快速提高成绩。妈妈再也不用担心我的学习了...
智能客服:堪比真人的聊天机器人,代替客服与用户沟通,顺畅的与客户交流、解答客户问题、处理电商订单退换货等
自动驾驶:智能体代替真人驾驶汽车(例如特斯拉自动驾驶、百度萝卜快跑自动驾驶),通过多个智能体处理传感器数据、规划路线,做出驾驶决策,自动避让行人和车辆...
股票交易:智能体根据市场价格、成交量等股票技术指标,自动帮你选择股票、合理规划买卖时机、自动交易决策,再也不用每天盯盘了。
游戏NPC:作为非玩家角色(NPC),跟玩家互动、对战、组队等,具有高度适应性和策略性,以创造引人入胜的游戏体验。
还有智能办公、制造机器人、智能家具、智能交通指挥、智能医生等智能化应用场景,AI Agent(智能体)将深入各行各业,就像未来世界的超级助手,无论是在家、公司、医院、商场还是交通中,它们都能真真实实的改变我们的生活。
AI Agent (智能体)的出现对互联网行业的工作方式、从业门槛等,带来巨大的影响,尤其是产品经理、程序员,毫不夸张的说,未来3-5年不懂AI Agent (智能体)的产品经理第1个将被淘汰,其次就是程序员。
当前最炙手可热的 岗位,无疑是AI产品经理、AI开发工程师、AI算法工程师、AI人工智能训练师、大模型开发工程师等AI相关岗位,部分岗位几十万甚至上百万年薪..想想都觉得香。
想要转AI产品经理、AI开发工程师的同学,建议尽早行动起来,越到后面AI相关岗位竞争可就激烈了。知乎知学堂旗下AI 解决方案公开课,从AI入门到精通,再到进阶,提供全方AI知识和技术培训。想转行AI产品、开发的同学,通过课程能学到机器学习、深度学习、NLP等AI基础知识和技术,和大模型、多模态、AI Agent(智能体)的技术原理和实际应用等。这么说吧,想转行AI产品经理、AI开发工程师拿高薪的同学,这课程是首选,入口我放在下面了,直接预约就可以↓
课程讲解当下流行的AI Agent (智能体),让你了解它的原理、核心技术、应用场景等,拆解使用AI Agent (智能体)技术真实落地的案例,干货满满。课程内容丰富,而且通俗易懂,哪怕是技术小白也能轻松上手,建议产品、开发同学,去听听看哦。
想要学习AI Agent (智能体) ,我们至少要经历下面三个阶段,在AI的知识体系中成长和进步,不断地实践,进而获得AI Agent (智能体)构建和开发能力。
第一阶段:了解AI Agent (智能体),熟悉API和调用。理解AI Agent (智能体)基础知识 ,了解各种API调用方法,能够调用预设的功能模块,达成业务交互与数据处理,能够独立构建简单的AI Agent (智能体),比如天气查询...
第二阶段:掌握NLP技术,学习自然语言处理和文本生成。掌控自然语言处理(NLP)编程工具、基本原理、核心技术,运用自然语言生成技术,让AI Agent (智能体) 能够自动生成文本或对话,能够开发基于NLP的应用,例如聊天机器人...
第三阶段:综合运用 API 调用、自然语言处理以及优化算法。将API 调用、自然语言处理以及优化算法等技术,综合运用于智能体开发中,可以构建比较复杂的AI Agent (智能体)应用,例如自动驾驶系统、股票交易系统...依据反馈与应用成效,不断优化AI Agent (智能体)。
能够把上面三个阶段走完,基本就能够构建非常多AI Agent (智能体)应用,不管对于后期转岗择业,还当前工作效率提升,都是非常有用的。比如,对于产品经理来说,通过构建AI Agent (智能体),可以进行产品最小化验证,不需要投入大量开发,即可构建商业产品和有效验证,为产品立项和产品开发提供依据。对于程序员来说,能够构建、开发、优化各种AI Agent (智能体)应用,调用包括LLM(大语言模型)在内的各种工具,甚至能构建复杂的AI Agent (智能体)产品,这岗位竞争力强了不是一星半点。

您需要登录后才可以回帖 登录 | 立即注册