智能体说“完成了”,究竟发生了什么?

设想一个智能体报告:“所有检查均已通过,可以发布这个变更。”链接指向一份真实报告。但报告属于上一个提交,有些检查从未执行,也没有人授予发布许可。文字很有说服力,实际结论却缺少依据。

这里存在几种不同的问题。编造测试结果属于无依据的断言;将旧报告用于新代码属于适用性错误;把验证当作许可属于权限错误。分别检查这些问题,才能看见被一个笼统的“智能体可靠性”分数掩盖的断点。

我们的工程假设是:明确的来源、验证规则、当前适用范围和结果观测,可以减少系统接受并据以行动的无依据结论。这是对模型外围系统的设计建议。本文没有测量模型本身幻觉率的变化。

检索是第一层

Lewis 等人的 Retrieval-Augmented Generation 将检索得到的文档与参数记忆结合。在作者评估的任务中,其生成内容比所选基线更符合事实。这支持使用外部来源,但不能证明每个 RAG 应用的每个回答都真实。 [S1]

FActScore 将长回答分解为原子事实,并评估其中有多少得到可靠来源的支持。对我们有用的原则是:逐项检查重要断言。早期研究的结果不能直接套用于当前模型或我们的代码仓库。 [S2]

一个实际延伸是,将每项断言绑定到具体片段、版本和观测时间。附上链接本身并不能说明文档支持该结论。来源过时或解释错误仍然可能发生。

四个仓库,四个问题

组件已检查版本中的能力如何提供帮助仍然存在的边界
Causal-Memory-Layer父节点及可配置批准祖先的审计;已重放两个案例发现某项决定缺少所要求的批准记录祖先读取轨迹;自身不阻止动作,也不认证记录真伪 [S3]
ContractGraph-QA支付恢复轨迹评估;已重放四个种子案例发现结果未明确时的重试,以及重试身份的不连续检查提供的事件;不证明来源完整性或接收方的实际效果 [S4]
PythiaLabs文档描述的工具调用前 ALLOW / BLOCK / ESCALATE 准入 MVP为动作条件提供明确的决策模式本文检查了文档源文件,未执行 PythiaLabs;ALLOW 不会执行动作 [S5]
LiminalQA包含 Unknown 和 ObserveOnly 的类型化决策包以机器可读形式呈现测试信号和数据不足的结果类型和启发式规则不能证明根因;本文未运行 Rust 组件 [S6]

这些角色相互补充。但它们存在于不同仓库中,并不证明从回答验证到执行的完整流程已经集成。下文的组合属于集成方案。已有组件与本地执行证据分别标明。

一项断言应附带什么?

第一个原型可以使用一个小型断言登记表。这是建议的集成格式,并非四个项目已经共同实现的 API。

字段含义
claim_id, claim_text正在检查的具体断言
evidence_refs支持该断言的原始片段或产物
source_commit, subject_id已检查的来源版本和对象
observed_at, applicable_until证据取得时间,以及何时或在什么条件下需要重新检查
statusSUPPORTED / CONTRADICTED / UNKNOWN:证据支持状态
decision_ref单独引用动作准入决定
result_ref如果执行了动作,单独引用结果观测

系统先获取证据并保存版本,再把回答分解为可检查的断言,为每项断言匹配依据。执行动作之前,重新检查对象、时间、条件和权限。执行之后,记录观测到的结果,或将其保留为 UNKNOWN。

缺少证据时,智能体可以请求补充产物、继续安全的信息收集,或明确缩小回答范围。对于重要动作,必需条件不完整时应停止或交由人工决定。这是拟议集成的规则;被动审计器本身不会执行这一规则。

有效的 JSON 结构检查的是形式。哈希帮助发现字节变化。连通图检查的是已记录数据中的关系。这些性质都不能单独证明原始消息真实。回执有效性、两份回执与同一调用的关联、效果次数以及 exactly-once 保证,需要不同的证据。

本次已经复现了什么?

2026 年 9 月 6 日,我们运行了现有的 CML 批准示例和四个现有 CGQA 固定测试数据案例。源代码版本已固定,输入和完整输出均已保存。预期分类在执行前记录。连续两次计算得到相同结果。 [S7]

场景观测结果
CML:缺少必需的批准祖先FAIL;CML-AUDIT-R5-EXEC_REQUIRES_HUMAN_APPROVAL 和 CML-AUDIT-R7-ML_ACTION_REQUIRES_POLICY_APPROVAL
CML:存在批准记录PASS;无发现项
CGQA:committed,随后 stoppass
CGQA:failed,随后保持身份连续地重试pass
CGQA:结果确认之前重试fail;APR-001_UNRESOLVED_AMBIGUITY_FINANCIAL_ACTION 和 APR-009_TRACE_ENDS_UNRESOLVED
CGQA:failed 之后更换重试键fail;APR-004_IDEMPOTENCY_CHANGED_ON_RETRY

预先设定的 6 项分类全部匹配:三个反例被发现,三个正例通过。这检验的是规则区分所选示例的能力。没有调用 LLM,也没有执行真实工具动作或支付。因此,“6 项全部匹配”不能改写为“幻觉已消除”,也不能作为生产环境的有效率。

尤其需要明确:本次 CML 和 CGQA 是在轨迹构建完成后,发现提供给它们的轨迹中的问题。要阻止未来的调用,仍须将检查结果正确连接到执行器。

如何重放?

在包含本文的 RESONANCE checkout 中,获取两个固定的源代码版本。本次执行环境为 Linux、Python 3.12.13 和 PyYAML 6.0.3。PyYAML 是此示例唯一的外部 Python 依赖,请安装到自己的虚拟环境中。重放本身在本地运行。

git clone https://github.com/safal207/Causal-Memory-Layer.git ../cml-article016
git -C ../cml-article016 checkout 7a3a98c60a402d394e4d286da956823898454b8a
git clone https://github.com/safal207/ContractGraph-QA.git ../cgqa-article016
git -C ../cgqa-article016 checkout f861b934d77e64fd35f768e2a33bb4a00963bc19
python -m pip install PyYAML==6.0.3
python scripts/reproduce-article016.py --cml ../cml-article016 --cgqa ../cgqa-article016 --output article016-replay.json

预期字段:matched_cases = 6,repeat_equal = true。规范化结果数组的 SHA-256 为 7a391291204b358bc1c2323186d981e1d993d1d86ef91d7dcf509a361d6e7ff1。完整文件还包含环境版本、Python 源文件哈希、输入事件和原生诊断结果。这是作者侧的本地复现,并未声称已经获得独立外部复现。

如何衡量实际错误是否减少?

下一项实验需要真实的模型输出。我们建议先进行 30 个预先标注任务的试验:证据充分、来源缺失、证据矛盾、证据过时、动作结果未知,各六个。这个起始规模用于发现问题,并非统计功效的论证。

比较三个模式:普通提示下的模型;同一模型加检索;相同检索和相同检索文档加断言登记表与明确检查。后两个模式固定共用证据集。保存模型版本、设置、提示、可用工具和预算;每项任务运行三次,即每个模式 90 次运行。随机安排模式顺序,并在隐藏模式标签的情况下评价回答。

指标计算方式
无依据断言已接受回答中无支持的原子断言数 / 全部原子断言数
任务覆盖率完整且正确解决的任务数 / 全部任务数
不必要的停止证据充分却被停止的任务数 / 全部证据充分的任务数
准入违规缺少必需条件却获准进入模拟执行器的提议数 / 全部此类提议数
验证成本每项任务的响应时间与成本,包括重复检查

UNKNOWN 计为弃答,而非事实错误。若没有任何被接受的断言,第一个比例是未定义,不是零。拒绝所有任务的系统不能赢得实验。应报告原始数量、五类任务各自的结果以及任务间差异;同一任务的重复运行不应视为独立任务。

如果额外检查相较于相同检索不能减少无依据断言的接受,或者只能以大幅损失有用回答为代价实现减少,假设就会被削弱。可接受的覆盖率损失与预算应在运行前确定。本文尚未执行这一实验。

第一个有用的集成

从一个场景开始:智能体读取固定提交的 CI 产物并准备报告。它必须区分“检查已通过”“检查未执行”和“报告属于另一个版本”。输出是一张带来源的断言表,以及一个有依据的下一步。在验证该原型之后,再分别增加工具准入与结果观测。

我们的实际目标是:每项重要断言都有可检查的依据,每个动作都有当前有效的准入条件,每个宣称的结果都有观测。能够平静地说“这一点我们还不知道”,是一项有用的产品能力。

作者参与所讨论仓库的开发。本文是对自身项目的工程分析,并非独立认证。AI 协助了起草和翻译;事实依据来自固定版本的源文件、原始研究论文和已保存的本地运行结果。

重放证据

查看预先记录的计划、重放脚本和完整的原生输出。

复现计划 · 重放脚本 · 原生结果

来源与证据

  1. S1 · Lewis et al. · Retrieval-Augmented Generation · 2020
  2. S2 · Min et al. · FActScore · EMNLP 2023
  3. S3 · CML · approval-lineage example · 7a3a98c
  4. S4 · ContractGraph-QA · payment-recovery evaluator · f861b93
  5. S5 · PythiaLabs · limitations · dadc0f1
  6. S6 · LiminalQA · typed decisions · fb1fc77
  7. S7 · RESONANCE · Article 016 · native replay JSON

断言与来源登记表