在这里插入图片描述

当我们向 AI 提出“帮我规划一次旅行”时,我们期待的往往不只是一段旅游建议,而是一个能够理解需求、查询信息、比较方案,并根据反馈调整行程的助手。

从“回答问题”走向“采取行动”,正是理解智能体(Agent)的一个切入点。

这篇文章是 Agent 学习系列的第一篇。我们沿着“什么是智能体 → 智能体如何运行 → 智能体如何与人协作”的顺序,建立一套基础认知,为后续学习大语言模型、工具调用和智能体开发打下基础。

1. 什么是智能体

先从一个基本定义开始:

智能体(Agent)是能够通过传感器感知环境,并通过执行器采取行动,以达成特定目标的实体。

这里的“实体”不局限于一段程序。机器人、自动驾驶系统,以及能够调用外部工具的软件助手,都可以放在这个框架下理解。

定义中的几个关键词,可以拆开来看:

要素含义软件智能体中的例子
环境(Environment)智能体所处并与之交互的外部世界网页、文件系统、数据库、业务系统
传感器(Sensors)获取环境信息的入口用户输入、搜索结果、API 返回值
执行器(Actuators)执行操作的能力调用工具、修改文件、执行代码
目标(Goal)希望完成的任务或达到的状态制定行程、修复程序、整理资料

理解智能体时,不要只盯着模型或代码,而要把它放进“环境—感知—决策—行动”的关系中。

另一个重要概念是自主性(Autonomy):系统能够在给定的目标和约束下,根据获得的信息选择行动,而不需要人类逐步指定每一个操作。自主性有程度之分,简单规则系统和能够动态规划的 LLM 智能体,拥有的决策空间并不相同。

1.1 传统视角下的智能体的演进

在这里插入图片描述

智能体并不是大语言模型出现之后才有的概念。在此之前,人工智能研究已经围绕“如何感知环境、如何选择行动”发展出了多种架构。

理解这条演进脉络,可以从五类智能体入手。

(1)简单反射智能体:根据当前输入直接行动

简单反射智能体(Simple Reflex Agent)的核心,是预先设定的“条件—动作”规则。

例如,自动恒温器检测到室温高于设定值,就启动制冷;温度降到设定范围,就停止制冷。

它只需要回答:“当前满足了什么条件?对应应该执行什么动作?”

这类系统实现简单、响应迅速,但通常只依赖当前感知,不会记住过去发生的事情。当眼前的信息不足以判断下一步时,它的能力就受到了限制。

(2)基于模型的反射智能体:借助内部状态理解环境

基于模型的反射智能体(Model-Based Reflex Agent)引入了内部状态和世界模型(World Model),用来描述环境如何变化,以及行动可能带来的影响。

这里的“模型”不一定是大语言模型,也可以是一组状态转移规则或对环境的内部表示。

例如,自动驾驶系统发现前方车辆被其他物体短暂遮挡时,不会立即认定这辆车消失了,而是结合之前观察到的位置、速度等信息,估计它当前可能在哪里。

与简单反射智能体相比,它能够利用历史信息维护对环境的理解。决策依据由“这一刻看到了什么”,扩展为“根据已有信息,环境现在可能是什么状态”。

(3)基于目标的智能体:选择有助于实现目标的行动

有了环境状态,还需要明确要去哪里。

基于目标的智能体(Goal-Based Agent)会围绕目标选择行动,并借助搜索或规划,寻找从当前状态到目标状态的路径。

GPS 导航就是一个容易理解的例子:地图提供环境信息,目的地给出目标,路径规划则负责寻找一条能够到达目的地的路线。

它关注的问题是:“为了达成目标,我接下来应该做什么?”

(4)基于效用的智能体:在多种方案之间进行权衡

现实中的目标往往有多个评价维度。去公司不仅要能够到达,还可能希望耗时更短、费用更低、换乘更少。

基于效用的智能体(Utility-Based Agent)通过效用函数表示不同结果的好坏,并据此比较候选行动。在存在不确定性时,它通常需要考虑行动的期望效用。

例如,两条路线都能到达目的地:一条更快,但收费较高;另一条免费,却需要多花半小时。选择哪条路线,取决于用户对时间和费用的偏好。

它关注的问题进一步变成:“在这些可行方案中,哪一种结果更符合我的偏好?”

(5)学习型智能体:通过经验改进决策

前面几类架构描述了如何做决策。学习型智能体(Learning Agent)进一步关注:决策能力能否通过经验得到改进?

我们可以把它理解为两个部分的配合:性能元件负责根据当前能力选择行动,学习元件则利用反馈改进相关知识或策略。完整的学习架构还可以包含评价反馈、鼓励探索等机制。

强化学习(Reinforcement Learning,RL)是实现这一思想的一条重要路径。例如,下棋 AI 可以通过大量对弈,根据胜负反馈调整策略,逐渐学会更有效的下法。

学习能力并不只属于演进链条的最后一类,它也可以与基于模型、目标或效用的架构结合。

沿着这条脉络,我们看到智能体逐步具备了响应、记忆、规划、权衡和学习的能力。后面讨论 LLM 智能体时,仍然会反复遇到这些概念。

1.2 大语言模型驱动的新范式

在这里插入图片描述

大语言模型(Large Language Model,LLM)为智能体提供了新的构建方式:它可以理解自然语言任务,结合上下文生成计划,并选择下一步需要调用的工具。

传统智能体常常需要开发者显式设计领域规则、状态表示和规划方法。LLM 智能体则利用模型从训练中获得的语言能力和知识,在更广泛的任务中解释指令、组织信息和生成行动方案。

不过,这并不意味着传统智能体只能依赖固定规则,也不意味着 LLM 智能体可以脱离工程设计。工具接口、状态管理、权限边界和执行控制,仍然需要系统来提供。

在这里插入图片描述

我们继续用“智能旅行助手”来理解这种变化。

用户只说了一句:“帮我规划一次厦门之旅。”这不是一条可以直接执行的具体操作,而是一个还需要补全信息的目标。一个具备相应工具的智能体,可以围绕这个目标开展工作:

  1. 规划与推理:识别需要确认的信息,例如出行日期、预算、同行人数和游玩偏好,再拆分为查询交通、寻找住宿、安排景点等子任务。
  2. 工具使用:通过天气、地图或搜索工具获取外部信息,将结果纳入行程安排。例如,发现某天可能下雨,就增加室内活动的备选方案。
  3. 动态修正:用户反馈“这家酒店超出预算”后,更新约束,重新筛选住宿,并调整后续安排。

这里的关键是:LLM 帮助系统解释目标和选择行动,工具让系统获得外部信息或执行操作,反馈则让后续决策能够随情况变化。

也因此,大语言模型本身并不等于一个完整的智能体。只有把模型放入能够感知、行动并接收反馈的系统中,才能让它持续推进任务。

1.3 智能体的类型

智能体可以从多个维度分类。下面三种视角分别回答不同的问题:内部如何决策、何时采取行动、知识以什么形式表示。

(1)基于内部决策架构的分类

在这里插入图片描述

这一分类与前面的演进过程相对应:

类型决策依据主要特点
简单反射智能体当前感知与条件规则直接响应当前输入
基于模型的反射智能体当前感知与内部状态利用历史信息估计环境状态
基于目标的智能体当前状态与目标搜索或规划达成目标的路径
基于效用的智能体不同结果的效用比较方案并权衡多种偏好
学习型智能体经验与反馈改进知识、模型或决策策略

这里需要注意,学习能力可以与前面几类架构叠加。例如,一个基于目标的智能体,也可以通过学习改善自己的环境模型。

(2)基于时间与反应性的分类

在这里插入图片描述

这个维度关注的是:智能体收到信息之后,是立即响应,还是先规划再行动?

它体现了设计中的一个常见权衡:响应速度与规划深度之间的平衡。 更充分的规划可能带来更好的方案,但也会消耗更多时间和计算资源,而且并不能保证结果一定更好。
在这里插入图片描述

反应式智能体(Reactive Agents)

反应式智能体强调快速响应,通常根据当前感知或维护的内部状态直接选择行动。简单反射智能体和基于模型的反射智能体,都可以采用这种方式。

例如,机器人检测到近距离障碍物后立即停止前进,就属于典型的快速反应。

它的优势是延迟低、计算开销相对较小,适合需要及时应对变化的场景。但如果缺乏面向未来的规划,就很难处理需要多个步骤协调的任务。

规划式智能体(Deliberative Agents)

规划式智能体会在行动之前,利用已有信息分析不同选择的后果,再制定行动方案。

可以把它类比为下棋:选择一步棋时,需要考虑对手可能如何应对,以及后续局面可能怎样发展。

基于目标和基于效用的智能体,通常会涉及这样的规划过程。它的优势是能够考虑长期影响,代价则是更高的时间和计算成本。在快速变化的环境中,规划还没完成,原先的条件就可能已经改变。

混合式智能体(Hybrid Agents)

实际任务往往同时需要快速响应和长期规划,因此可以将两者结合起来。

一种常见方式是分层设计:底层模块处理紧急情况和基本动作,高层模块负责目标分解与长期规划。

例如,移动机器人既需要规划到达目的地的路线,也需要在行进途中及时避开突然出现的障碍物。

现代的 LLM 智能体

许多 LLM 智能体通过反复进行“推理—行动—观察”,在规划与环境反馈之间交替推进任务。ReAct 就是将推理与行动结合的一种代表性方法。

以旅行助手为例,它可以先决定查询天气,再读取查询结果,随后决定是否调整景点安排。计划不必一次性固定下来,而可以随着新信息不断更新。

这种机制具有灵活性,但调用 LLM 和外部工具本身需要时间,因此不能把它直接等同于能够满足毫秒级要求的实时反应系统。

(3)基于知识表示的分类

在这里插入图片描述

前面讨论的是“如何做决策”,这里进一步追问:智能体用于决策的知识,究竟以什么形式存在?

可以先用一张表建立直观印象:

类型知识如何表示如何做判断便于理解的类比
符号主义 AI明确的事实、规则、逻辑关系或知识图谱根据规则进行推理按规则、列公式解题
亚符号主义 AI神经网络参数中的分布式表示利用从数据中学到的模式通过大量练习形成识别能力
神经符号主义 AI神经网络与显式符号结构相结合结合学习能力和符号推理既识别模式,也运用规则推导

符号主义 AI(Symbolic AI)

符号主义强调用人类能够理解的符号、事实和规则表示知识,再通过逻辑操作得出结论。

例如,系统已知“所有需要冷藏的商品都应放入冷藏区”和“某件商品需要冷藏”,就可以推出这件商品应该放入冷藏区。

它的优势是规则明确、推理过程便于追溯;困难则在于知识需要被显式表达。面对大量模糊情况和例外,建立并维护足够完整的规则体系会变得非常复杂。

亚符号主义 AI(Sub-symbolic AI)

亚符号主义以神经网络等方法为代表。知识不再主要表现为一条条显式规则,而是分布在通过训练得到的参数中。

例如,图像识别模型通过大量样本学习猫的视觉特征,不需要开发者事先逐条写出“如何识别一只猫”的规则。

这类方法擅长从数据中学习复杂模式,能够处理图像、语音、文本等信息。不过,模型为什么给出某个判断,通常不像规则系统那样容易追溯;语言模型也可能生成看似合理、实际上不准确的内容。

神经符号主义 AI(Neuro-Symbolic AI)

神经符号主义尝试结合两类方法:利用神经网络处理感知和语言理解,再结合显式知识、逻辑规则或符号求解机制完成推理。

例如,系统先从自然语言问题中提取约束,再交给规则引擎或求解器检查方案是否满足条件。

《思考,快与慢》中的双系统思维,可以为理解这两种处理方式提供一个类比:一种偏向快速、直觉式判断,另一种偏向有步骤的分析。这里的类比帮助我们理解分工,并不意味着人类认知和 AI 架构存在严格的一一对应。

在这里插入图片描述

LLM 智能体可以在语言模型之外结合知识图谱、规则引擎或符号求解器,从而体现这种融合思路。但仅仅输出结构化文本或调用普通 API,并不足以说明系统已经具备严格的符号推理能力。

这三种分类视角并不互斥:同一个智能体,可以同时是基于目标的、采用混合式决策的,并结合神经网络与符号知识。

2. 智能体的构成与运行原理

理解了智能体的概念与类型之后,接下来看看它如何围绕一个具体任务运行。

2.1 任务环境定义

设计智能体时,首先需要说明它要完成什么任务、面对什么环境,以及能够获得哪些信息、执行哪些操作。

PEAS 模型提供了一种描述任务环境的方法:

维度含义智能旅行助手的例子
P:Performance Measure性能度量,如何评价任务完成得好不好是否符合预算、时间安排是否合理、用户是否满意
E:Environment环境,智能体与哪些对象和系统交互用户、天气服务、地图、交通和住宿平台
A:Actuators执行器,智能体可以采取哪些操作发起查询、生成或修改行程、在授权范围内提交预订
S:Sensors传感器,智能体通过什么渠道获得信息用户输入、API 返回值、网页内容、操作结果

除了列出这些要素,还需要认识环境本身的特点。

首先,环境可能是部分可观察的。

旅行助手查询某个平台时,只能获得该平台接口返回的信息,无法同时知道所有平台的全部余票和价格。因此,它需要保存已经获得的结果,并在必要时继续查询,补全决策所需的信息。

其次,行动结果可能存在不确定性。

查询时看到的航班余票,不代表稍后预订时仍然存在。其他用户的操作、平台更新和接口状态,都可能影响后续结果。这要求智能体根据实际反馈继续决策,而不能把预期结果当成已经发生的事实。

再次,环境中可能存在其他行动者。

其他旅客、自动化预订程序和平台调价系统,都可能改变旅行助手面对的条件。在需要显式考虑这些行动者及其相互影响时,就涉及多智能体环境。

最后,许多任务具有序贯性和动态性。

“序贯”意味着当前选择会影响后续安排,例如先确定航班,就会约束酒店入住时间;“动态”意味着智能体分析期间,环境也可能继续变化,例如机票售罄或景点临时关闭。

所以,一个合理的初始计划只是起点。智能体还需要在执行过程中持续读取反馈、更新状态和调整行动。

2.2 智能体的运行机制(ReAct)

在这里插入图片描述

智能体通常通过反复与环境交互,逐步推进任务。这个过程可以概括为智能体循环(Agent Loop)。

ReAct 是组织这种交互的一种代表性方式,其核心是将推理与行动交替进行,并根据行动得到的观察结果决定下一步。需要区分的是,Agent Loop 是更宽泛的概念,并非所有智能体循环都采用 ReAct。

为了理解这个循环,我们可以把它分成四个相互关联的环节。

1. 感知(Perception):接收当前信息

智能体首先获得用户请求、已有任务状态,以及外部环境返回的信息。例如,用户提出“根据北京的天气推荐一个旅游景点”,这就构成了任务的初始输入。

2. 思考(Thought):决定下一步怎么做

对于 LLM 智能体,模型会结合目标、上下文和已有结果,选择下一步行动。这个阶段可以涉及两个方面:

  • 规划(Planning):把任务拆分为查询天气、筛选景点等步骤,并根据新信息调整安排。
  • 工具选择(Tool Selection):确定需要使用哪个工具,以及应传入什么参数。

3. 行动(Action):由系统执行具体操作

智能体发出操作请求,例如调用天气查询工具。运行程序负责接收请求、检查参数,并执行对应的工具。

行动既可以是查询信息,也可以是修改环境。读取天气不会直接改变天气,但它能补充后续决策所需的信息;修改行程文件则会实际改变文件内容。

4. 观察(Observation):接收行动结果

工具返回结果后,系统将其提供给智能体。新的信息会成为下一轮决策的依据。

例如,天气查询结果显示有雨,智能体就可以继续查找室内景点;如果查询失败,则需要判断是否重试、换用其他信息来源,或向用户说明当前缺少的信息。

整个过程可以概括为:

接收任务 → 选择下一步 → 执行工具 → 读取结果 → 调整行动 → 继续推进或结束任务。

循环还需要明确的停止条件,例如已经获得足够信息、目标已完成,或达到了执行次数和时间限制。反馈决定如何继续,停止条件决定何时交付结果。

2.3 智能体的感知与行动

要让前面的循环真正运行起来,模型和工具之间需要一套明确的交互协议(Interaction Protocol)。

模型输出“我准备查询天气”,并不意味着天气已经被查询。系统必须能够识别具体的行动请求,并把它转换成真实的函数调用。

在经典的 ReAct 教学示例中,常用以下几个字段描述交互:

字段作用
Thought简要说明当前行动依据或计划
Action指定需要执行的工具及其参数
Observation记录工具或环境返回的结果

例如,下面是一段用于说明协议的示意文本:

Thought: 需要先获取北京的天气,再据此筛选景点。
Action: get_weather(city="北京")

其中,真正需要程序处理的是 Action:调用哪个工具、传入什么参数。外部解析器或工具调用机制会读取这些信息,执行对应的 get_weather 函数。

假设工具返回如下结果,系统就可以将其作为观察信息传回模型:

Observation: 北京天气为晴,气温 25 摄氏度,微风。

这里的天气只是示例数据。智能体随后可以结合这条观察继续筛选景点,或者在信息已经充分时组织最终回复。

实际工程中的协议不一定使用上述文本格式,也可以采用结构化的工具调用。Thought 也不是必须向用户展示的字段,更不能把一段说明文字视为模型内部计算过程的完整记录。

对于工具结果,系统可以根据需要做筛选和整理,保留与任务相关的信息。观察既可以是自然语言,也可以是 JSON 等结构化数据,并不要求全部转换成文字描述。

理解这里的职责分工很重要:模型提出行动请求,运行程序执行工具,环境返回真实结果,模型再根据结果决定后续步骤。 这几个环节连接起来,才构成能够实际推进任务的交互闭环。

3. 智能体应用的协作模式

从使用者的角度看,智能体不仅涉及内部架构,也改变了人们分配任务和参与执行的方式。

按照智能体承担的角色和自主性程度,可以先理解两种常见模式:作为工作流中的辅助工具,以及作为接受目标委托的协作者。

3.1 作为开发者工具的智能体

在这种模式下,智能体融入开发者的日常工作,帮助处理代码阅读、修改、测试和问题定位等任务。

以 Claude Code 这类编程助手为例,可以从一个具体任务理解它的作用:开发者提出“定位并修复这个测试失败的问题”,助手读取相关文件、分析失败信息、修改代码,再通过运行测试检查结果。

开发者仍然需要明确需求、判断方案是否合理,并检查最终改动。智能体承担的是其中一部分分析和执行工作。

这种模式的价值,是把重复操作和上下文整理交给工具,让开发者将更多精力放在需求理解、设计选择和结果审核上。

3.2 作为自主协作的智能体

当智能体拥有更大的任务决策空间时,人类可以交付一个相对完整的目标,由它自行拆解步骤、调用工具,并依据反馈推进任务。

例如,用户提出:“根据这些资料整理一份行业分析初稿,并列出主要结论的依据。”智能体可以围绕这个目标,安排资料读取、信息归纳、观点组织和文稿检查等步骤。

在这种模式下,人类更多地负责给出目标、约束和验收标准;智能体则负责决定一部分具体执行路径。

复杂系统还可以让多个智能体分工,例如分别承担资料检索、内容撰写和结果核查。但“多个智能体”与“更高自主性”不是同一个概念:单个智能体也可以自主推进任务,多智能体系统同样可能遵循预设流程。

从辅助工具到自主协作者,变化主要体现在人类委托了多少决策空间,以及系统能够在多大范围内自行组织行动。

3.3 Workflow 和 Agent 的差异

Workflow 和 Agent 都能用于任务自动化,但理解它们时,需要关注一个关键问题:执行路径主要由谁决定?

  • Workflow(工作流):开发者预先定义步骤、分支和流转规则,系统按照这套编排执行。
  • Agent(智能体):在目标、工具和约束范围内,由模型根据当前情况动态选择一部分执行步骤。

先看 Workflow。

假设一个报销流程规定:员工提交报销单后,金额不超过 500 元时由部门经理审批;超过 500 元时,还需要财务总监审批;全部通过后,再通知财务处理。

这里虽然存在不同分支,但分支条件和流转方式都已经提前确定。执行过程中,系统只需要按照规则选择对应路径。

工作流也可以包含循环、异常处理和 LLM 调用,因此不能简单地把它理解为只能从头到尾顺序运行的脚本。它的主要特点是:控制流程由开发者预先编排。

再看 Agent。

用户向旅行助手提出:“请根据北京的天气和我的偏好,推荐一个合适的旅游景点。”

智能体可以先判断已有信息是否充分。如果缺少出行日期,就补充确认;如果缺少天气信息,就调用查询工具;如果发现候选景点当天不开放,就重新搜索其他选项。

收到不同反馈后,它可能需要执行不同数量和顺序的操作。这里的一部分控制流程,是在运行过程中根据任务状态决定的。

但也要注意:如果我们把“查询天气 → 查询景点 → 生成推荐”三个步骤全部写死,即使每一步都使用了大语言模型,整体上仍然更接近一个工作流。

对比维度WorkflowAgent
执行路径主要由预设流程控制由模型根据任务状态动态选择一部分路径
面对变化进入已经定义的分支或异常处理在可用工具和约束内调整后续行动
可预测性流程通常较容易追踪和复现可能因上下文与模型决策而变化
适合的任务步骤明确、规则稳定、重复性高路径不确定、需要探索和持续调整
常见例子固定审批、定时汇总、标准化处理开放式资料研究、复杂问题排查

二者可以组合使用。例如,用工作流控制资料接收、人工审核和结果发布,在资料分析阶段交给 Agent 自主选择检索与整理步骤。

选择哪种方式,取决于任务需要多大的灵活性,以及流程对可预测性的要求。步骤明确时,预设工作流通常更直接;执行路径难以提前穷举时,Agent 的动态决策能力才更有发挥空间。

4. 小结

作为 Agent 学习系列的第一篇,我们围绕四个问题建立了基础认识:

  • 什么是智能体? 它是能够感知环境、选择行动并围绕目标与环境交互的实体。理解智能体,需要同时关注目标、环境、信息入口和执行能力。
  • 智能体如何演进? 从简单反射,到维护内部状态、围绕目标规划、根据效用权衡,再到通过经验学习,不同架构扩展了系统解决问题的方式。
  • LLM 智能体如何运行? 大语言模型参与理解任务和选择行动,运行程序执行工具,环境返回反馈,系统通过循环持续推进任务。ReAct 是组织这种循环的一种代表性方法。
  • 智能体如何用于实际协作? 它既可以辅助人类完成具体工作,也可以在给定范围内接受目标委托。Workflow 与 Agent 的主要区别,则在于执行路径是预先编排,还是由模型根据任务状态动态选择。

后续学习工具调用、记忆和规划机制时,都可以回到这条主线:智能体如何获取信息,如何决定下一步,如何执行行动,又如何根据反馈调整自己。

如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐