我眼中的智能体(Agent)

· 8027 字 · 17 分钟 · 黄国政
按语

本文尝试通过对 Agent 定义、基本要素、历史与发展、分类与运行机制等内容的学习来明确「智能体究竟是什么」。

经过学习与比较,我初步形成了对 Agent、AI、LLM、API 的个人感性认识。但也正是在这一过程中,更多问题也出现了——那么,机器学习是什么?强化学习是什么?深度学习是什么?看起来,Agent 似乎是 LLM 进一步发展的产物,后者主要是处理自然语言,作为一种「对话」的存在,但 Agent 的出现实现了从「对话沟通」迈向「决策行动」的变化。这是否意味着 Agent 和 LLM 分别是不同的大专题内容,我还需要补充更多关于 LLM 的知识?

注:文中的 Agent 即「智能体」,LLM 即「大语言模型」。

智能体(Agent) #

我们在前面动手搭建了一个可以运行的智能体(Agent),它通过调用 wttr.in、Tavily 以及 Deepseek 的 API,进而逐步实现天气查询、旅游景点推荐以及根据需求调用 LLM 的功能。

基于前面的实战,让我们尝试从概念层次来理解什么是智能体。在概念的基础上,我们还会从智能体的基本要素、分类、历史和发展,以及 Agent 与 AI、LLM 等概念的比较来深化认识。

一、定义 #

在人工智能领域,智能体被定义为任何能够通过传感器(Sensors)感知其所处环境(Environment),并自主地通过执行器(Autuators)采取行动(Action)以达成特定目的的实体。

这里可以关注 6 个关键词,分别是「传感器」、「环境」、「自主」、「执行器」、「行动」与「实体」。

二、基本要素 #

最简单地,智能体是一种「实体」,我们将其理解为一种存在的、能被认知的对象即可,虽然它无论在讨论还是实际场景中看起来都是抽象的,而非如同指认「眼前的物品是一颗苹果」那么简单。

既然智能体作为一种实体存在,那么必然会与它周围的「环境」有关。此处的环境因智能体的应用场景不同而不同,如自动驾驶汽车面对的环境是复杂的道路状况,交易算法面对的则是难以预料的金融市场。

正因如此,智能体总是与其所处的环境发生交互,而「传感器」正是两者间的媒介。通过各种传感器——诸如摄像头、麦克风、雷达还有 API(应用程序编程接口)等——智能体持续地感知其所处的特定环境。

感知与获取到环境中的信息后,智能体会通过「执行器」来采取行动,进而改变环境状态。这些「执行器」并不复杂,它可能是物理设备上的方向盘、机械臂,也可能是虚拟工具中的一段代码。

值得注意的是,从一般意义来看,智能体的定义在此已完成基本闭环。但在当下,我们所提的智能体最大的特点是其「自主性」——智能体并非只是被动地响应外界环境刺激或严格执行预设指令的程序。而是基于传感器传输的外界信息,结合内部的状态进行独立自主的决策,再采取相应行动。

这里让我们对「智能体」做一个概念范围上的区分。「实体」、「传感器」、「环境」、「执行器」和「行动」是所有智能体的基本要素,但现在当我们谈起智能体时,谈的多是体现自主性的现代智能体。这类智能体在拥有传统智能体所有要素的基础上,还具备了最独特的独立决策能力。

三、历史与发展 #

如前所述,在今天 AI 热的大背景下,我们所谈论的现代智能体可以主动学习,并据此独立自主地进行决策。与之相对的「传统智能体」则是被动反应,依赖先验的设定进行决策

这些传统智能体经历了以下四个发展阶段:

(1)反射智能体
(2)基于模型的反射智能体
(3)基于目标的智能体
(4)基于效用的智能体

3.1 反射智能体 #

反射智能体是结构最为简单的传统智能体,它基于「条件-动作」的逻辑构建,完全依赖当前环境提供的感知输入(条件),而后据此做出反馈(动作)。

这类智能体的典型实例是自动恒温器——当传感器感知到的室内温度高于设定值时便会启动制冷系统。当然,由此出发我们会发现生活中存在许多反射智能体的实例与应用,比如走廊的声控灯、商场的自动感应门、消防报警器、汽车驾驶座前的安全气囊等。

这些智能体可以被理解为一种高效且可靠的数字化本能,但它们并不具备记忆与预测能力,因此无法应对需要理解上下文的复杂任务,而当环境的当前状态无法作为决策的全部依据时,反射智能体也无法应对。

3.2 基于模型的反射智能体 #

基于模型的反射智能体内置了一种世界模型,可以据此追踪和理解环境中那些无法被直接感知的内容,理解「世界现在是什么样子」。

如一辆在隧道中行驶的自动驾驶汽车,即便摄像头暂时无法感知前方的车辆,但内部的世界模型会维持对自动驾驶汽车存在、速度和预估位置的判断。这使得决策不再只是依赖于瞬时感知,而是基于一个更连贯、更完整的世界状态理解——我们可以将这理解为一种简单的初级「记忆」。

3.3 基于目标的智能体 #

无论是反射智能体,还是基于模型的反射智能体,两者的行为主要都是对环境做出被动反应。基于目标的智能体则是在此基础上主动、有预见性地选择能够导向某个特定未来状态的行动。

GPS 是这种智能体的典型代表,它会根据用户导航的具体目的地,基于地图数据(世界模型),通过搜索相关算法来规划合适的路线。

当然,此处我们会发现智能体已经在一定程度上体现出对未来考量与规划的能力。

3.4 基于效用的智能体 #

然而,现实世界中的目标往往是多元复杂的。我们希望得知通往目的地的路线,但同时也想知道哪条路线时间最短、道路更平整、红绿灯更少等。换句话说,现实情况往往需要对多个目标进行权衡,找出收益最高的一个目标。

基于效用的智能体随之出现,它会为每一个可能的世界状态赋予一个效用值,效用值会代表满意度的高低。在达成目标的过程中,智能体不再只是简单地追求完成目标状态,而是要学会在相互冲突的目标之间进行权衡,进而最大化期望效用,使决策更接近人类的理性选择。

3.5 学习型智能体 #

至此,从反射智能体到基于效用的智能体,它们决策与行动的依据其实在本质上都依赖人类设计师的先验、预设知识,因此与环境的关系主要体现为被动式的响应。

现代智能体则实现了不依赖预设,通过与环境的互动自主学习。这种智能体也被称作「学习型智能体」,它主要通过强化学习(Reinforcement learning,LR)来实现自主学习。具体而言,一个学习型智能体包括一个性能元件(前面讨论的各类智能体)和一个学习元件,学习元件会通过观察性能元件在环境中的行动所带来的结果,进而不断修正性能元件的决策策略。

AlphaGo Zero 是学习型智能体很好的范例。AI 学习如何下棋时,刚开始可能只是随机落子,但每当它赢下一局,系统就会给予一次正向奖励。那么在大量的自我对弈中,学习元件会逐渐发现哪些棋路更有可能导向最终胜利。

这里我们可以引出关于大语言模型(LLM)的说明。

LLM 的出现改变了传统智能体的构建方法和能力边界。如前所述,现代智能体可以进行自主学习,这源于背后驱动其运行的 LLM 在核心引擎、知识来源、处理指令的变化。

在核心引擎上,LLM 驱动的智能体基于预训练模型的推理引擎;在知识来源上,LLM 驱动的智能体会从海量非结构化的数据中进行间接学习与内化,这使得其在指令处理上得以理解高层级、模糊的自然语言,那么工作特点就体现为概率式与生成式的。与之相比,传统智能体则是基于显式编程的逻辑系统,知识来源于工程师预定的规划、算法和知识库等,这使得其行为模式更显确定与可预测,在指令处理上需要结构化、精确的命令。

传统智能体 LLM 驱动的智能体
核心引擎 基于显式编程的逻辑系统 基于预训练模型的推理引擎
知识来源 工程师预定义的规则、算法、知识库 从海量非结构化数据中间接学习、内化
处理指令 结构化、精确的命令 高层级、模糊的自然语言
工作模式 确定性、可预测 概率性、生成式
适用性 弱,限于预设框架 强,具备强大的涌现能力和泛化能力
开发范式 规则设计、算法编程、知识工程 模型训练、提示工程、微调

我们在前面已经实战过搭建一个 LLM 驱动的智能体,它会根据用户的自然语言命令,将高层级的目标拆分为一系列的逻辑子任务——从查询天气,到根据天气状况推荐景点,然后整理答案反馈给用户。这是一个内在的、由模型驱动的规划过程。如果在工作过程中发现信息缺口,就会主动调用外部工具来进行补全,例如调用 wttr.in 的 API 来获取实时天气。当然,如果用户在工作过程中给予约束反馈,智能体会据此调整后续的行动,重新搜索并推荐符合新要求的选项。

那么,就应用角度来看,LLM 驱动的智能体究竟是什么?以规划旅行为例,LLM 驱动的智能体出现之前,人们需要在多种专用应用——天气、地图、大众点评等——中手动来回切换使用,并要求用户自己扮演信息整合与决策的角色,但 LLM 驱动的智能体可以将整个过程整合起来,让人们从过去开发专用应用转向开发能自主进行决策的系统。

四、分类 #

我们可以从三个维度来对智能体进行分类,以进一步理解何为智能体:

(1)内部决策架构
(2)时间与反应性
(3)知识表示

4.1 内部决策架构 #

基于内部决策架构来对智能体进行分类其实在前面「历史与发展」这一小节中进行了介绍,简而言之可以分成「反射智能体」、「基于模型的智能体」、「基于目的的智能体」和「基于效用的智能体」。

换句话说,传统智能体的演进路径本身即可被视为智能体最经典的分类阶梯。

4.2 时间与反应性 #

基于时间与反应性来对智能体进行分类,具体来说关注的是智能体是在接收到信息后立即采取行动,还是经过深思熟虑的规划再行动。这之中似乎存在某种矛盾:究竟是要最求速度的反应性,还是最优解的规划性?

4.2.1 反应式智能体 #

反应式智能体对环境的刺激进行的是近乎即时的反应,遵循「感知-行动」的运行逻辑,速度快,开销低,在特定应用场景中十分重要,例如汽车驾驶座前的安全气囊。前面说到的反射智能体和基于模型的智能体都属于此类智能体。

但这相应的局限则是缺乏规划,容易陷入局部最优,难以处理需要多步骤协调的复杂任务。

4.2.2 规划式智能体 #

规划式智能体会在行动以前进行复杂且细致的思考与规划,利用内部的世界模型来系统地探索未来的各种可能性,并评估不同行动序列的后果,以找到能够达成目标的最优解。这意味着它能处理复杂、需要长远目光的任务。前面讲到的基于目的与基于效用的智能体都属于此类智能体。

但长时间的规划会带来更高的算力成本,也可能会导致错过决策与行动的最佳时机。

4.2.3 混合式智能体 #

现实世界的应用情景显然需要能同时处理需要即时反应与长远规划的智能体,混合式智能体应运而生,旨在实现反应与规划的平衡。

混合式智能体的内部呈现出一种混合架构,采用分层设计——底层是快速的反应模块,处理紧急情况和基本动作;高层是审慎的规划模块,负责制定长远目标。

LLM 驱动的智能体正是混合式智能体的实例,它通常在「思考-行动」的循环中运作。

规划(Reasoning) :在“思考”阶段,LLM 分析当前状况,规划出下一步的合理行动。这是一个审议过程。
反应(Acting & Observing) :在“行动”和“观察”阶段,智能体与外部工具或环境交互,并立即获得反馈。这是一个反应过程。

「规划-反应」构成 LLM 智能体的主要运行方式,既能灵活应对环境的即时变化,又能通过连贯的步骤完成复杂的长期目标。

4.3 知识表示 #

智能体用以决策的知识以怎样的形式存在?关于这一问题的回答分为三个方向,也构成了三种智能体类别。

4.3.1 符号主义 AI #

符号主义常与传统人工智能联系在一起,核心理念是:「智能」源于对符号的逻辑操作。

符号主要指人类可读的词语、概念等,对其操作需要遵循严格的逻辑规则(如 if-then)。整个世界的知识会被理解为可以严格根据逻辑整理的知识图谱,因此推理步骤明确,决策过程也可以被完整地追溯。

但现实世界往往模糊,充满不确定性,相较于符号主义面向的精确知识——因而似乎也显得缺乏一种连续性——现实世界的知识可能边界没有那么清晰。当无法覆盖新情况,系统随时可能失灵。

4.3.2 亚符号主义 AI #

亚符号主义又被称作连接主义。知识于此不再是显式的规则,而是内隐地分布在一个由大量神经元组成的复杂网络中。神经网络和深度学习都是代表。

让我们来举一个例子:面对一棵「树」,符号主义会通过学习「树有枝桠、枝桠上有叶子、树干上有纹路」这样的规则来认识树,但亚符号主义则是在看过成千上万张树的图片后,大脑中的神经网络会辨别出「树」这一概念的视觉模式。因此,亚符号主义式的智能体擅长处理图像、声音等非结构化的数据。

那么对比一下符号主义和亚符号主义——如果说前者强调的是逻辑、推理,后者似乎突出了直觉、联想。相应地,我们或许可以说亚符号主义系统如同一个黑箱子,它可以以惊人的准确率识别出图片中的树,但如果要进一步询问为什么这是树,它可能难以提供一个合乎逻辑的解释。因此在纯粹的逻辑推理任务中,亚符号主义可能产生看似合理但是事实错误的幻觉。

4.3.3 神经符号主义 AI #

神经符号主义,或称为神经符号混合主义,则致力于融合符号主义与亚符号主义的优势,创造出一个既能像符号系统一样进行逻辑推理,又能像神经网络一样从数据中学习的混合智能体,弥合认知与感知、理性与直觉之间的鸿沟。

LLM 智能体正是神经符号主义 AI 的体现,其内核是一个巨大的神经网络,这使其具备模式识别和语言生成能力,但在工作时,它还会生成一系列结构化的中间步骤,比如想法、计划、API 调用等明确、可操作的符号。

符号主义 AI 亚符号主义 AI
处理对象 显式、结构化的知识 隐式、非结构化的数据(如声音、图像)
运行特点 逻辑推理 联系、模式识别
思维模式 缓慢、有条理、基于逻辑 快速、凭直觉、并行
思维特点 认知、理性 感知、直觉

五、运行机制 #

5.1 运行结构 #

在智能体的定义部分其实已经涉及了其一部分运行机制的阐释。但需要强调的是,智能体并非一次性完成任务,而是通过一个持续的循环与环境进行交互——智能体循环正是智能体运行的核心机制。

整个循环的过程包含几个相互关联的阶段:

  1. 感知 (Perception):这是循环的起点。智能体通过其传感器(例如,API 的监听端口、用户输入接口)接收来自环境的输入信息。这些信息,即观察 (Observation),既可以是用户的初始指令,也可以是上一步行动所导致的环境状态变化反馈。

  2. 思考 (Thought):接收到观察信息后,智能体进入其核心决策阶段。对于 LLM 智能体而言,这通常是由大语言模型驱动的内部推理过程。如图所示,“思考”阶段可进一步细分为两个关键环节:

    • 规划 (Planning):智能体基于当前的观察和其内部记忆,更新对任务和环境的理解,并制定或调整一个行动计划。这可能涉及将复杂目标分解为一系列更具体的子任务。
    • 工具选择 (Tool Selection):根据当前计划,智能体从其可用的工具库中,选择最适合执行下一步骤的工具,并确定调用该工具所需的具体参数。
  3. 行动 (Action):决策完成后,智能体通过其执行器(Actuators)执行具体的行动。这通常表现为调用一个选定的工具(如代码解释器、搜索引擎 API),从而对环境施加影响,意图改变环境的状态。

从引用的图片不难看出,行动并非智能体循环的终点,行动还会引起环境的状态变化,环境进而产生新的观察(Observation)作为结果反馈,在下一轮的循环中被智能体的感知系统捕获,形成持续的「感知-思考-行动-观察」的闭环。

通过不断重复循环,智能体不断推进任务,向着目标状态演进。

5.2 运行规范 #

我们前面已经提过,相较于传统智能体,现代智能体得到了 LLM 的驱动,相应地,现代智能体之独特之处的实现就在于 LLM 如何驱动智能体。具体来说,LLM 如何有效驱动智能体循环

交互协议的出现旨在规范智能体中的 LLM 与环境之间的信息交换。在现代智能体中,交互协议体现在对智能体每一次输出的结构化定义上——智能体的输出不再如同 LLM 般是单一的自然语言回复,而是一段遵循特定格式的文本,这里面还明确展示其内部的推理过程和最终决策。

该结构包含下面两个核心部分:

Thought (思考):这是智能体内部决策的“快照”。它以自然语言形式阐述了智能体如何分析当前情境、回顾上一步的观察结果、进行自我反思与问题分解,并最终规划出下一步的具体行动。 Action (行动):这是智能体基于思考后,决定对环境施加的具体操作,通常以函数调用的形式表示。

以我们实战中运行的代码输出为例:

...
模型输出:
Thought: 用户需要查询北京今天的天气,然后根据天气推荐景点。首先调用get_weather("北京")获取天气信息。
Action: get_weather(city="北京")

Observation: 北京当前天气:Sunny,气温31摄氏度
...

Action 字段构成了对外部世界的指令,外部解析器会捕捉该指令并调用相应的 get_weather 函数。在行动得到执行后,环境会返回一个结果,例如此处的 get_weather 函数可能返回一个包含详细天气数据的 JSON 对象。

不过,像 JSON 这一类原始可读的数据通常却包含 LLM 无需关注的冗余信息,同时格式也不符合主要处理自然语言的 LLM 的习惯,所以还需要感知系统将这一原始输出数据(JSON)封装成一段简洁、清晰的自然语言文本,也就是 Observation

这段 Observation 文本会被反馈给智能体,作为下一段循环的主要输入信息,以使得新一轮的 ThoughtAction 运行。

就这样,ThoughtActionObservation 共同构成的严谨循环让 LLM 智能体得以将内部的语言推理能力与外部环境的真实信息以及工具操作能力结合起来。

智能体(Agent)与 AI、LLM、API #

现在,让我们尝试讨论一下 Agent(智能体)、AI、LLM 与 API 各自的含义,以及它们之间的关系。

AI 可以被理解为一种广泛的上层概念——机器模拟人类智能的任何技术,包括但不限于 LLM 与 Agent(还有机器学习、深度学习、自然语言处理等等)。

LLM(大语言模型)是深度学习自然语言处理领域的具体成果,主要通过在海量文本上训练超大规模的神经网络1,进而获得理解和生成人类语言的能力。具体来说,LLM 具备三项核心能力:理解、生成与推理。

  • 理解人类输入的自然语言文本。
  • 生成连贯、有逻辑地自然语言文本。
  • 在一定程度上进行逻辑推断。

据此不难理解,平时我们谈论的 GPT 系列、Claude 系列等大模型其实就是 LLM。Agent 是一种具体的应用形态,LLM 则是被调用后充当 Agent 「大脑」的存在,而我们在实战中给旅行智能助手输入 Deepseek 的 API Key,就是为了调用 deepseek-v4-flash 这一具体的 LLM,让智能体能够读懂用户的输入,并据此进行推理,再以用户能读懂的方式进行反馈。

当然,LLM 不是想调用便调用,毫无章法,没有限制。

API(应用程序编程接口)就充当了联系 Agent 和 LLM 的存在,它规定了 Agent 可以如何同构 HTTP 来请求调用 LLM。不止于此,除了 LLM,Agent 也可以在执行任务的过程中根据需要,通过不同的 API 调用不同的工具。

Agent、AI、LLM 与 API 的关系可以简单用下图表示:

┌─────────────────────────────────────────────┐
│                    AI                       │
│          (人工智能——最广泛的概念)           │
│                                             │
│   ┌─────────────────────────────────────┐   │
│   │            深度学习                  │   │
│   │                                     │   │
│   │   ┌─────────────────────────────┐   │   │
│   │   │      大语言模型(LLM)       │   │   │
│   │   │                             │   │   │
│   │   │   ┌─────────────────────┐   │   │   │
│   │   │   │   智能体(Agent)     │  │   │   │
│   │   │   │  LLM + 工具 + 规划   │   │   │   │
│   │   │   └─────────────────────┘   │   │   │
│   │   └─────────────────────────────┘   │   │
│   └─────────────────────────────────────┘   │
└─────────────────────────────────────────────┘

         API —— 贯穿各层的"通信方式"

最后让我们回到 Agent。虽然在文章的开头我们就给 Agent 下了一个定义,但在这里不妨根据其与 AI、LLM、API 的关系,再做一次定义。

在我看来,Agent 可以被理解为在 AI 领域中基于 LLM 构建的应用形态,它可以通过 API 调用各种工具(包括 LLM),在过去 LLM 只能进行对话的基础上迈进一步,还可以执行任务,如读写文件、操作数据库等等。


  1. 还记得我们在前面提到的「亚符号主义 AI」吗?别忘了深度学习正是亚符号主义的代表。 ↩︎