阐述 Agent 的 BDI 模型构成要素——信念(Belief)、愿望(Desire)、意图(Intention)的作用机制与
【摘要】 阐述 Agent 的 BDI 模型构成要素——信念(Belief)、愿望(Desire)、意图(Intention)的作用机制与实现思路 一、引言:为什么 BDI 是 Agent 的“认知内核”在当前的大模型 Agent、智能体工作流、多 Agent 系统迅速发展的背景下,Agent 不再只是“接收输入 → 输出结果”的函数程序,而是具备以下特征的自治系统:对环境有认知与内部状态建模能根据...
阐述 Agent 的 BDI 模型构成要素——信念(Belief)、愿望(Desire)、意图(Intention)的作用机制与实现思路
一、引言:为什么 BDI 是 Agent 的“认知内核”
在当前的大模型 Agent、智能体工作流、多 Agent 系统迅速发展的背景下,Agent 不再只是“接收输入 → 输出结果”的函数程序,而是具备以下特征的自治系统:
- 对环境有认知与内部状态建模
- 能根据目标进行自主决策
- 能在动态环境中持续调整行为计划
在众多 Agent 认知架构中,BDI(Belief–Desire–Intention)模型是最具代表性、工程落地价值最高的一类,被广泛应用于:
- 自主智能体(Autonomous Agent)
- 多 Agent 协作系统
- 任务规划与决策系统
- 复杂工作流 Agent(如 Tool-Calling Agent)

二、BDI 模型总体结构
BDI 模型来源于认知心理学与实践理性(Practical Reasoning),其核心思想是:
智能体的行为源于其信念,对愿望进行筛选,并最终形成可执行的意图。
三大要素构成如下:
| 组件 | 含义 | 核心作用 |
|---|---|---|
| Belief(信念) | Agent 对世界的认知 | 描述“世界是什么样” |
| Desire(愿望) | Agent 想要达成的目标集合 | 描述“想要什么” |
| Intention(意图) | 当前承诺执行的目标与计划 | 描述“现在做什么” |
三、Belief(信念):Agent 的世界模型
1. 定义
Belief 是 Agent 对外部环境和自身状态的主观认知,并不要求绝对真实,而是“当前可用的信息集合”。
Belief 可以来自:
- 环境感知(传感器 / API / 用户输入)
- 历史经验(Memory / 日志)
- 推理结果(规则、LLM 推断)
2. 特点
- 可更新性:随环境变化动态调整
- 不完备性:可能不完整甚至错误
- 结构化表达:键值、事实、概率、向量等
3. 示例代码:Belief 建模
class BeliefBase:
def __init__(self):
self.beliefs = {}
def update(self, key, value):
self.beliefs[key] = value
def get(self, key, default=None):
return self.beliefs.get(key, default)
示例信念状态:
beliefs = BeliefBase()
beliefs.update("user_deadline", "2025-01-05")
beliefs.update("task_complexity", "high")
beliefs.update("available_time", 2) # hours
四、Desire(愿望):目标空间的表达
1. 定义
Desire 表示 Agent 希望达成的目标集合,通常是多个、并存、甚至互相冲突的。
例如:
- 提高任务完成质量
- 降低时间成本
- 减少资源消耗
2. 特点
- 非承诺性:愿望 ≠ 一定执行
- 可冲突性:需要筛选
- 策略导向:决定 Agent 的价值取向
3. 示例代码:Desire 表达
class Desire:
def __init__(self, name, priority):
self.name = name
self.priority = priority
desires = [
Desire("deliver_high_quality", priority=0.9),
Desire("finish_quickly", priority=0.7),
Desire("save_cost", priority=0.5)
]
五、Intention(意图):从目标到行动的承诺
1. 定义
Intention 是 Agent 在当前上下文中选定并承诺执行的目标与计划。
一旦形成意图:
- Agent 会围绕该意图持续行动
- 不会轻易被新愿望打断
- 除非信念发生关键变化
2. 特点
- 稳定性:保证执行连续性
- 可执行性:绑定具体行动
- 上下文相关性:随环境变化重选
3. 示例代码:意图选择逻辑
class Intention:
def __init__(self, goal, plan):
self.goal = goal
self.plan = plan
def select_intention(beliefs, desires):
# 简化策略:根据优先级 + 约束筛选
feasible = []
for d in desires:
if beliefs.get("available_time", 0) > 1:
feasible.append(d)
selected = max(feasible, key=lambda x: x.priority)
return Intention(
goal=selected.name,
plan=f"execute_plan_for_{selected.name}"
)
六、BDI 三者之间的作用关系(核心机制)
1. 信息流转路径
环境 → Belief 更新
Belief → Desire 评估
Desire → Intention 选择
Intention → Action 执行
Action → 环境反馈 → Belief 更新
2. 关系总结
| 关系 | 说明 |
|---|---|
| Belief → Desire | 信念决定哪些愿望可行 |
| Desire → Intention | 从“想要”中筛选“要做” |
| Intention → Action | 意图驱动连续行为 |
| Belief ↔ Intention | 信念变化可触发意图重构 |
3. 伪代码整体流程
while True:
beliefs.update("environment", perceive())
desires = generate_desires(beliefs)
intention = select_intention(beliefs, desires)
execute(intention.plan)
七、BDI 与传统程序的本质差异
| 维度 | 传统程序 | BDI Agent |
|---|---|---|
| 控制方式 | 流程驱动 | 意图驱动 |
| 状态建模 | 隐式变量 | 显式信念 |
| 目标管理 | 写死逻辑 | 动态愿望 |
| 行为选择 | if-else | 目标与计划推理 |
| 环境适应 | 弱 | 强 |
八、BDI 在大模型 Agent 中的现实映射
在 LLM Agent 中,BDI 往往以“隐式结构”存在:
- Belief → Context / Memory / Tool 结果
- Desire → System Prompt + 目标约束
- Intention → 当前思维链(Chain of Thought)+ 行动决策
这也是为什么 优秀的 Agent Prompt 本质上是在构建一个 BDI 认知闭环。
九、总结
BDI 模型并不是一个过时的理论框架,而是:
Agent 从“被动执行”迈向“自主决策”的最小认知单元。
- Belief 决定 Agent 如何看世界
- Desire 决定 Agent 想要什么
- Intention 决定 Agent 此刻做什么
在实际工程中,哪怕是一个轻量级 Agent,只要显式建模这三层结构,就能显著提升系统的可解释性、可扩展性与决策稳定性。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)