AI Agent导论:从语言模型到自主智能体 | Introduction to AI Agents: From Language Models to Autonomous Agents
AI Agent导论:从语言模型到自主智能体
引言:从语言模型到自主智能体的范式跃迁
What constitutes an AI Agent and why does it represent a paradigm shift from traditional software systems? This question sits at the heart of contemporary artificial intelligence research and practice, demanding careful examination of the architectural, computational, and philosophical distinctions between conventional software systems and the emerging class of autonomous intelligent agents. 理解这一问题的关键在于认识到,当代AI系统正在经历从“被动响应工具”到“主动规划主体”的根本性转变。这一转变并非简单的功能增强或性能优化,而是涉及控制流反转、目标推理内化、以及环境交互自主化等多个维度的系统性变革。
本章旨在建立本书的概念框架,回答“什么是AI Agent以及为何它代表了AI系统的范式转变”这一根本问题。我们将从历史演进的角度追溯从符号AI到神经网络的范式更迭,分析Transformer架构如何使涌现行为成为可能;继而引入Agent的数学形式化定义,以状态机视角刻画Agent与环境、工具、用户的交互范式;随后深入探讨Agent与基础语言模型的本质区别,阐明推理能力、工具使用与目标导向行为的协同机制;最后预览全书结构,交代各章之间的逻辑关联与依赖关系。通过这一系列分析,读者将掌握Agent系统的基本构成,理解状态-动作-转换的形式化框架,并能够识别何时应采用Agent架构而非传统的语言模型调用模式。
---
从符号AI到神经网络的范式演进与Agentic AI的兴起
符号主义与连接主义的世纪之争
人工智能的发展历程中,符号主义(Symbolicism)与连接主义(Connectionism)两大范式之间的竞争与融合构成了理解当代AI系统的重要背景。符号主义AI源于1950年代Newell和Simon提出的物理符号系统假说,其核心假设是:智能行为可以通过对符号结构的形式化操作来实现。这一范式在专家系统、知识图谱和规划算法等领域取得了显著成就,其优势在于可解释性强、逻辑推理严谨、知识表示清晰。然而,符号主义的根本局限在于知识获取的瓶颈——将人类知识编码为符号规则是一项昂贵且难以扩展的工作,且面对不确定性、模糊性和开放域问题时表现脆弱。
连接主义范式则从生物神经系统中汲取灵感,以分布式表示和权重学习为核心机制。1957年Rosenblatt提出的感知机(Perceptron)标志着这一范式的早期尝试,尽管随后Minsky和Papert在1969年的工作揭示了单层感知机的表达能力局限。真正的突破出现在1986年Rumelhart、Hinton和Williams提出的反向传播算法,使得多层神经网络能够有效学习非线性表示。此后,卷积神经网络(CNN)在计算机视觉领域的成功(2012年AlexNet是标志性事件)和循环神经网络(RNN)在序列处理中的广泛应用,逐步确立了深度学习在工业界的主导地位。
然而,传统深度学习系统虽然能够学习复杂的模式映射,其本质仍然是“函数拟合器”——将输入映射到输出的统计学习机器。这种范式下的系统缺乏对世界的显式理解,无法进行多步推理,难以处理需要长期规划和目标维护的复杂任务。正是在这一背景下,研究者开始探索将符号AI的规划能力与神经网络的表示学习能力相结合的混合架构,这一探索最终演变为当代Agent系统的核心设计理念。
Transformer架构与涌现能力的诞生
2017年Vaswani等人发表的《Attention Is All You Need》标志着自然语言处理领域的范式转折。这篇论文引入的Transformer架构摒弃了传统的循环和卷积结构,完全基于自注意力机制(Self-Attention)实现序列建模。其核心创新在于多头注意力(Multi-Head Attention)机制,允许模型在处理序列中的每个位置时,同时关注序列中的所有其他位置,从而有效捕获长距离依赖关系。
Transformer的成功首先体现在机器翻译任务上,但其影响远不止于此。BERT(Bidirectional Encoder Representations from Transformers)的出现揭示了预训练-微调范式的强大威力:通过在大规模无标注语料上进行自监督预训练,然后针对特定任务进行微调,可以在各种自然语言理解任务上取得突破性进展。GPT系列模型则展示了生成式预训练的能力,通过预测下一个token的方式在大规模文本上进行训练,逐步发展出令人惊叹的语言生成和推理能力。
然而,真正让研究者震惊的是大语言模型(Large Language Models, LLMs)所展现的涌现能力(Emergent Capabilities)。涌现能力指的是在小规模模型中不存在或不可用,但在大规模模型中突然出现的能力。这种能力呈现明显的涌现阈值特征:当模型规模超过某个临界点时,性能会从接近随机水平跃升到远超基线。例如,GPT-3(1750亿参数)在BIG-Bench基准测试中展现出多步算术推理、词义解释、代码生成等能力,这些能力在其前身GPT-2(15亿参数)中几乎不存在。
这一现象的理论解释涉及多个层面。从信息论角度,大规模参数提供了足够的表示容量来编码世界的复杂结构;从统计学习角度,大规模训练数据中的模式复现使得模型能够学习到有用的抽象表示;从计算复杂性角度,某些推理任务可能需要足够深的网络才能实现有效的组合泛化。Chain-of-Thought prompting的研究进一步揭示,通过引导模型生成中间推理步骤,可以激发出模型潜在的推理能力,这一发现为后续Agent架构的设计提供了重要启示。
Agentic AI的兴起:从工具到主体
当大语言模型的规模和能力发展到足够水平时,研究者开始探索一个根本性的问题:能否让这些模型不仅仅是回答问题的工具,而是能够自主规划、调用工具、感知环境并采取行动的主体?这一问题的提出标志了Agentic AI(代理式人工智能)的兴起。
Agentic AI的核心主张是:智能系统的最高形式不是被动响应查询的专家系统,而是能够自主设定目标、制定计划、调用外部工具、并在环境中执行行动的自主智能体(Autonomous Agent)。这一范式区别于传统AI系统的关键特征在于控制流的内化——在传统系统中,程序的执行流程由外部调用者控制,AI模块只是被动的功能组件;而在Agent系统中,语言模型本身成为控制流的中心,能够根据当前状态和目标自主决定下一步行动。
这一转变的技术基础包括三个关键进展:第一,多模态大模型的发展使得Agent能够感知视觉、音频等多种输入模态;第二,工具使用能力的提升使得Agent能够调用外部API、操作文件系统、执行代码;第三,长程记忆和状态管理机制的发展使得Agent能够维护跨步行动的一致性上下文。这些技术进展的汇合使得构建真正自主的智能体成为可能,也为本书后续章节的深入探讨奠定了基础。
---
Agent的数学形式化定义
形式化框架的必要性
在对Agent系统进行深入讨论之前,建立一个严格的数学形式化框架是必要的。这一框架不仅为后续章节的分析提供了统一的术语和表示方法,也为Agent系统的设计与实现提供了概念性的指导方针。我们将看到,Agent可以自然地被建模为一个扩展的状态机,其核心构成要素可以通过集合论和函数论进行精确描述。
形式化定义的核心价值在于其提供的抽象层次。通过将具体的实现细节抽象为数学结构,我们能够专注于Agent系统的本质特征,识别不同实现方案之间的共同模式,并建立评估和比较不同架构的理论基础。正如计算机科学中抽象数据类型的使用使得程序设计更加清晰和模块化,Agent的数学形式化定义使得我们能够在概念层面而非代码层面讨论系统设计。
Agent的形式化定义
我们定义一个Agent为一个八元组:
$$Agent = (S, A, T, O, R, P, M, G)$$
其中各要素的含义如下:
S = 状态空间(State Space):Agent内部状态的集合。状态空间包含Agent对世界的当前理解、当前任务进度、已获取的信息、以及Agent自身的“心理状态”(如当前目标、置信度等)。形式上,$S$是一个非空集合,其具体结构取决于Agent的设计需求。简单的Agent可能只需要离散的状态集合,而复杂的Agent可能需要连续的高维状态空间来表示丰富的上下文信息。
A = 动作空间(Action Space):Agent能够执行的动作的集合。动作空间定义了Agent影响世界的能力边界。与传统软件系统不同,Agent的动作空间通常包括外部动作(如调用API、发送消息、操作文件)和内部动作(如更新记忆、生成子目标、调用推理模块)。形式上,$A$是一个非空集合,通常包含有限个原子动作,但也可以包含参数化的动作族。
T = 状态转换函数(Transition Function):$T: S \times A \rightarrow S$是一个偏函数,定义了执行某个动作后Agent状态的转换规则。状态转换函数是Agent“动力学”的核心——它刻画了Agent的行动如何改变其内部状态。值得注意的是,在实际的Agent系统中,状态转换通常不是确定性的,因此$T$可能需要引入概率分布来描述不确定的转换结果。
O = 观察函数(Observation Function):$O: S_E \rightarrow I$定义了从环境状态到Agent观察的映射,其中$S_E$表示环境状态空间,$I$表示Agent能够接收的观察信息。观察函数刻画了Agent对环境的感知能力——它决定了Agent能够获取哪些关于环境的信息,以及这些信息如何被编码为Agent内部状态的一部分。观察函数是Agent系统中的关键组件,直接影响Agent的决策质量。
R = 推理引擎(Reasoning Engine):$R: H \times G \rightarrow P(A)$是一个将历史交互记录和目标映射到动作概率分布的函数。推理引擎是Agent的“大脑”——它基于当前状态和历史上下文,决定Agent应该采取什么行动。在基于大语言模型的Agent中,推理引擎通常由一个或多个LLM实例实现,通过提示工程和推理策略来引导模型的决策过程。
P = 规划器(Planner):$P: S \times G \rightarrow \Pi$是一个将当前状态和目标映射到规划(行动序列)的函数,其中$\Pi$表示可能的规划空间。规划器负责将高层目标分解为可执行的行动序列,是Agent系统目标导向行为的核心实现。在某些简单架构中,规划器可能是隐含的(嵌入在推理引擎中),而在更复杂的架构中,规划器可能是一个独立的模块,包含显式的规划算法如HTN规划、任务分解、或Chain-of-Thought推理。
M = 记忆模块(Memory Module):$M = (S_{short}, S_{long}, M_{ops})$定义了Agent的记忆结构,其中$S_{short}$表示工作记忆(当前上下文),$S_{long}$表示长期记忆(历史经验知识),$M_{ops}$表示记忆操作函数集合(包括读写、更新、检索、遗忘等)。记忆模块是Agent维持一致性和学习能力的基础,它使得Agent能够超越单次交互的局限,进行跨会话的知识积累和经验复用。
G = 目标空间(Goal Space):$G$定义了Agent可能追求的目标的集合。与简单的任务不同,目标空间中的元素通常具有层级结构和时序约束。例如,一个高层目标“完成项目报告”可能分解为“收集数据”、“分析趋势”、“撰写草稿”、“修改完善”等子目标。目标空间是Agent系统目标导向行为的基础,它决定了Agent能够追求什么样的目标,以及如何表示和评估目标达成状态。
状态机视角下的Agent行为模型
基于上述形式化定义,我们可以将Agent的行为建模为一个扩展的有限状态机(Extended Finite State Machine, EFSM)。与传统的有限状态机不同,EFSM的“状态”不仅包含离散的控制位置,还包含丰富的上下文数据和记忆内容;其“转换”不仅由当前状态决定,还受到外部环境观察和内部推理过程的影响。
```mermaid flowchart TD subgraph Environment["环境 Environment"] E1[环境状态 S_E] E2[观察 O] end
subgraph AgentCore["Agent核心"] subgraph Perception["感知模块"] P1[观察接收] P2[状态更新] end
subgraph Cognition["认知模块"] C1[推理引擎 R] C2[规划器 P] end
subgraph Memory["记忆模块 M"] M1[工作记忆 S_short] M2[长期记忆 S_long] end
subgraph Action["动作执行"] A1[动作选择] A2[工具调用] end end
E1 -->|观察函数 O| P1 P2 --> C1 C1 --> C2 C2 --> A1 M1 --> C1 M2 --> C1 A1 -->|执行动作 a| E1 E1 -->|状态转换 T| M1
style AgentCore fill:#e1f5fe style Environment fill:#fff3e0 ```
上图展示了Agent与环境交互的完整流程。Agent通过观察函数接收来自环境的信息,这些观察经过感知模块处理后更新Agent的内部状态。认知模块基于当前状态、历史记忆和目标,通过推理引擎和规划器产生行动决策。决策通过动作执行模块作用于环境,环境状态随之变化,形成新的观察,形成闭环。这一模型与经典的控制理论中的反馈控制系统有着深刻的结构对应,但Agent系统的独特之处在于其状态空间和转换规则的复杂性和开放性。
Agent与环境、工具、用户的交互范式
在实际系统中,Agent并非孤立存在,而是嵌入在一个复杂的交互网络中,与环境、其他Agent、工具系统、以及人类用户形成动态的交互关系。我们可以从三个维度来理解这些交互:
Agent-环境交互:环境是Agent行动的作用对象,也是Agent观察信息的来源。环境可以是物理世界(如机器人系统)、虚拟环境(如软件系统、游戏世界)、或混合环境。环境对Agent的观察呈现具有选择性——Agent只能观察到环境的部分状态,这种观察的不完整性是Agent系统不确定性来源之一。环境也可能包含其他Agent,形成多Agent系统,其交互模式将更加复杂,本书第六章将专门讨论这一主题。
Agent-工具交互:工具是Agent能力的延伸,使得Agent能够执行超出其“内在”能力的行动。工具的种类繁多,包括:信息检索工具(搜索引擎、数据库查询)、计算工具(代码执行器、数学求解器)、外部服务(API调用)、文件操作工具(读写本地或远程文件)、以及专用领域工具(代码解释器、图像生成器等)。工具使用能力是Agentic AI区别于传统LLM的关键特征之一,它使得Agent能够将语言理解和生成能力与外部世界的实际影响能力相结合。
Agent-用户交互:在大多数实际应用中,Agent需要与人类用户进行协作。用户可能是Agent行动的委托者(提供目标和反馈)、协作者(与Agent共同完成任务)、或监督者(审核Agent的行动)。用户交互的设计涉及多个层面:交互接口的设计、意图理解的准确性、反馈机制的有效性、以及信任建立和维护。值得注意的是,用户与Agent之间的关系并非简单的“主仆”关系——优秀的Agent系统应当能够理解用户的深层意图,主动提出建议,并在必要时寻求澄清或帮助。
---
Agent与LLM的本质区别
表层相似性与深层差异
从表面上看,Agent与大语言模型似乎具有高度的相似性——它们都以自然语言作为主要的输入输出形式,都依赖于Transformer架构,都能够处理复杂的语言理解和生成任务。然而,当我们深入分析其内在机制和行为特征时,会发现二者存在本质性的差异。这些差异不仅体现在技术实现上,更体现在其设计哲学和使用场景的根本区别上。
首先,从控制流的角度来看,传统LLM遵循的是请求-响应模式(Request-Response Pattern):用户发送一个查询,LLM处理该查询并返回响应,然后交互结束或等待下一个请求。在这种模式下,LLM本身不维护会话状态(除非使用额外的记忆机制),不追踪长期目标,也不主动发起行动。相反,Agent系统采用事件驱动模式(Event-Driven Pattern):Agent持续运行,接收来自环境的事件(观察),更新内部状态,基于当前状态和目标决定行动,然后执行行动并等待环境反馈。这种模式赋予Agent真正的“生命周期”——它可以启动、运行、在长时间跨度内追求目标、最终结束。
其次,从目标导向性来看,LLM被训练为对任意输入产生“好的”响应,但其本身不持有长期目标。LLM的“目标”是隐含在训练数据和目标函数中的——生成在统计上可能正确的文本。Agent系统则显式地持有和维护目标,这些目标可以是用户给定的,也可以是Agent根据指令自主生成的。更重要的是,Agent能够将高层目标分解为低层子目标,制定行动计划,在执行过程中根据反馈调整计划,并评估目标达成状态。这种目标导向行为是Agent区别于LLM的核心特征之一。
推理能力的本质差异
推理能力是区分Agent与LLM的另一关键维度。这里需要区分两种不同层次的推理:演绎推理和目标导向推理。
LLM能够进行一定程