规范性BDI智能体架构
当智能体需要感知多种规范、决定采纳哪些规范并解释为什么故意违反比替代方案更好时,请使用此技能。
使用时机
- 多个规则、义务、禁令或利益相关者需求无法同时满足。
- 智能体需要区分“知道某个规范存在”和“实际选择遵守它”。
- 系统需要证明为什么违反一条规则以满足另一项更高风险的承诺。
- 你需要一种基于后果的替代方案,取代脆弱的硬编码优先级列表。
- BDI架构需要一种有原则的方式来整合规范性推理,而又不将规范变成绝对覆盖。
不适用边界
此技能不是以下场景的主要工具:
- 固定优先级层次结构,其中正确的优先级顺序不会随上下文改变。
- 纯约束满足,任何满足解的方案都足够好,且规范违反不在考虑范围内。
- 要求字面意义上不得违反的监管或伦理环境,无论后果如何。
- 不维护信念、承诺或故意违反解释的玩具规则引擎。
核心心智模型
识别不等于内化
将抽象规范库与规范实例库分开。智能体可以在不采纳规范的情况下检测到它。这种分离允许有意识、可解释的不合规,而不是偶然的忽视。
三种一致性状态
- 强不一致:没有计划能同时满足两个承诺。
- 弱一致:某些计划可行,但未来的灵活性会缩小。
- 强一致:所有相关计划仍然兼容。
弱一致的情况是大多数实际设计判断所在之处。
后果排序
当规范冲突时,通过最差下游后果比较承诺的连贯捆绑。重点不是最大化平均好处;而是在不相容的未来中选择最不坏的最坏情况。
规范作为假设性愿望
采纳的义务和禁令成为BDI机制内部的可废止压力,而不是一个独立的覆盖系统。这使规范推理保持在与普通目标追求相同的 deliberative 循环中。
决策点
参见 diagrams/01_flowchart_decision-points.md 中的采纳和冲突流程。
flowchart TD
A[检测到规范] --> B{基于当前信念可实例化?}
B -->|否| C[保持抽象并监控]
B -->|是| D[检查一致性]
D -->|强不一致| E[按最坏后果比较冲突捆绑]
D -->|弱一致| F[评估灵活性成本]
D -->|强一致| G[采纳规范]
E --> H[选择最不坏的最坏情况]
F --> I{采纳仍然值得?}
I -->|是| G
I -->|否| J[拒绝或推迟]
H --> G
1. 决定是否采纳规范
- 如果新规范与当前承诺强不一致,采纳需要放弃或修改其他承诺。
- 如果弱一致,在采纳前明确灵活性成本。
- 如果强一致,采纳风险低,通常应自动进行。
2. 决定如何解决冲突
- 生成最大不冲突子集,而不是孤立地一对一比较规范。
- 为每个子集制定计划,识别每个未来中的最坏后果。
- 选择最坏情况最不坏的那个子集,然后记录选择该违反的理由。
3. 决定何时实例化抽象规范
- 仅在当前信念能绑定变量并满足激活条件时实例化。
- 当知识不完全时,使未解决的规范保持可见,而不是假装它们不适用。
- 在有意义的信念更新后重新评估待处理的抽象规范。
失败模式
1. 过度采纳死锁
症状: 智能体不断内化规范,直到没有可行行动剩余。 检测规则: 行动空间缩小速度快于冲突解决速度。 恢复: 在任何一个新规范进入规范实例库之前,强制进行一致性审查。
2. 隐藏违规
症状: 智能体违反规范,但不能说明它选择这样做。 检测规则: 事后解释省略了被拒绝的规范,或将违规视为从未发生。 恢复: 持久化被拒绝但仍被识别的规范,并记录获胜的后果比较。
3. 二元一致性崩溃
症状: 采纳逻辑将每个规范视为完全兼容或完全不可能。 检测规则: 弱一致性从未出现在架构或日志中。 恢复: 添加显式的弱一致性分支,并直接建模灵活性损失。
4. 固定优先级脆弱性
症状: 相同的全局优先级栈在边缘情况下产生明显错误的选择。 检测规则: 冲突结果仅在优先级表改变时改变,而从不因后果改变。 恢复: 从刚性优先级转向子集生成加后果排序。
5. 规范侧信道架构
症状: 规范处理位于一个独立的执行模块中,在执行后期覆盖BDI deliberative。 检测规则: 规范逻辑无法用信念、愿望和意图来解释。 恢复: 将采纳的规范转化为内部 deliberative 压力,并通过主架构路由。
示例
示例1:隐私 vs 个性化
一个服务智能体知道一个禁止直接使用客户级数据的规范,以及一个改善用户体验的义务。系统发现弱一致:聚合行为摘要保留了大部分个性化,同时限制了隐私损害。该技能保持两个规范可见,只实例化聚合安全的义务,并记录为什么拒绝了直接数据使用。
示例2:机器人与婴儿
一个看护机器人面临一个保持婴儿存活的义务和一个禁止对人类产生感情的禁令。没有计划能满足两者。该技能生成两个连贯子集,比较最坏后果,并故意违反设计禁令,因为死亡比禁止的感情更糟糕。违反是明确且可报告的。
质量门禁
- 架构区分检测到的规范和采纳的规范。
- 一致性检查包括强不一致、弱一致和强一致。
- 冲突解决比较连贯子集,而不仅仅孤立地比较规范。
- 选择的违规记录有显式的后果比较。
- 当信念基础不完整时,抽象规范可以保持待处理状态。
参考文件
| 文件 | 加载时机 |
|---|---|
references/separation-of-norm-recognition-and-norm-internalization.md | 设计ANB vs NIB边界时 |
references/three-types-of-consistency-for-norm-adoption.md | 实现采纳检查和灵活性成本逻辑时 |
references/normative-conflict-resolution-through-consequence-ranking.md | 构建或审查基于后果的冲突解决时 |
references/norm-instantiation-through-belief-grounding.md | 将抽象规范实例化为具体上下文时 |
references/maximal-non-conflicting-subsets-for-action-selection.md | 计算冲突下的连贯选项束时 |
references/desire-internalization-as-norm-adoption-mechanism.md | 将规范集成到BDI愿望和意图处理中时 |
反模式
- 硬编码单一优先级顺序并称之为“伦理”。
- 自动采纳每个检测到的规范,仅在执行时发现矛盾。
- 将弱一致视为与强一致相同。
- 基于平均效用比较违规,同时忽略灾难性最坏情况。