在设计 AI 智能体(AI Agent)时,需要根据系统所处环境的复杂度来选择最合适的架构。本文将通过自动驾驶出租车的案例,解析作为 AI 基础的“四种智能智能体”的结构。阅读本文,您可以掌握如何根据环境特性进行合理的 AI 设计。
1. 简单反射智能体 Simple Reflex Agents
这是最基础的结构,仅根据当前的“感知”来决定行动。
- 工作原理:遵循“如果满足 A 则执行 B”的条件—动作规则(if-then 规则)。
- 出租车案例:当感知到“前车的刹车灯亮起”时,立即执行“踩刹车”的动作。
- 面临挑战:仅在环境完全可观测时才有效。无法应对现实中复杂的状况或信息缺失。例如,如果尝试将一小时内所有的动作组合都记录在一张表里,将需要 $2^{60 \times 60 \times 50M}$ 这一天文数字般的数据量,在实际中是无法实现的。
2. 带状态的反射智能体 Reflex Agents with State
这种智能体通过将过去的信息作为“内部状态”进行保存,来弥补当前传感器无法直接观测到的盲区。
- 工作原理:利用
UPDATE-STATE函数,结合“世界是如何演变的”以及“自身的行动会产生什么影响”的知识来更新内部状态。 - 出租车案例:即使在没有看后视镜的瞬间,也能根据上一秒的记忆掌握“相邻车道有车”的状态,从而做出安全的变道决策。
- 核心要点:在传感器无法一次性捕捉世界全貌的“部分可观测环境”中,这是一种不可或缺的模型。
3. 基于目标的智能体 Goal-based Agents
除了当前的状态外,这种智能体还拥有需要实现的“目标(Goal)”信息。
- 工作原理:会预测“该动作是否能让我们更接近目标?”。这里会广泛运用 AI 的核心技术——搜索和规划。
- 出租车案例:在十字路口选择“右转、左转还是直行”,取决于乘客的终点站(目标)。
- 灵活性:即使目的地发生变化,也只需更新目标信息即可采取新的行动,无需像反射智能体那样重写庞大的规则库。
4. 基于效用的智能体 Utility-based Agents
这是最顶级的智能体,它不仅要达成目标,还会将达成的“质量(幸福度)”作为效用(Utility)进行评估。
- 工作原理:拥有将状态映射为实数值的效用函数,并选择能获得最高效用的动作。
- 出租车案例:在前往目的地时,会对“更快”、“更安全”、“更便宜”等存在权衡利弊(Trade-off)的多个目标进行综合对比,从而选择最优路线。
- 优势:在目标发生冲突或成功概率不确定(不确定性环境)的情况下,依然能够做出理性的决策。
总结:环境特性决定架构设计
自动驾驶出租车所面临的环境复杂度极高。如以下表格所示,通过定义环境的性质,我们就能清晰地看到所需的智能体结构。
| 环境特性 | 概念说明 | 出租车环境案例 |
|---|---|---|
| 可观测性 | 能否通过传感器获知全部状态 | × 不可完全观测 |
| 确定性 | 下一个状态是否是确定的 | × 随机/非确定性 |
| 片段性 | 过去的经验是否不影响下一步 | × 连续/非片段性 |
| 静态/动态 | 智能体思考时世界是否在变化 | × 动态 |
| 离散/连续 | 选择和状态是否是有限的 | × 连续 |
要在这种“动态且连续的环境”中运行,AI 就不能仅仅停留在简单的条件反射层面,而是需要运用内部状态和效用进行高级架构设计。理清你所开发的 AI 将处于何种环境中,是进行系统设计的第一步。

