【Agent 学习系列(一):初识智能体——从基本概念到运行原理】

当我们向 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 智能体可以脱离工程设计。工具接口、状态管理、权限边界和执行控制,仍然需要系统来提供。

我们继续用“智能旅行助手”来理解这种变化。
用户只说了一句:“帮我规划一次厦门之旅。”这不是一条可以直接执行的具体操作,而是一个还需要补全信息的目标。一个具备相应工具的智能体,可以围绕这个目标开展工作:
- 规划与推理:识别需要确认的信息,例如出行日期、预算、同行人数和游玩偏好,再拆分为查询交通、寻找住宿、安排景点等子任务。
- 工具使用:通过天气、地图或搜索工具获取外部信息,将结果纳入行程安排。例如,发现某天可能下雨,就增加室内活动的备选方案。
- 动态修正:用户反馈“这家酒店超出预算”后,更新约束,重新筛选住宿,并调整后续安排。
这里的关键是: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。
用户向旅行助手提出:“请根据北京的天气和我的偏好,推荐一个合适的旅游景点。”
智能体可以先判断已有信息是否充分。如果缺少出行日期,就补充确认;如果缺少天气信息,就调用查询工具;如果发现候选景点当天不开放,就重新搜索其他选项。
收到不同反馈后,它可能需要执行不同数量和顺序的操作。这里的一部分控制流程,是在运行过程中根据任务状态决定的。
但也要注意:如果我们把“查询天气 → 查询景点 → 生成推荐”三个步骤全部写死,即使每一步都使用了大语言模型,整体上仍然更接近一个工作流。
| 对比维度 | Workflow | Agent |
|---|---|---|
| 执行路径 | 主要由预设流程控制 | 由模型根据任务状态动态选择一部分路径 |
| 面对变化 | 进入已经定义的分支或异常处理 | 在可用工具和约束内调整后续行动 |
| 可预测性 | 流程通常较容易追踪和复现 | 可能因上下文与模型决策而变化 |
| 适合的任务 | 步骤明确、规则稳定、重复性高 | 路径不确定、需要探索和持续调整 |
| 常见例子 | 固定审批、定时汇总、标准化处理 | 开放式资料研究、复杂问题排查 |
二者可以组合使用。例如,用工作流控制资料接收、人工审核和结果发布,在资料分析阶段交给 Agent 自主选择检索与整理步骤。
选择哪种方式,取决于任务需要多大的灵活性,以及流程对可预测性的要求。步骤明确时,预设工作流通常更直接;执行路径难以提前穷举时,Agent 的动态决策能力才更有发挥空间。
4. 小结
作为 Agent 学习系列的第一篇,我们围绕四个问题建立了基础认识:
- 什么是智能体? 它是能够感知环境、选择行动并围绕目标与环境交互的实体。理解智能体,需要同时关注目标、环境、信息入口和执行能力。
- 智能体如何演进? 从简单反射,到维护内部状态、围绕目标规划、根据效用权衡,再到通过经验学习,不同架构扩展了系统解决问题的方式。
- LLM 智能体如何运行? 大语言模型参与理解任务和选择行动,运行程序执行工具,环境返回反馈,系统通过循环持续推进任务。ReAct 是组织这种循环的一种代表性方法。
- 智能体如何用于实际协作? 它既可以辅助人类完成具体工作,也可以在给定范围内接受目标委托。Workflow 与 Agent 的主要区别,则在于执行路径是预先编排,还是由模型根据任务状态动态选择。
后续学习工具调用、记忆和规划机制时,都可以回到这条主线:智能体如何获取信息,如何决定下一步,如何执行行动,又如何根据反馈调整自己。
如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)