BDI 模型
概述
BDI(Belief-Desire-Intention)模型是智能体研究中最具影响力的理论框架之一。它源于 Michael Bratman 的实践推理哲学,被 Rao 和 Georgeff 形式化为计算模型,至今仍是理解和设计理性智能体的核心参考。
1. 哲学基础
1.1 Bratman 的实践推理理论
Bratman (1987) 认为,人类的理性行为不仅由信念和愿望驱动,还需要意图作为承诺机制:
- 信念 (Belief):智能体关于世界状态的信息,可能不完整或不正确
- 愿望 (Desire):智能体希望达成的状态,可以相互矛盾
- 意图 (Intention):智能体承诺要执行的行动计划,具有持久性
意图的关键作用
意图不仅仅是"选中的愿望"。意图具有承诺性(不会轻易放弃)、约束性(约束未来决策)和推理触发性(触发手段-目的推理)。
1.2 与理性选择理论的区别
经典理性选择理论(如期望效用最大化)假设完全理性:
但 Bratman 指出,人类是有限理性的。意图机制允许智能体:
- 减少计算负担:不需要在每一步重新计算所有选项
- 保持行为一致性:承诺的意图约束了可选行动空间
- 支持协调:对他人的意图预期使协作成为可能
2. 形式化模型
2.1 模态逻辑表示
Rao 和 Georgeff (1991) 使用分支时间模态逻辑(CTL*)来形式化 BDI:
信念(关于世界状态的信息):
愿望(期望达成的状态):
意图(承诺执行的计划):
2.2 BDI 公理
BDI 模态逻辑满足以下关键公理:
信念的一致性:
意图蕴含信念:
即智能体不会意图去做它认为不可能的事。
意图蕴含愿望:
即意图是愿望的子集(但反之不成立)。
意图的持久性:
意图持续直到:(1) 相信已完成,或 (2) 相信不可能完成。\(\mathcal{U}\) 为时序逻辑中的"Until"算子。
2.3 BDI 智能体的世界模型
graph TD
subgraph 智能体内部状态
B[信念集 B<br/>关于世界的信息]
D[愿望集 D<br/>期望的目标状态]
I[意图集 I<br/>承诺的行动计划]
PL[计划库 Plan Library<br/>可用的行动方案]
end
ENV[环境] -->|感知| B
B --> DR[慎思推理<br/>Deliberation]
D --> DR
DR --> I
I --> MR[手段-目的推理<br/>Means-End Reasoning]
PL --> MR
MR --> ACT[行动执行]
ACT --> ENV
3. BDI 推理循环
BDI 智能体的核心运行循环如下:
3.1 算法描述
算法: BDI 推理循环
输入: 初始信念 B₀, 初始愿望 D₀, 计划库 PlanLib
B ← B₀
D ← D₀
I ← ∅
while true do
p ← PERCEIVE(environment) // 感知环境
B ← BRF(B, p) // 信念修正函数
D ← OPTION-GENERATOR(B, D, I) // 生成选项(愿望更新)
I ← DELIBERATE(B, D, I) // 慎思:选择意图
π ← PLAN(B, I, PlanLib) // 手段-目的推理:生成计划
while not (EMPTY(π) or SUCCEEDED(I, B) or IMPOSSIBLE(I, B)) do
α ← HEAD(π) // 取计划的第一个动作
EXECUTE(α) // 执行动作
p ← PERCEIVE(environment) // 重新感知
B ← BRF(B, p) // 更新信念
if RECONSIDER?(I, B) then // 是否需要重新慎思?
D ← OPTION-GENERATOR(B, D, I)
I ← DELIBERATE(B, D, I)
end if
if not SOUND(π, I, B) then // 计划是否仍然有效?
π ← PLAN(B, I, PlanLib) // 重新规划
end if
end while
end while
3.2 关键决策点
何时重新慎思(Reconsideration)?
这是 BDI 系统设计中最微妙的决策:
- 过于频繁:浪费计算资源,行为不连贯("心猿意马")
- 过于稀少:无法适应环境变化("固执己见")
- 最佳策略:当环境发生重大变化时重新慎思
4. PRS:实践推理系统
PRS(Procedural Reasoning System)由 Georgeff 和 Lansky (1987) 开发,是 BDI 模型的第一个完整实现。
4.1 PRS 架构
| 组件 | 功能 |
|---|---|
| 信念数据库 | 存储关于世界的当前信息 |
| 目标栈 | 维护当前活跃的目标 |
| 知识域 (KA) | 可用的计划/方法库 |
| 意图结构 | 当前执行中的计划树 |
| 元级 KA | 控制推理过程本身的规则 |
4.2 PRS 的应用
PRS 最初被应用于航天飞机的故障诊断系统(SRI International for NASA),后续广泛应用于:
- 航空交通管理
- 商业流程管理
- 网络管理
- 军事模拟
5. AgentSpeak(L) 语言
Rao (1996) 提出了 AgentSpeak(L),一种基于 BDI 的智能体编程语言。
5.1 语法
// 初始信念
location(agent, office).
time(morning).
// 初始目标
!start_work.
// 计划规则
+!start_work : location(agent, office) & time(morning)
<- open_computer;
check_email;
!plan_day.
+!start_work : not location(agent, office)
<- !go_to(office);
!start_work.
+!plan_day : has_meetings(today)
<- review_calendar;
prepare_materials.
+!plan_day : not has_meetings(today)
<- !focus_work.
5.2 AgentSpeak(L) 语义
+!g:采纳新目标g-!g:放弃目标g+b:新增信念b-b:删除信念bcontext:计划的前提条件(对信念集的查询)body:计划体(动作和子目标的序列)
5.3 Jason 实现
Jason (Bordini & Hübner, 2007) 是 AgentSpeak(L) 最成熟的解释器,提供了:
- 完整的 BDI 推理循环实现
- 多智能体通信基础设施
- 与 Java 的互操作
- 可定制的选择函数
6. BDI 与 LLM 智能体
6.1 映射关系
现代 LLM 智能体可以从 BDI 角度理解:
| BDI 概念 | LLM 智能体对应 |
|---|---|
| 信念 (Belief) | 上下文窗口中的信息 + 外部记忆检索 |
| 愿望 (Desire) | 用户指令 + 系统提示中的目标 |
| 意图 (Intention) | 当前正在执行的计划步骤 |
| 计划库 | 工具定义 + Few-shot 示例 + 内置知识 |
| 信念修正 | 观察工具执行结果后更新上下文 |
| 慎思 | CoT 推理过程 |
| 手段-目的推理 | 工具选择与参数生成 |
6.2 LLM 作为 BDI 的"柔性"实现
传统 BDI 的"硬"逻辑推理:
LLM 的"软"推理:
系统: 你是一个助手。当前天气:下雨。用户目标:保持干燥。
LLM: 我建议带一把伞。[选择工具: check_weather → 确认下雨]
让我帮你查找最近的便利店购买雨具。
LLM 提供了 BDI 的"模糊"但更灵活的实现:
- 信念不是精确的逻辑公式,而是概率性的语言表述
- 推理不是严格的逻辑推导,而是基于模式匹配的类比推理
- 计划不是预定义的程序,而是在线生成的自然语言步骤
6.3 优势与不足
| 维度 | 经典 BDI | LLM-BDI |
|---|---|---|
| 推理严密性 | 高(逻辑保证) | 低(可能"幻觉") |
| 灵活性 | 低(受限于计划库) | 高(在线生成) |
| 知识覆盖 | 窄(手工编码) | 广(预训练语料) |
| 可解释性 | 高(规则可追溯) | 中(CoT 部分可解释) |
| 鲁棒性 | 低(脆性失败) | 中(优雅降级) |
7. BDI 的局限性与批评
- 逻辑全知问题:形式化假设智能体知道其信念的所有逻辑推论
- 框架问题:难以高效地推理哪些信念不受动作影响
- 情感和社会因素:原始模型不包含情感、社会规范等因素
- 学习能力缺失:经典 BDI 没有内置学习机制
- 计划修复:当计划失败时,重规划的开销可能很大
总结
BDI 模型为智能体的理性行为提供了优雅的理论框架。尽管已有 30 多年的历史,其核心思想——信念驱动推理、愿望驱动目标、意图驱动承诺——在 LLM 时代依然具有重要的指导意义。
参考文献
- Bratman, M.E. (1987). Intention, Plans, and Practical Reason. Harvard University Press.
- Rao, A.S. & Georgeff, M.P. (1991). Modeling Rational Agents within a BDI-Architecture. KR 1991.
- Rao, A.S. (1996). AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. MAAMAW 1996.
- Georgeff, M.P. & Lansky, A.L. (1987). Reactive Reasoning and Planning. AAAI 1987.
- Bordini, R.H. & Hübner, J.F. (2007). Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley.
- Wooldridge, M. (2000). Reasoning about Rational Agents. MIT Press.