
64张图全面剖析 AI 智能体的架构设计和关键技术 原创 精华
基于大语言模型(LLM)的 AI 智能体正在变得越来越普遍,似乎正在取代我们
熟悉的“常规”对话式 LLM。这些令人惊叹的能力并非轻易就能实现,需要许多组件协同工作。
在这篇文章中,我们将通过64张图,探索 AI 智能体的架构设计、关键技术、主要组成部分、以及多智能体框架。
具体包括14项关键技术:什么是LLM智能体、记忆、短期记忆、长期记忆、工具、Toolformer、模型上下文协议(MCP)、规划、推理、推理与行动、反思、多智能体协作、人类行为的交互式仿真、模块化框架等。
下文我们详细剖析之。
一、AI 智能体的架构设计和关键技术
1、什么是 LLM 智能体?
要了解 LLM 智能体是什么,我们首先来探索 LLM 的基本能力。传统上,LLM 所做的无非是 next-token 的预测。
通过连续采样许多 tokens,我们可以模拟对话,并使用 LLM 为我们的问题提供更详细的答案。
然而,当我们继续“对话”时,任何给定的 LLM 都会显露出它的主要缺点之一:它不记得对话!
还有许多其他任务是 LLM 经常失败的,包括基本的数学运算,比如:乘法和除法:
这是否意味着 LLM 很糟糕?绝对不是!LLM 不需要具备一切能力,因为我们可以借助外部工具、记忆和检索系统来弥补它们的不足。
通过外部系统,LLM 的能力可以得到增强。Anthropic 将其称为“增强型 LLM”。
例如,当面临一个数学问题时,LLM 可能会决定使用适当的工具(比如:计算器)。
那么,这种“增强型 LLM”是不是智能体呢?不完全是,但也有一点……
让我们先从智能体的定义开始:
智能体是可以被视为通过传感器感知其环境并通过执行器对环境采取行动的任何事物。
--Russell & Norvig,《人工智能:一种现代方法》(2016)
智能体与环境互动,通常包含几个重要组成部分:
- 环境:智能体互动的世界;
- 传感器:用于观察环境;
- 执行器:用于与环境互动的工具;
- 效应器:决定如何从观察到行动的“大脑”或规则。
这个框架适用于各种与各种环境互动的智能体,比如:与物理环境互动的机器人,或者与软件互动的 AI 智能体。
我们可以将这个框架稍微泛化一下,使其适用于“增强型 LLM”。
使用“增强型” LLM,智能体可以通过文本输入(因为 LLM 通常是基于文本的模型)来观察环境,并通过使用工具(比如:搜索网络)来执行某些动作。
为了选择要采取哪些动作,LLM 智能体有一个关键组成部分:它的规划能力。为此,LLM 需要能够通过诸如思维链等方法进行“推理”和“思考”。
通过这种推理行为,LLM 智能体会规划出必要的动作。
这种规划行为使智能体能够理解情况(LLM)、规划下一步(规划)、采取行动(工具)并跟踪已采取的动作(记忆)。
根据系统,您可以拥有不同程度自主性的 LLM 智能体。
根据您询问的对象,一个系统越“智能体化”,LLM 就越决定系统的可行为方式。
在接下来的部分中,我们将通过 LLM 智能体的三个主要组成部分:记忆、工具和规划,来探讨各种自主行为的方法。
2、记忆
LLM 是健忘的系统,或者更准确地说,当与它们互动时,它们根本不会进行任何记忆。
例如,当您向 LLM 提问,然后接着问另一个问题时,它不会记得前者。
我们通常将其称为短期记忆,也称为工作记忆,它作为(近乎)即时上下文的缓冲区。这包括 LLM 智能体最近采取的行动。
然而,LLM 智能体还需要跟踪可能的数十个步骤,而不仅仅是最近的行动。
这被称为长期记忆,因为 LLM 智能体理论上可能需要记住数十甚至数百个步骤。
让我们来探索一些赋予这些模型记忆的技巧。
3、短期记忆
启用短期记忆的最直接方法是使用模型的上下文窗口,这基本上是 LLM 可以处理的 tokens 数量。
上下文窗口通常至少有8192个 tokens,有时可以扩展到数十万个 tokens!
较大的上下文窗口可用于跟踪完整的对话历史作为输入提示词的一部分。
只要对话历史适合 LLM 的上下文窗口,这种方法就可以很好地模拟记忆。然而,与其真正记住对话,我们实际上是“告诉” LLM 对话是什么。
对于上下文窗口较小的模型,或者当对话历史较长时,我们可以使用另一个 LLM 来总结迄今为止发生的对话。
通过持续总结对话,我们可以保持对话的大小较小。它会减少 tokens 数量,同时只跟踪最重要的信息。
4、长期记忆
LLM 智能体的长期记忆包括需要长期保留的智能体过去的行动空间。
启用长期记忆的常见技术是将所有之前的互动、行动和对话存储在外部向量数据库中。
为了构建这样一个数据库,对话首先被嵌入(Embedded)到能够捕捉其含义的数值表示中。
在构建数据库之后,我们可以将任何给定的提示词嵌入其中,并通过将提示词嵌入与数据库嵌入进行比较,在向量数据库中找到最相关的信息。
这种方法通常被称为检索增强生成(RAG)。
长期记忆还可以涉及保留来自不同会话的信息。例如,您可能希望 LLM 智能体记住它在以前会话中进行的任何研究。
不同类型的信息也可以与不同类型的记忆相关联以存储。在心理学中,有许多不同类型的记忆可以区分,但《语言智能体的认知架构》论文将其中四种与 LLM 智能体联系起来。
这种区分有助于构建智能体框架。语义记忆(关于世界的事实)可能存储在与工作记忆(当前和最近的情况)不同的数据库中。
5、工具
工具允许给定的 LLM 与外部环境(比如:数据库)互动,或者使用外部应用程序(比如:运行自定义代码)。
工具通常有两种类型:获取数据以检索最新信息,以及采取行动,如安排会议或订购食物。
要实际使用工具,LLM 需要生成与给定工具的 API 匹配的文本。我们通常期望可以格式化为 JSON 的字符串,以便轻松地输入代码解释器。
请注意,这不仅限于 JSON,我们也可以直接在代码中调用工具!您还可以生成 LLM 可以使用的自定义函数,比如:基本的乘法函数。这通常被称为函数调用(Function Calling)。
一些 LLM 可以通过正确且广泛的提示词使用任何工具。工具使用是大多数当前 LLM 具备的能力。
更稳定的方法是通过微调 LLM 来访问工具。
工具可以按给定顺序使用,如果智能体框架是固定的……
……或者 LLM 可以自主选择何时使用哪个工具。LLM 智能体,如上图所示,本质上是 LLM 调用的序列(但带有自主选择动作/工具等)。
换句话说,中间步骤的输出被反馈到 LLM 中以继续处理。
6、Toolformer
工具使用是一种强大的技术,可以增强 LLM 的能力并弥补它们的不足。因此,近年来关于工具使用和学习的研究工作迅速增加。
对工具使用的关注增加,(智能体)LLM 有望变得更强大。这项研究不仅涉及提示词 LLM 使用工具,还涉及专门训练它们使用工具。
最早实现这一目标的技术之一是 Toolformer,这是一种经过训练的模型,可以决定调用哪些 API 以及如何调用。
它通过使用 [and] tokens 来指示调用工具的开始和结束。当给定一个提示词,例如 “5乘以3是多少?”时,它开始生成 tokens,直到达到 [ token。
之后,它继续生成 tokens,直到达到 → 标记,这表明 LLM 停止生成 tokens。
然后,将调用工具,并将输出添加到迄今为止生成的 tokens 中。
] 符号表示 LLM 现在可以在必要时继续生成。
Toolformer 通过仔细生成一个包含许多工具使用的数据集来创建这种行为,模型可以在此基础上进行训练。对于每个工具,手动创建几个示例提示词,并用于采样使用这些工具的输出。
根据工具使用的正确性、输出和损失减少对输出进行过滤。得到的数据集用于训练 LLM 以遵循这种工具使用的格式。
自 Toolformer 发布以来,出现了许多令人兴奋的技术,例如;可以使用数千种工具的 LLM(ToolLLM)或可以轻松检索最相关工具的 LLM(Gorilla)。
不管怎样,大多数当前的 LLM(2025年初)都经过训练,可以通过 JSON 生成轻松调用工具。
7、模型上下文协议(MCP)
工具是智能体框架的重要组成部分,允许 LLM 与世界互动并扩展其能力。然而,当您有许多不同的 API 时,启用工具使用变得麻烦,因为任何工具都需要:
- 手动跟踪并输入给 LLM
- 手动描述(包括其预期的 JSON 模式)
- 每当其 API 发生变化时手动更新
为了使工具更容易在任何给定的智能体框架中实现,Anthropic 开发了模型上下文协议(MCP)。MCP 标准化了对天气应用和 GitHub 等服务的 API 访问。
它由三个部分组成:
- MCP 主机:LLM 应用程序(比如:Cursor),管理连接
- MCP 客户端:与 MCP 服务器保持 1:1 连接
- MCP 服务器:向 LLM 提供上下文、工具和能力
例如,假设您希望某个 LLM 应用程序总结您仓库中的5个最新提交。
MCP 主机(与客户端一起)将首先调用 MCP 服务器,询问哪些工具可用。
LLM 收到信息后,可能会选择使用工具。它通过主机向 MCP 服务器发送请求,然后接收结果,包括使用的工具。
最后,LLM 接收结果并可以向用户解析答案。
这个框架通过连接到任何 LLM 应用程序都可以使用的 MCP 服务器,使创建工具变得更容易。因此,当您创建一个与 Github 互动的 MCP 服务器时,任何支持 MCP 的 LLM 应用程序都可以使用它。
8、规划
工具使用使 LLM 能够增强其能力。它们通常通过类似 JSON 的请求调用。
但是,LLM 在智能体系统中如何决定使用哪个工具以及何时使用呢?
这就是规划的作用。LLM 智能体中的规划涉及将给定任务分解为可操作的步骤。
这个计划允许模型迭代地反思过去的行为,并在必要时更新当前计划。
为了在 LLM 智能体中启用规划,我们先来看看这种技术的基础,即推理。
9、推理
规划可操作步骤需要复杂的推理行为。因此,LLM 必须能够在规划任务的下一步之前展现出这种行为。
“推理”型 LLM 倾向于在回答问题之前“思考”。
我在这里使用“推理”和“思考”这两个术语时有点随意,因为我们可以争论这是否是类似人类的思考,或者仅仅是将答案分解为结构化的步骤。
这种推理行为可以通过大致两种选择来实现:微调 LLM 或特定的提示词工程。
通过提示词工程,我们可以创建 LLM 应遵循的推理过程示例。提供示例(也称为少样本提示)是引导 LLM 行为的好方法。
这种提供思维过程示例的方法称为思维链,能够实现更复杂的推理行为。
思维链也可以在没有任何示例(零样本提示)的情况下启用,只需简单地说“让我们逐步思考”。
在训练 LLM 时,我们可以给它足够数量包含类似思维的示例数据集,或者 LLM 可以发现自己的思维过程。
一个很好的例子是 DeepSeek-R1,其中使用奖励来引导思维过程的使用。
10、推理与行动
在 LLM 中启用推理行为很好,但并不一定使其能够规划可操作的步骤。
我们到目前为止关注的技术要么展现出推理行为,要么通过工具与环境互动。
例如:思维链纯粹关注推理。
最早将这两个过程结合起来的方法之一被称为 ReAct(推理和行动)。
ReAct 通过精心的提示词工程实现。ReAct 提示词描述了三个步骤:
- 思考:对当前情况的推理步骤;
- 行动:要执行的一组动作(例如,工具);
- 观察:对行动结果的推理步骤。
提示词本身相当简单。
LLM 使用此提示词(可以作为系统提示词)来引导其行为,以循环的方式进行思考、行动和观察。
它会持续这种行为,直到某个行动指定返回结果。通过迭代思考和观察,LLM 可以规划动作,观察其输出,并相应地进行调整。
因此,这个框架使 LLM 能够展现出比具有预定义和固定步骤的智能体更具自主性的智能体行为。
11、反思
没有人,即使是带有 ReAct 的 LLM,也不会完美地执行每一个任务。失败是过程的一部分,只要你能从这个过程中反思。
这个过程在 ReAct 中缺失,而 Reflexion(反思)技术则填补了这一空白。Reflexion 是一种使用语言强化帮助智能体从过去的失败中学习的技术。
这种方法假设了三个 LLM 角色:
- 行动者:根据状态观察选择并执行动作。我们可以使用思维链或 ReAct 等方法。
- 评估者:对行动者产生的输出进行评分。
- 自我反思:反思行动者采取的动作和评估者生成的评分。
添加记忆模块以跟踪动作(短期)和自我反思(长期),帮助智能体从错误中学习并识别改进的动作。
一个类似且优雅的技术是 SELF-REFINE,其中细化输出和生成反馈的动作会重复进行。
在 SELF-REFINE 中,同一个 LLM 负责生成初始输出、细化输出和反馈。
有趣的是,这种自我反思行为,无论是 Reflexion 还是 SELF-REFINE,都与强化学习非常相似,后者根据输出的质量给予奖励。
12、多智能体协作
我们探索的单智能体存在几个问题:工具过多可能会使选择复杂化,上下文变得过于复杂,任务可能需要专业化。
相反,我们可以转向多智能体,即多个智能体(每个智能体都有自己的工具、记忆和规划)相互互动以及与环境互动的框架:
这些多智能体系统通常由专业化的智能体组成,每个智能体都配备了自己的一套工具,并由一个主管监督。主管管理智能体之间的通信,并可以为专业化的智能体分配特定的任务。
每个智能体可能有不同的工具类型可供使用,但也可能有不同的记忆系统。
在实践中,有几十种多智能体架构,它们的核心有两个组成部分:
- 智能体初始化:如何创建单个(专业化的)智能体?
- 智能体协调:如何协调所有智能体?
让我们探索各种有趣的多智能体框架,并突出这些组成部分的实现方式。
13、人类行为的交互式仿真
可以说最具影响力且非常酷的多智能体论文之一是《生成式智能体:人类行为的交互式仿真》。
在这篇论文中,他们创建了模拟可信人类行为的计算软件智能体,他们称之为生成式智能体。
每个生成式智能体被赋予的档案使其表现出独特的方式,并有助于创造更有趣和动态的行为。
每个智能体都初始化了三个模块(记忆、规划和反思),非常类似于我们之前看到的 ReAct 和 Reflexion 的核心组成部分。
记忆模块是这个框架中最重要的组成部分之一。它存储了规划和反思行为,以及迄今为止的所有事件。
对于任何给定的下一步或问题,记忆会被检索并根据其最近性、重要性和相关性进行评分。评分最高的记忆将与智能体共享。
一起,它们允许智能体自由地进行行为并相互互动。因此,几乎没有智能体协调,因为它们没有特定的目标需要努力实现。
论文中有太多令人惊叹的信息片段,但我想强调他们的评估指标。
他们的评估主要以智能体行为的可信度为指标,由人类评估者进行评分。
这展示了观察、规划和反思对于这些生成式智能体的表现是多么重要。正如我们之前探讨的,规划如果没有反思行为是不完整的。
14、模块化框架
无论您选择哪种框架来创建多智能体系统,它们通常都由几个要素组成,包括其档案、对环境的感知、记忆、规划和可用动作。
实现这些组成部分的流行框架有 Spring AI Alibaba、AutoGen、MetaGPT 和 CAMEL。然而,每个框架在每个智能体之间的通信方式上略有不同。
以 CAMEL 为例,用户首先创建问题并定义 AI 用户和 AI 助手角色。AI 用户角色代表人类用户,并将引导整个过程。
之后,AI 用户和 AI 助手将通过相互互动来解决查询问题。
这种角色扮演方法实现了智能体之间的协作沟通。
AutoGen 和 MetaGPT 有不同的沟通方式,但归根结底,它们都具有协作性质的沟通。智能体有机会相互交流,以更新它们当前的状态、目标和下一步行动。
在过去的一年里,尤其是在过去的几周里,这些框架的增长呈爆炸式增长。
2025年将是令人兴奋的一年,因为这些框架不断成熟和发展!
总结,以上就是 LLM Agents 的探索之旅!希望这篇文章能让你更好地理解 LLM Agents 的构建方式。
好了,这就是我今天想分享的内容。
本文转载自玄姐聊AGI 作者:玄姐
