智能体范式演进:从语言模型到自主系统 (The Agent Paradigm: From LLMs to Autonomous Systems)
智能体范式演进:从语言模型到自主系统
当 GPT-4 在 2023 年以人类前 10% 的成绩通过统一律师资格考试、写出可在 LeetCode 上通过全部测试用例的算法解答、并就量子纠缠的本质与人类专家展开长达数十分钟的连贯对话时,整个行业陷入一种集体眩晕:既然语言模型已经如此强大,为什么我们仍然需要"智能体(Agent)"作为独立的研究范式?答案并不在 LLM 能力曲线的高点上,而在它落地执行任务时的低地上。本章从这一悖论出发,跨越六十年智能体思想的学术谱系,最终落到 2023–2024 年 AutoGPT、BabyAGI、Devin 等里程碑系统的架构比较上,论证"规划 + 记忆 + 工具"三角范式出现的必然性,并系统梳理其失败模式,为后续章节的认知架构设计奠定共识基础。
1.1 智能体思想的学术谱系:从 SHRDLU 到 BDI、SOAR 与 ACT-R
智能体并非 2023 年的新发明。把"能够感知环境并采取行动以达成目标的系统"作为研究对象,至少可以追溯到 1960 年代的经典 AI 时代。理解这段历史并非考古式的学术姿态——它解释了为什么现代 LLM Agent 在工程实现上总是隐隐撞见一些古老的理论边界。
1.1.1 符号主义时代的早期 Agent
1966 年,MIT 的 Joseph Weizenbaum 发布 ELIZA,一个通过模式匹配模拟罗杰斯学派心理治疗师的程序。它没有任何"理解",却能让一些用户相信它在倾听。这暴露出一个后来困扰整个领域的问题:对话能力与认知能力并非同义。真正的转折点是 Terry Winograd 在 1968–1970 年间完成的 SHRDLU。SHRDLU 在一个名为"积木世界(blocks world)"的受限环境里,结合语法解析、语义表示、规划与世界模型,实现了对自然语言指令的端到端执行——你可以告诉它"把红色锥体放在蓝色立方体上",它会推理出几何冲突并拒绝执行。这种"语言—推理—行动"三者耦合的范式,正是今天 LLM Agent 的精神祖先。
紧随其后的 1970 年代是经典 AI 规划的黄金期。STRIPS(Stanford Research Institute Problem Solver, Fikes & Nilsson, 1971)将规划问题形式化为状态空间搜索,并引入"操作符—前置条件—效果"的三元组表示,这一形式化在今天 LangChain 的 Plan-and-Execute 模式中仍可辨识。1980 年 Marvin Minsky 在《心智社会(Society of Mind)》中提出"心智由许多简单智能体组成"的纲领性思想,预演了 2024 年 MetaGPT、AutoGen 这类多 Agent 系统的拓扑结构。
1.1.2 BDI 模型:认知与意图的形式化
1987 年,Michael Bratman 在《Intentions, Plans, and Practical Reason》中首次把"意图(intention)"作为独立于"信念(belief)"和"愿望(desire)"的哲学范畴提出。1995 年 Anand Rao 与 Michael Georgeff 在此基础上建立了 BDI(Belief-Desire-Intention)架构,其核心洞见是:一个自主系统不可能同时追求所有愿望,必须通过"承诺(commitment)"机制把某些愿望固化为意图,才能避免无限摇摆。BDI 直接影响了 AgentSpeak(L)语言、JACK 智能体开发平台,以及今天 LangGraph 中"目标状态—条件转移"的状态机设计。从工程视角看,BDI 的最大遗产是"意图再考虑(intention reconsideration)"的概念——Agent 应当在何时坚持原计划、何时推翻重来,这一权衡在 ReAct、Reflexion 等现代框架中以"self-critique"和"plan revision"的形式重新出现。
1.1.3 SOAR 与 ACT-R:通用认知架构的两条路线
与 BDI 并行发展的是"通用认知架构(unified cognitive architecture)"的追求,其中最成功的是 SOAR(John Laird、Allen Newell、Paul Rosenbloom, 1987)与 ACT-R(John Anderson, 1976 起,1990 年代成熟)。
SOAR 的核心是"产生式系统 + 子符号化学习"的统一:所有认知活动被分解为 `IF condition THEN action` 形式的产生式规则,遇到无法解决的 impasse 时自动进入"通用子目标(universal subgoaling)"机制,将问题拆解到更细粒度。这一"困境即学习机会"的范式,与 2023 年 Shunyu Yao 等人提出的 Tree of Thoughts(ToT)算法在思想上惊人地同构——ToT 的 backtracking 正是 SOAR impasse 机制的现代重写。SOAR 至今仍是研究型 Agent 平台的活跃项目(SoarTech、Laird 团队 2023 年仍在更新)。
ACT-R 走得更远,它通过严格的激活方程建模人类记忆与决策,将"陈述性记忆(declarative)"和"程序性记忆(procedural)"严格区分。ACT-R 的声明性记忆激活公式 $A_i = B_i + \sum_j P_{ij} M_j + \epsilon_i$(其中 $B_i$ 是基础激活,$P_{ij}$ 是关联强度,$M_j$ 是上下文匹配度,$\epsilon_i$ 是噪声)几乎可以直接对应到今天 RAG 系统的混合检索打分函数——BM25 提供 $B_i$,向量相似度近似 $P_{ij} M_j$。这并非巧合:现代向量数据库对"激活扩散(spreading activation)"的工程实现,与 ACT-R 三十年前的理论假设几乎一一对应。
理解这条谱系对当代 LLM Agent 工程师的价值在于:当下遇到的问题——如何避免无限循环、如何选择放弃旧目标、如何在长时记忆中检索相关片段——并不新鲜,前人已经给出了形式化答案。LLM 的"新颖性"在于它把"产生式"从手工编码变成了自然语言提示,把"激活方程"变成了 embedding 相似度;但工程权衡的本质——可解释性与灵活性、计算成本与决策深度——保持不变。
1.2 LLM 的能力边界:为什么纯语言模型不足以构建自主系统
把语言模型直接当作 Agent 使用是 2022–2023 年最常见的"玩具式"做法。开发者只需一个 prompt 模板,把用户目标写进去,让 LLM 输出文本,再正则解析为下一步行动——循环往复。这种"裸 LLM Agent"在演示中常常惊艳,在生产中却几乎必然失败。失败并非偶然,而是 LLM 架构本质决定的四类边界。
1.2.1 幻觉(Hallucination):概率生成与认知可信的张力
LLM 在每一时刻执行的是 $P(t_{i+1} | t_{1:i})$ 的自回归采样,并不维护任何关于"事实"或"自我一致性"的全局约束。这导致两类典型失败:一是"凭空生成"——LLM 会自信地引用不存在的论文、不存在的 API、不存在的库函数版本;二是"自相矛盾"——同一段对话内,前期陈述的事实会在后续被无声地否定。Agent 任务中,幻觉会以"级联失效(cascading failure)"的形式放大:一次错误的 API 调用会被后续步骤作为前提继续推理,最终把整个任务轨迹拖入歧途。Sparks of AGI 团队(Suzgun et al., 2022)在 GPT-4 技术报告中明确指出,即便在简单算术上,模型在 200 步以上的链式推理中错误率会指数级累积——而这正是任何长时任务的基础要求。
1.2.2 上下文窗口:硬架构限制与"中间遗失"问题
Transformer 的自注意力复杂度为 $O(n^2)$,这使得上下文窗口的扩展需要付出高昂的算力代价。GPT-4 的 128K、Mistral Large 的 128K、Claude 3 的 200K 看似充足,但 Liu 等人在 2023 年 ACL 论文《Lost in the Middle》中以严格实验证明:即便在窗口范围内,模型对位于上下文中段的检索准确率显著低于首尾,这一现象在长上下文场景下不会消失。这意味着 LLM 作为 Agent 时,如果把所有记忆、所有历史步骤塞进 prompt,看似"看到了一切",实则对关键决策信息可能视而不见。工程上必须引入外部记忆系统并设计显式的检索—压缩—摘要流程。
1.2.3 持久状态缺失:无法建立世界模型
LLM 在一次推理过程中是"无状态(stateless)"的——它没有跨对话的累积学习,没有对自身历史的索引,更没有"我之前做过什么、效果如何"的内省。任务失败后,它不会真正"记住"教训,只会通过把过去步骤再次塞入上下文来"假装"记住。Sutton 在《苦涩的教训(The Bitter Lesson, 2019)》中指出,依赖人类先验知识的方法终将被通用搜索与学习取代——这正是 LLM 的胜利之处,但它并未自动解决"持久状态"问题。Agent 系统必须显式提供外化的、可持久化的、可检索的状态层。
1.2.4 行动能力的根本缺失
最本质的限制:LLM 只能生成文本。它不能执行代码、不能读写文件、不能调用 API、不能操作系统——除非通过外部工具层把这些能力"嫁接"进来。这意味着 LLM 在概念上等价于一个"纯大脑",而 Agent 需要"大脑 + 身体 + 感官"的完整耦合。Function calling 协议(OpenAI 2023 年 6 月、Anthropic 2024 年相继推出)以及更通用的 Model Context Protocol(MCP, Anthropic 2024 年 11 月开源)正是为填补这一空缺而设计。
把这四类边界综合起来,得到的结论清晰:要让 LLM 真正承担"自主完成任务"的职责,必须在其外部构建一个由规划(Planning)、记忆(Memory)、工具使用(Tool Use)组成的执行层。这一三角范式不是工程上的"最佳实践",而是 LLM 架构本体论上的必然推论。
1.3 现代 Agent 三角范式:规划、记忆、工具
三角范式并非新发明,而是把 1980 年代规划理论、ACT-R 记忆模型、子符号化方法在 LLM 时代的再工程化。理解每一支柱的内核与边界,是后续章节架构设计的基础。
1.3.1 规划(Planning):从 CoT 到 ToT 与 ReAct
"让 LLM 思考"最简单的实现是 Chain-of-Thought(CoT, Wei et al. 2022):在 prompt 中插入"让我们一步步思考(Let's think step by step)",模型便会输出中间推理步骤。CoT 的有效性来自 LLM 在训练时学到的"解题过程"模式,但它本质是单链推理,无法回溯、无法对比。Tree of Thoughts(ToT, Yao et al. 2023)把推理组织成树结构,允许 BFS/DFS 搜索与回溯:每个节点是一个"思考状态",通过 LLM 自评(self-evaluation)决定哪些分支值得扩展。ToT 在 24 点游戏、创意写作等任务上相比 CoT 提升显著,但代价是 $k$ 倍的 LLM 调用成本。
更具工程影响的是 ReAct(Yao et al. 2022,2023 年与 LangChain 同步流行),它把推理与行动交织成 `Thought → Action → Observation` 的循环:
``` Thought 1: 我需要查询用户最近的订单。 Action 1: get_user_orders(user_id=123) Observation 1: 返回 3 个订单,最后一个在 2024-03-15 状态为"已发货"。 Thought 2: 用户说"昨天下的单还没到",但最新订单是 15 号,说明这是更早的单。 Action 2: ask_user_for_clarification(...) ```
ReAct 的关键不是结构本身,而是它首次让"外部反馈"成为推理链的合法一环——打破了 LLM 仅在内部封闭推理的局限。Reflexion(Shinn et al. 2023)在 ReAct 之上加入"自我反思(self-reflection)"机制:失败后生成自然语言形式的诊断,作为长期记忆的一部分影响后续决策。规划层的演进可以概括为:从单链 → 树搜索 → 反思迭代,每一步都增加工程复杂度与可解释性。
1.3.2 记忆(Memory):短时、长时与情景三层架构
现代 Agent 系统的记忆层通常划分为三类:
- **短时记忆(Short-term / Working Memory)**:即当前上下文窗口。容纳当前任务的活跃信息,受限于 token 预算。设计要点是动态摘要(progressive summarization)——当接近窗口上限时,用 LLM 自身把早期内容压缩成结构化摘要。
- **长时记忆(Long-term Memory)**:存储在向量数据库、键值库或知识图谱中的历史经验、知识片段、用户偏好。检索通过 embedding 相似度、BM25 或混合打分完成。2024 年起兴起的 GraphRAG(Microsoft Research)进一步把记忆组织成实体—关系图,以支持多跳推理。
- **情景记忆(Episodic Memory)**:与具体事件绑定的"何时、何地、与谁、做了什么"四元记录。Anthropic 在 2024 年提出的"Agentic Search"中明确把情景记忆作为关键设计,因为它支持 Agent 在多轮任务中"重新回到"特定上下文节点。
工程上的一个常见误区是把"向量数据库 = 记忆"。向量检索擅长语义相似度,但缺乏时序、缺乏精确匹配、缺乏关系推理。生产级 Agent 通常需要混合存储:关系数据库存结构化事实,向量数据库存语义片段,知识图谱存实体关系,文件系统存大文件——并在检索层做统一调度。
1.3.3 工具使用(Tool Use):从 Function Calling 到 MCP
工具是 Agent 与外部世界交互的唯一通道。OpenAI 2023 年 6 月推出 Function Calling,使 LLM 能够输出结构化 JSON 参数触发外部函数;2024 年 Anthropic 发布 Model Context Protocol(MCP),把"工具描述"标准化为客户端—服务器协议,目标是让工具在不同模型、不同框架间可移植——类似于 LSP(Language Server Protocol)在 IDE 领域的作用。
工具的设计有三条原则值得强调。其一,原子性:每个工具应当对应一个语义明确、不可再分的能力。`send_email(to, subject, body)` 是合理的;`handle_email(...)` 是危险的,因为它的副作用对 Agent 不透明。其二,可逆性优先:优先选择可逆操作(读、改、搜索),慎用不可逆操作(删、发、付)。生产系统中通常用"dry-run"模式提供预演。其三,错误显式化:工具失败必须返回机器可解析的错误码与诊断信息,而非抛字符串异常。LLM 在重试时如果得不到结构化反馈,会陷入重复同一错误调用的死循环。
三角范式的相互依赖关系可以总结为:规划给出"做什么",记忆提供"知道什么",工具实现"能做什么"。三者缺一,系统会退化为"纯对话式 LLM"或"脆弱的脚本执行器"。
```mermaid flowchart LR A[Pure LLM<br/>stateless inference] --> B[CoT Prompting<br/>+ reasoning] B --> C[ReAct Loop<br/>+ tool use] C --> D[Agent with Memory<br/>+ retrieval] D --> E[Planning Agent<br/>+ decomposition] E --> F[Autonomous Agent<br/>plan+memory+tool] F --> G[Multi-Agent System<br/>+ collaboration] ```
上面这张能力跃迁图(Agent Capability Escalation)展示了从纯 LLM 到多 Agent 系统的演化路径。每一级跃迁都伴随着新的失效模式与新的工程复杂度——这正是后续章节必须逐级拆解的内容。
1.4 分类学:反应式、慎思式与混合式 Agent
在三角范式确立后,Agent 设计仍有一个根本性选择:系统应该多快响应,多深思考?这一选择把 Agent 分成三大类,且各自有清晰的工程权衡。
1.4.1 反应式 Agent(Reactive Agent)
反应式 Agent 的哲学是"刺激—响应"(stimulus-response),拒绝内部世界模型。Rodney Brooks 在 1986 年论文《Elephants Don't Play Chess》中提出的包容架构(subsumption architecture)是其典范:用一组并行的"行为层"(避障、漫游、探索、目标追踪)直接由传感器驱动,层与层之间通过抑制信号仲裁,没有显式的推理过程。
LLM 时代,反应式 Agent 的回归体现在两类场景。其一是对话路由:根据用户意图分类(intent classification),直接调用预设的领域处理流程,全程不调用 LLM 推理。其二是低延迟 Agent:如 Anthropic 2024 年推出的"Computer Use",模型在每个时间步直接根据屏幕截图决策下一步动作,推理深度被严格限制以保证 200ms 级的响应时间。反应式 Agent 的优势是延迟可预测(通常 <100ms)、成本可控(推理预算恒定)、行为可审计;劣势是无法处理需要多步前瞻的任务,无法回答"如果我不做这件事,未来 5 步之后会怎样"。
1.4.2 慎思式 Agent(Deliberative Agent)
慎思式 Agent 维护一个显式的世界模型,在每一步行动前完成"感知 → 建模 → 规划 → 行动"的完整循环。这正是 BDI 架构与经典 AI 规划的原型。慎思式 Agent 在 LLM 时代的对应物是 Plan-and-Execute(LangChain 2023)、LLM Compiler(Khattab et al. 2023)以及 AutoGPT 类的"显式任务队列"系统。
慎思式 A