人工智能实践(语言智能)
第7讲:Agent

7.1 经典 Agent 架构

从 STRIPS 到 BDI,梳理 LLM 之前的经典 Agent 架构谱系,识别它们在今天仍然管用的部分

智能体的形式化定义

在 Russell 与 Norvig 的 Artificial Intelligence: A Modern Approach(AIMA,第 4 版 2020)中,智能体被定义为"通过传感器(sensors)感知环境、通过执行器(actuators)作用于环境的实体"。他们用 PEAS 框架——Performance(性能度量)、Environment(环境)、Actuators(执行器)、Sensors(传感器)——来描述一个 agent 的设计问题,并把 agent 按能力分为五类:

类型核心机制典型例子
简单反射(Simple Reflex)条件-动作规则:if percept then action恒温器、扫地机器人的碰撞反射
基于模型(Model-Based Reflex)维护内部状态以应对部分可观察带地图的路径跟随机器人
目标驱动(Goal-Based)通过搜索/规划达成显式目标导航系统、棋类引擎
效用驱动(Utility-Based)在不确定性下最大化效用函数自动驾驶、投资决策
学习型(Learning)性能元素 + 学习元素 + 评判器 + 问题生成器AlphaGo、强化学习 agent

这套分类并非仅是历史,它直接对应到 LLM Agent 的抽象层次:一个没有记忆、每次独立回答的 ChatGPT 是"简单反射";一个带 ReAct 循环、能调用工具的 agent 是"目标驱动";一个能根据奖励自我改进的 agent(如 Reflexion)则更接近"学习型"


三种经典范式

审慎式(Deliberative):STRIPS 与规划

审慎式范式以 STRIPS(Fikes & Nilsson, 1971)为代表。它把世界状态表示为一阶谓词逻辑公式,把动作表示为 (precondition, add-list, delete-list) 的三元组,然后用 手段-目的分析(means-ends analysis)搜索把初始状态转化为目标状态的动作序列。STRIPS 最初是为 SRI 的 SHAKEY 机器人(1966–1972)开发的——人类历史上第一个把感知、规划与行动集成的移动机器人。

Plan:S0a1S1a2anSgoal\text{Plan} : S_0 \xrightarrow{a_1} S_1 \xrightarrow{a_2} \cdots \xrightarrow{a_n} S_{\text{goal}}

审慎式 agent 的优势是可解释、可验证(逻辑推理),劣势是封闭世界假设——一旦环境状态超出逻辑表达,规划立即失效。

反应式(Reactive):包容式架构

1986 年,Rodney Brooks 在 MIT 提出 包容式架构(Subsumption Architecture),它走到另一极端:完全拒绝内部表征。Brooks 在名篇 Intelligence Without Representation(1991)中主张:"世界就是它自己的模型"。包容式架构把 agent 分成若干行为层(避障 → 漫游 → 探索 → 识别),高层可以抑制(subsume)低层输出,但每一层都是纯反射式的。

Brooks 的类昆虫机器人证明:复杂智能行为可以从简单反射层的叠加中涌现。这一思想在今天的 agent 设计中仍然活着——例如 工具路由层 → 任务规划层 → 目标管理层 的分层 prompt 设计。

BDI:信念-欲望-意图

BDI 模型(Rao & Georgeff, 1991;1995)把审慎与反应的优点桥接起来,它基于哲学家 Michael Bratman 的实践推理理论,提出 agent 应当同时维护三类心智状态:

  • 信念(Belief):关于世界的认知(真假可变)
  • 欲望(Desire):动机状态,想要达成的目标
  • 意图(Intention):已经承诺去执行的行动方案(committed plan)

BDI 的核心推理循环是:

观察(Observe)

更新信念 BB(来自感知)

审议(Deliberate)

根据信念选择欲望 DD 作为当前目标

规划(Plan)

把欲望转化为意图 II(具体行动计划)

执行(Execute)

按意图行动,可被新的感知打断

BDI 的经典部署是悉尼机场的 OASIS 空中交通管理系统,至今仍有超过 5,000 次学术引用。它的价值在于显式区分"相信什么"与"要做什么"——这正是今天 LLM Agent 中 system prompt(信念)、user goal(欲望)、tool calls(意图)的雏形。


分层架构与黑板架构

分层架构(Layered Architecture)——以 TouringMachines(Ferguson, 1992)和 InteRRaP(Müller, 1996)为代表——把 agent 纵向切分为若干层:最底层是反应层(毫秒级响应),中层是本地规划层(秒级),顶层是协作/社会推理层(分钟级)。层与层之间通过控制流传递信息。

黑板架构(Blackboard Architecture)则是把各路知识源围绕一个共享的"黑板"数据结构协同工作的方式。经典案例是 HEARSAY-II 语音理解系统:不同的 knowledge source(声学、音素、语法、语义)并行监听黑板,根据自己的专长往黑板上写结果,直到共识达成。

黑板 = 多 Agent 的共享 memory。今天 LangGraph 中的 State 对象、AutoGen 中的 group chat 消息历史、CrewAI 的 shared context,本质上都是黑板的 LLM 版本。


多 Agent 协调:合同网与 KQML

经典多智能体系统建立的两项基础机制至今仍在使用:

  • 合同网协议(Contract Net Protocol,Smith, 1980):通过管理者—承包者竞标实现去中心化任务分配。管理者广播任务,候选承包者根据自身能力竞标,管理者择优授予合同。今天的 multi-agent routing(如 CrewAI 的 delegation)本质是合同网的变体。
  • KQML / FIPA-ACL(1994–1996):基于言语行为理论(speech act theory)的 agent 通信语言,定义了 tellasksubscribeachieveperformative原语。今天 MCP 的 tools/listresources/read 请求就是这一思路的继承。

今天仍然管用的部分

经典架构并没有被 LLM 扫进历史垃圾桶,以下原则在当下 agent 设计中依然锋利:

经典概念今天的形态
PEAS 框架写 agent spec 时的基本工具(性能/环境/动作/观察)
简单反射 vs 目标驱动区分"聊天机器人"与"真正的 agent"
包容式架构分层 prompt(工具层 / 规划层 / 反思层)
BDI 三元组system prompt / user goal / tool call plan
黑板LangGraph State / group chat history
合同网Multi-agent task delegation
环境分类(可观察性、确定性、动态性)判断 agent 任务难度的第一步

陷阱提醒:不要把 LLM Agent 当成"会说话的 STRIPS"。LLM 没有封闭世界假设、没有完备的逻辑推理,它的强项是模式补全自然语言工具调用。把经典范式的思想拿来用,但不要照搬它的实现。

本节小结

  • Russell & Norvig 的五类 agent 分类是描述 agent 能力层次的通用词汇
  • 审慎式(STRIPS) 用逻辑规划,反应式(Brooks) 用分层反射,BDI 把两者桥接
  • 分层架构 把 agent 纵向切分;黑板架构 提供共享工作区——二者都在 LLM Agent 中复活
  • 合同网KQML 奠定了多 agent 通信与任务分配的基础
  • 学习经典架构的目的不是"考古",而是把 LLM Agent 放在两千年 AI 史的脉络里看清楚它新在哪里不变的又是什么