人工智能之数字生命 认知架构白皮书 第5章
《HY-Ego 认知架构白皮书》(续)
5. 因果系统——双层因果结构(Causal Dual-Layer System)
因果系统是 HY-Ego 认知架构中最核心的可解释性引擎,负责将自我的一切行为转化为可追溯、可归纳、可验证的结构化知识。它与世界树完全并行、独立管理,通过快照机制实现松耦合,从而彻底避免了“事实与因果混杂”的黑箱问题。
因果系统的设计直接支撑了项目的三大里程碑(动作动态稳定输出、因果信息稳定产出、学习流程基本通畅),是实现“失败驱动闭环自优化”的关键基础设施。
5.1 因果系统的设计目标
因果系统的根本目标是回答三个问题:
- 发生了什么?(可追溯)
- 为什么发生?(可归纳)
- 下次能否复用?(可验证)
为此,HY-Ego 采用双层因果结构:
- 实例因果层(Instance Causal Layer):记录单次具体事件,保证 100% 可追溯。
- 抽象因果层(Abstract Causal Layer):对多次实例进行模板化归纳,生成可复用的因果模板,供任务筹办、方法召回和学习验证使用。
核心设计约束(根约束 0100–0500 不可违反):
- 所有因果记录必须严格遵循“条件 + 动作 = 结果”的标准口径。
- 实例因果必须立即与世界树主信息存储快照绑定。
- 抽象因果的归纳过程必须可审计、可回滚。
- 任何学习写回不得修改根约束层因果(如安全生死边界)。
5.2 实例因果层(Instance Causal)
定义:一次完整执行周期中“当前条件 + 执行动作 = 实际结果”的原子记录。
- 组成要素(全部结构体化存储):
- 条件:动作触发前世界树快照(场景主信息 + 二次特征)。
- 动作:动作动态实体(来自
动态类.ixx)。 - 结果:动作执行完成后世界树更新后的主信息快照 + 二次特征变化量。
- 元数据:时间戳、执行线程 ID、可靠度初值(默认 1.0)、场景安全度变化。
记录方式:
- 动作线程在执行
动态类::Execute()后,立即调用因果信息类.ixx::AddInstanceCausal()。 - 实例因果优先落盘到主信息存储(
主信息定义模块.ixx),避免临时节点泄漏。 - 与动作动态的实时关联:
动态类.ixx持有CausalInstanceID,实现双向追溯。
伪代码示例(动态类.ixx 与 因果信息类.ixx 协作):
// 动态类.ixx
void Dynamic::Execute() {
auto preSnapshot = WorldTree::GetMainInfoSnapshot();
PerformAction(); // 执行具体动作
auto postSnapshot = WorldTree::GetMainInfoSnapshot();
CausalInstance inst(preSnapshot, this, postSnapshot);
CausalInfo::AddInstanceCausal(std::move(inst));
}
5.3 抽象因果层(Abstract Causal)
定义:对多条同类实例因果进行统计归纳后形成的模板(可复用因果模式)。
-
生成机制:
- 周期性触发(由
学习类.ixx调度)。 - 使用
概念_因果树类.ixx进行聚类与模板提取。 - 归纳算法:相同“条件模板 + 动作模板”→ 合并结果区间 + 计算置信度(可靠度 × 复现次数 × 边界覆盖率)。
- 周期性触发(由
-
置信度机制(核心可验证指标):
[
\text{Confidence} = \frac{\text{可靠度} \times \text{复现次数} \times (1 - \text{边界失败率})}{\text{模板复杂度}}
]
置信度 < 0.6 的模板会被标记为“待验证”,不会参与方法召回。 -
在系统中的作用:
- 任务筹办:逆向匹配抽象因果,补全缺失条件。
- 方法召回:四域方法树匹配器(
四域方法树匹配器_v0.ixx)优先使用高置信抽象因果。 - 学习验证:定向学习任务直接引用抽象因果作为“证明”或“边界”结果。
5.4 因果树独立管理
因果系统由以下两个核心模块独立管理(与世界树零强引用):
-
因果信息类.ixx:总入口- 管理实例因果链表(双向链表模板)。
- 提供
AddInstanceCausal()、GetInstanceByID()、TriggerAbstractInduction()等接口。 - 内部持有轻量级因果实例缓冲池,支持快速写入与周期性归纳。
-
概念_因果树类.ixx:抽象层专用概念树- 以“因果模板根”为基础,向下生长条件模板树、动作模板树、结果模板树。
- 支持与
概念引擎类.ixx协作,实现跨域概念匹配。
内存策略:实例因果采用写时复制 + 定期压缩,抽象因果采用只增不删(仅标记废弃),确保历史可追溯。
5.5 因果与世界树的交互协议
- 读写分离:
- 世界树 → 因果:仅提供 GetMainInfoSnapshot()(只读)。
- 因果 → 世界树:仅通过
WriteMainInfo()落结果(写后立即触发世界树安全度更新)。
- 快照机制:每次交互使用
std::shared_ptr<const MainInfo>实现零拷贝安全快照。 - 冲突处理:若因果结果与世界树当前状态冲突,触发
任务失败恢复模块_v0.ixx并进入定向学习。
5.6 示例:一次完整因果生成与归纳流程
时序图描述(建议插入 Graphviz 生成的时序图):
- 相机感知 → 世界树更新 →
动态类::Generate()。 - 自我线程触发动作 →
动态类::Execute()→ 生成实例因果 →因果信息类::AddInstanceCausal()。 - 学习类周期扫描 → 发现同类实例 ≥ 3 条 →
概念_因果树类::InduceAbstract()。 - 归纳成功 → 生成抽象因果模板 → 写回四域方法树(
四域方法树写回器_v0.ixx)。 - 下次任务筹办直接复用该模板。
完整日志示例(简化):
[因果] 实例ID: 20260402-0130-001
条件: [现实域-自我场景-距离目标=2.3m]
动作: [本能动作-向前移动0.5m]
结果: [现实域-自我场景-距离目标=1.8m, 安全度+0.2]
→ 抽象归纳后置信度: 0.87(复现4次)
本章小结:因果双层结构将 HY-Ego 的每一次动作转化为可审计的历史 + 可复用的知识,为后续学习四结果写回、方法树自主成长、任务逆向规划提供了坚实基础。它与世界树的分离设计,是项目实现“从工具到实体”质变的核心技术支柱。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)