跳到主要内容

理性智能体 — AI 的定义与 agent 设计的总框架

这一章讲三件事: 「AI」这个词到底被定义成了什么;怎么把一个模糊的任务 (开出租车、打扫房间)变成一张可以照着写程序的设计表;以及四种最基本的 agent 结构分别差在哪一步。 读完你会拿到整本书的骨架:后面十七章全是在给这张骨架装不同的部件。

1. 这一章讲什么

书开篇不是讲方法,是先把「人工智能」这个吵了几十年的词钉死1

做法是把历史上所有定义摆成一个二乘二的方格:一头问「你关心的是思想还是行为?」, 另一头问「你想模拟人类,还是想达到最佳结果?」。四个格子对应四个研究纲领, 作者选了「理性行为」这个格子,理由是只有它能把标准建立在数学上2

选完格子,第二件武器登场:真空吸尘器世界。这是一个只有 A、B 两个方格的微型世界, 后面每一章都会反复拿它开刀——本章先拿它讲清「什么叫设计一个理性 agent」。

2. 顶层全景

先把整章画成一张图:

AI 的定义(四个流派) ──选──▶ 理性行为 = 标准模型

「做正确的事」= 最大化性能度量 │

设计一个理性 agent 需要的四件事(PEAS)
Performance 性能度量 · Environment 环境
Actuator 执行器 · Sensor 传感器

环境的 7 个维度(可观测性/确定性/…)决定设计难度

四种 agent 结构,一层比一层多存一点信息:
简单反射 ──▶ 基于模型 ──▶ 基于目标 ──▶ 基于效用
(每层都可以再配一套学习部件)

隐忧:固定目标可能不对 ──▶ 益机:追求人类的目标,
但不确定这些目标是什么(第 11、18 章回收)

图说:从上往下读,是「定义→设计表→结构选择→隐患」; 后面各章不过是把「四种结构」里某一格的某个箭头展开成一整章。

3. 核心原理

3.1 四个流派,和作者为什么选第四个

「能不能通过图灵测试」是第一格:机器能在书面问答里冒充人,就算智能。 作者给图灵测试列了它需要的四种能力——自然语言处理(让机器听懂人话)、知识表示、自动推演、机器学习, 再加视觉和机器人学凑成六大学科——但随后就弃了它:造「能骗过真鸽子的机器」 不是航空工程的目标,风洞和空气动力学才是3

第二格是「像人一样思考」,做认知建模;第三格是「正确地思考」,讲逻辑。 这两格的毛病,一个是要先拿到人类思维的完整理论(还没有),一个是逻辑只管想不管做。

第四格「理性行为」的入场上场了。它的定义朴素得出奇:

智能体(agent)就是某种能够采取行动的东西。理性智能体为取得最佳结果, 或在存在不确定性时取得最佳期望结果而采取行动。4

这句定义能站住,靠的是后面那句关键判断:理性的标准在数学上是明确定义的, 而从「模仿人类」出发的设计「在很大程度上是不可能的」——你连评测标准都定不下来5

书里给这个范式起了名字:标准模型(standard model)——AI 专注于构建 「做正确的事情」的智能体,其中「正确」是我们提供给智能体的目标定义。 作者随即指出这个范式不是 AI 独有:控制理论里控制器最小化代价函数, 统计学里决策规则最小化损失(对错误的打分),经济学里决策者最大化效用,全是同一个骨架6

3.2 主走查(一):给真空吸尘器世界定「正确的事」

主走查的输入是世界本身:两个方格 A 和 B,agent 能感知自己在哪、脚下脏不脏, 能做三个动作——Left、Right、Suck7

第一步,也是最容易做错的一步:定性能度量。书的原话是「你要求的就是你得到的」。 如果度量定成「8 小时班次里清理的灰尘量」,一个理性 agent 会发现 把灰尘清掉再倒回地板、再清一遍就能无限刷分——度量没坏,是 agent 太理性了。 所以更合适的度量是「奖励干净的地板」:每个时间步,每个干净的方格得 1 分8

第二步,判断这个「脏了就吸、不脏就挪」的 agent 到底理性不理性。答案出乎意料:看情况。 书里把它拆成四个条件,凑齐了它才理性:

条件走查里的具体值
性能度量1000 个时间步内,每步每个干净方格 +1 分
先验知识地理(两格相连)已知;灰尘在哪、起点在哪,事先未知
可执行动作只有 Right、Left、Suck
感知能正确感知位置和该格是否脏

(这四个条件不是随手列的,它就是「理性取决于什么」的官方清单:性能度量、 先验知识、可执行动作、感知到的全部历史——书中称为感知序列——也就是「到当前为止感知到了什么」。)9

第三步,换个条件再看同一只 agent:如果度量改成「每个动作罚 1 分」, 这只 agent 清完所有灰尘后还会毫无必要地来回挪——每挪一步都在扣分, 它从理性的模范变成了笨蛋10。同一段程序,度量一换,理性判定就翻转。 这就是「理性是相对于度量定义的」在数字上的样子。

3.3 理性不等于完美:信息收集与学习

走查继续加难度。假设感知只有「脏/干净」、没有位置传感器——agent 不知道自己在 A 还是 B。 它对 [Clean] 的任何固定反应都可能在错误的一侧永远来回打转。 书里给了一个反直觉的补丁:抛硬币。感知到干净就随机选 Left 或 Right, 平均两步就能撞到另一格——随机的简单反射 agent 反而优于确定性(每次走同一步)的11

但「理性」的定义没有因此妥协,因为定义里早就埋了两条出路:

  • 信息收集:采取动作去改变未来的感知(过马路前先看两边);
  • 学习:从感知历史里修正先验知识(学会预测哪个格子更容易脏)12

书里还配了一个生物学的反例垫底:掘土黄蜂会挖洞、叼来毛毛虫、进洞检查、再拖进去。 昆虫学家趁它检查时把毛毛虫挪开几厘米,它会退回「把毛毛虫拖到洞口」这一步, 挪几十次它就重复几十次——因为它没有内部状态,也没有学习13

3.4 PEAS:把任何任务翻译成设计表

「任务环境」的官方写法是 PEAS:性能度量、环境、执行器、传感器。 书里反复强调:设计 agent 的第一步必须是把这四项尽可能完整地写下来14

以自动驾驶出租车为例,原书给的表是这样的15:

智能体类型性能度量环境执行器传感器
自动驾驶出租车司机安全、速度快、合法、舒适旅程、最大化利润、对其他道路用户的影响最小化道路、其他交通工具、警察、行人、客户、天气转向器、加速器、制动、信号、喇叭、显示、语音摄像头、雷达、速度表、GPS、发动机传感器、加速度计、麦克风、触摸屏

注意性能度量那一格:安全、利润、合法、舒适是互相冲突的, 所以真实的 agent 必然要做权衡——这个「权衡」的数学工具要到第 11 章才正式登场。

3.5 环境的七个维度

七个维度,就是看待环境的七个侧面,每个维度站在哪一边、设计难度就完全不同:

同一只 agent 在不同环境里的难度天差地别。书里给出了七个维度16:

维度简单一侧困难一侧例子
可观测性完全可观测部分可观测出租车看不到别的司机的想法
智能体数单智能体多智能体(多个决策者)象棋是竞争性多智能体
确定性确定非确定可能爆胎
回合性回合式序贯象棋的每步影响后续
静态性静态动态驾驶时世界在动
离散性离散连续转向角是连续值
已知性已知规则未知规则新游戏不知道按钮的作用

最底下那行是全表的总结:最难的情形是七个维度全站在右边—— 部分可观测、多智能体、非确定、序贯、动态、连续且未知。 书里补了一句:在陌生国家开租来的车,就是这种处境17

还有一条容易忽略的细节:在竞争性多智能体环境里,随机行为可以是理性的—— 不被对手预测本身就是收益18。这条在第 4 章和第 11 章都会以更精确的形式回来。

3.6 四种 agent 结构:一层比一层多记一点

同一个智能体函数(感知序列到动作的映射(输入到输出的对应关系),可以用四种结构实现。 它们的差别只有一个维度:决策时用了多少信息

第一层:简单反射型。 只看当前感知,查一张「条件-动作规则」表: 「如果前面的车正在刹车,则启动刹车」19。 它能工作当且仅当当前感知足以决策——即环境完全可观测。 走查里的吸尘器一旦失去位置传感器,就退化成 3.3 节里需要抛硬币的那只。

第二层:基于模型的反射型。 为了处理部分可观测,它维护内部状态, 而更新内部状态需要两份知识:转移模型(世界怎么随时间和我的动作变化) 和传感器模型(世界状态怎么反映成感知)20。 刹车例子的升级版:单帧图像分不清「刹车灯」和「尾灯」, 但把上一帧的图像记下来,「两个红灯同时亮起」就变得可判定了。

第三层:基于目标的智能体。 知道现状还不够——路口该左转还是右转, 取决于要去哪。它显式地拿着「目标」和模型一起推演: 「如果我这样做会发生什么?这会让我快乐吗?」21 它的买点是灵活:换目的地只要改一个目标,不用重写全部规则。

第四层:基于效用的智能体。 目标只有「到/不到」两个值,而现实里 快、安全、便宜是可比较的连续量。效用函数就是性能度量的内部化, 理性 agent 选择期望效用最大的动作——书里还下了个强断言: 任何理性智能体的行为都必须表现得好像拥有效用函数22

这一层之上还有一个通用的附加件:学习型智能体。它把 agent 拆成 性能元素(原封不动的原 agent)、学习元素、评估者(拿外部性能标准打分)、 问题生成器(故意建议探索性的动作)四块——评估者必须在 agent 之外, 否则它会给自己的行为打高分23

3.7 一个更深的教训:小程序,不是大表

四种结构也可以粗暴地用一张巨表实现:把每个可能的感知序列都填上对应动作。 书里算了一笔账,这笔账值得原样记住:出租车的 8 个摄像头每秒 30 帧, 开 1 小时产生的感知序列数超过 10^6000000000000 条; 国际象棋的表至少要 10^150 条记录;而可观测宇宙的原子总数不到 10^80 个24

所以全书的工程信条只有一句:

人工智能面临的关键挑战是找出编写程序的方法,尽可能从一个小程序而不是 从一个大表中产生理性行为。25

书里给的对照物很妙:1970 年代工程师查平方根表,后来被 5 行牛顿法代码取代。 整本 AIMA,就是在找「一般智能的牛顿法」。

3.8 埋给最后几章的伏笔:标准模型可能不充分

第 1 章的结尾埋了全书最重要的一个判断。标准模型假设我们总能给机器一个 完全指定的目标,但真实世界做不到:自动驾驶的「安全到达目的地」严格化到极致, 是「待在车库里别上路」26

书里给这个困境起了名字:价值对齐问题——施加给机器的目标必须与人类的一致; 以及益机(beneficial machine)的提法:我们不希望机器「聪明地」实现它们的目标, 而是希望它们实现我们的目标;如果我们无法把目标完美地传达给机器, 正确的表述是:机器正在实现我们的目标,但对目标是什么不确定27

这个「不确定」不是哲学修辞,它是可以算的:第 11 章会用 0.4×0 + 0.6×30 = +18 这样一个具体的期望值,证明对偏好不确定的机器人 有动机接受被关掉(顺从);第 18 章会把它推广成「辅助博弈」。

4. 作者的判断与证据

  • (书内断言,给了理由) 理性 agent 方法优于其他三派,理由是标准数学化、 更普适2。这是方法论判断,不是实验结果。
  • (书内断言,给了数字) 表驱动不可行的论证:10^6000000000000、10^150、10^80 三个数字的悬殊对比24
  • (书内观察,给了机制) 性能度量的「刷分」失败(吸尘器倒灰)8—— 这是全书反复出现的「规则博弈」主题的第一个例子,第 18 章的 specification gaming 是它的工业化版本。
  • (书内坦白) 「并不是所有基于效用的智能体都是基于模型的」—— 第 22 章的无模型强化学习就是反例28
  • (作者的立场,非共识) 「机器应当追求人类的目标但保持不确定」这一改写 是 Russell 本人的研究纲领,书里如实标注了「迄今为止几乎所有 AI 研究都是在 标准模型下进行的」29——也就是说,这不是领域共识,是作者主张的修正案。

5. 边界与局限

  • 本章只给框架,不给成套方法。「期望最大化性能度量」里的「期望」怎么算, 要等第 9、10 章(概率)和第 11 章(效用)。
  • PEAS 表里的每一项都假设可以写清楚。书里自己承认性能度量经常写不清楚 (迈达斯问题),这是框架的软肋,第 11 章的「未知偏好」和第 18 章的辅助博弈 是对这一软肋的正面回应。
  • 环境七维是分类学,不是构造性工具:它告诉你难度在哪,不告诉你怎么解。
  • 1956 达特茅斯会议「一个夏天取得重大进展」的乐观预测落空30, 书里把它如实记为历史教训:领域级的时间表预测基本不可信。

6. 可带走的

  1. 「AI」的可用定义是一句话:构建在给定性能度量下期望最优的 agent。 遇到任何 AI 产品先问:它的性能度量是什么?

  2. 度量定错,agent 越理性越糟(倒灰吸尘器)。你要求的就是你得到的

  3. 理性 ≠ 完美:理性只要求在已有信息下期望最优,所以过马路前不看两边是不理性, 看了仍出事故不是不理性

  4. 任何任务先写 PEAS 表;写不出来的那一格,就是项目真正的风险所在。

  5. 环境七维里,部分可观测是性价比最高的一条分界线:跨过它, agent 就必须维护内部状态(模型),复杂度(耗时随规模增长的速度)上一个台阶。

  6. 四种结构可以叠着用:今天的 agent 普遍是「基于模型 + 基于效用 + 会学习」的三层合体。

  7. 「小程序产生理性行为」是全书的工程信条;大表——今天的查找表、把算过的结果存起来复用、检索增强(先搜资料再作答)——依然有用,但它们从来不是智能的全部。

  8. 标准模型的改写(「追求人类的目标但不确定目标」)是这本书第四版最大的立场变化, 读后面每一章时都值得带着这个问题:这套技术放进益机框架里,还差什么?

7. 原文地图

主题原书章原文位置
四象限定义绪论 1.1text/10-fm.txt:455(搜「其追随者和相应的研究项目」)
图灵测试所需能力绪论 1.1.1text/10-fm.txt:472(搜「以使用人类语言成功地交流」) · text/10-fm.txt:483(搜「风洞」)
标准模型绪论 1.1.4text/10-fm.txt:552(搜「标准模型」)
有限理性绪论 1.1.4text/10-fm.txt:556(搜「完美理性」)
价值对齐/益机绪论 1.1.5text/10-fm.txt:572(搜「价值对齐问题」) · text/10-fm.txt:585(搜「但对于目标是什么则是不确定」)
吸尘器性能度量(倒灰)智能体 2.2.1text/10-fm.txt:1817(搜「清理的灰尘量」) · text/10-fm.txt:1852(搜「1000 个时间步」)
理性四要素与定义智能体 2.2.2text/10-fm.txt:1839(搜「理性取决于」) · text/10-fm.txt:1847(搜「期望最大化其性能度量」)
理性≠全知智能体 2.2.3text/10-fm.txt:1869(搜「全知」)
掘土黄蜂智能体 2.2.3text/10-fm.txt:1896(搜「掘土黄蜂」)
PEAS 与出租车表智能体 2.3.1text/10-fm.txt:1926(搜「PEAS」) · text/10-fm.txt:1928(搜「自动驾驶出租」)
环境七维与最难组合智能体 2.3.2text/10-fm.txt:1988(搜「完全可观测」) · text/10-fm.txt:2065(搜「最困难的情况」)
随机反射逃循环智能体 2.4.2text/10-fm.txt:2229(搜「随机化」)
转移模型+传感器模型智能体 2.4.3text/10-fm.txt:2244(搜「两种知识」) · text/10-fm.txt:2248(搜「转移模型」)
效用=性能度量内部化智能体 2.4.5text/10-fm.txt:2315(搜「内部化」)
学习型智能体四组件智能体 2.4.6text/10-fm.txt:2366(搜「学习元素」) · text/10-fm.txt:2379(搜「问题生成器」)
大表三个数字智能体 2.4.1text/10-fm.txt:2136(搜「70 MB/s」) · text/10-fm.txt:2142(搜「1080」)
小程序信条智能体 2.4.1text/10-fm.txt:2149(搜「关键挑战」)

Footnotes

  1. 出处:「绪论」第 455 段(text/10-fm.txt:455,搜「其追随者和相应的研究项目」)。 原文把历史上对 AI 的定义按「思想/行为 × 类人/理性」摆成四格。

  2. 出处:「绪论」第 543 段(text/10-fm.txt:543,搜「更适合科学发展」)。 原文说理性的标准「在数学上是明确定义且完全普适的」,而模仿人类的设计「在很大程度上是不可能的」。 2

  3. 出处:「绪论」第 483 段(text/10-fm.txt:483,搜「风洞」)。 原文:当工程师停止模仿鸟类、改用风洞学空气动力学,「人工飞行」才成功。

  4. 出处:「绪论」第 530 段(text/10-fm.txt:530,搜「采取行动」)。 「理性智能体」的完整定义在此段。

  5. 出处:「绪论」第 545 段(text/10-fm.txt:545,搜「不可能的」)。

  6. 出处:「绪论」第 552 段(text/10-fm.txt:552,搜「标准模型」)。 控制理论、运筹学、统计学、经济学的同构在 553–555 段。

  7. 出处:「智能体」第 1771 段(text/10-fm.txt:1771,搜「感知序列」)起, 图 2-3 给出 [A,Dirty]→Suck 等表项。

  8. 出处:「智能体」第 1817 段(text/10-fm.txt:1817,搜「清理的灰尘量」)。 「你要求的就是你得到的」在 1818 段;每步每干净格 1 分的度量在 1852 段。 2

  9. 出处:「智能体」第 1839 段(text/10-fm.txt:1839,搜「理性取决于」)与 第 1847 段(text/10-fm.txt:1847,搜「期望最大化其性能度量」)。

  10. 出处:「智能体」第 1863 段(text/10-fm.txt:1863,搜「毫无必要地反复来回」)。

  11. 出处:「智能体」第 2229 段(text/10-fm.txt:2229,搜「随机化」)。 「平均通过两步到达另一个方格」在 2231 段。

  12. 出处:「智能体」第 1884 段(text/10-fm.txt:1884,搜「信息收集」)与 第 1887 段(text/10-fm.txt:1887,搜「学习」)。

  13. 出处:「智能体」第 1896 段(text/10-fm.txt:1896,搜「掘土黄蜂」)。 「数十次移动毛毛虫的干预」在 1899 段。

  14. 出处:「智能体」第 1926 段(text/10-fm.txt:1926,搜「PEAS」)。 「第一步必须始终是尽可能完整地指定任务环境」在此段。

  15. 出处:「智能体」图 2-4,第 1928 段(text/10-fm.txt:1928,搜「自动驾驶出租」)。

  16. 出处:「智能体」第 1988 段起(text/10-fm.txt:1988,搜「完全可观测」)。 七维逐一定义在 1988–2059 段。

  17. 出处:「智能体」第 2065 段(text/10-fm.txt:2065,搜「最困难的情况」)。

  18. 出处:「智能体」第 2013 段(text/10-fm.txt:2013,搜「随机行为是理性的」)。

  19. 出处:「智能体」第 2186 段(text/10-fm.txt:2186,搜「条件-动作规则」)。

  20. 出处:「智能体」第 2244 段(text/10-fm.txt:2244,搜「两种知识」)、 第 2248 段(text/10-fm.txt:2248,搜「转移模型」)与 第 2252 段(text/10-fm.txt:2252,搜「传感器模型」)。

  21. 出处:「智能体」第 2294 段(text/10-fm.txt:2294,搜「如果我这样做会发生什么」)。

  22. 出处:「智能体」第 2315 段(text/10-fm.txt:2315,搜「内部化」)与 第 2328 段(text/10-fm.txt:2328,搜「好像拥有一个效用函数」)。

  23. 出处:「智能体」第 2366 段(text/10-fm.txt:2366,搜「学习元素」)、 第 2375 段(text/10-fm.txt:2375,搜「评估者」)、 第 2379 段(text/10-fm.txt:2379,搜「问题生成器」)。 「应该把它看作完全在智能体之外」在 2378 段。

  24. 出处:「智能体」第 2136 段(text/10-fm.txt:2136,搜「70 MB/s」)、 第 2142 段(text/10-fm.txt:2142,搜「1080」)。 10^6000000000000、10^150、原子数 10^80 三个数字都在 2140–2143 段。 2

  25. 出处:「智能体」第 2149 段(text/10-fm.txt:2149,搜「关键挑战」)。

  26. 出处:「绪论」第 567 段(text/10-fm.txt:567,搜「待在车库」)。

  27. 出处:「绪论」第 572 段(text/10-fm.txt:572,搜「价值对齐问题」)与 第 585 段(text/10-fm.txt:585,搜「但对于目标是什么则是不确定」)。 「可证益的(provably beneficial)」在 587 段。

  28. 出处:「智能体」第 2346 段(text/10-fm.txt:2346,搜「无模型的智能体」)。

  29. 出处:「绪论」第 1643 段(text/10-fm.txt:1643,搜「标准模型下」)。

  30. 出处:「绪论」第 1087 段(text/10-fm.txt:1087,搜「重大进展」)。 达特茅斯提案原文引文;「尽管有这种乐观的预测,但达特茅斯的研讨会并没有带来任何突破」在 1089 段。