Mercer8964/audit-loop
GitHub: Mercer8964/audit-loop
跨平台 AI agent 自审 skill,通过独立重解与跨方法探针替代自我批判,验证高风险推理结论的可靠性。
Stars: 0 | Forks: 0
# audit-loop
中文简介:跨 Claude Code / Codex / OpenClaw 的 AI 自审 skill。主 agent 在给出高风险答案(算法 / 机制 / 数字 / 正确性声明)前,spawn 一个 subagent 在**不看草稿**的前提下独立重解同一个问题,再 spawn 一个跨方法 probe,三路机械对照。每条设计决定都有论文背书,对协议局限性诚实承认。
## 问题所在
当 AI agent 给出高风险答案时——算法正确性、机制设计、数值估计,或是“这是安全/最优的”声明——而你又无法简单地通过运行测试来验证时,传统的经验之谈往往是“*让 AI 自己检查一下自己。*”
实证研究持续表明,这种做法是**结构性失效**的,而非偶然失效:
- **对润色的感知偏差 (Refinement-aware bias)** ——标注为“已修改”的内容会获得更高的评分
- **对思维链的盲信 (CoT trust)** ——评判者将展示出的推理轨迹视为绝对真相(误报率高达 90%)
- **阿谀奉承 (Sycophancy)** ——多轮质疑比直接提问更容易推翻答案(约高出 3 倍)
- **自我偏好 / 困惑度偏差 (Self-preference / perplexity bias)** ——模型系统性地少报其自身训练分布中常见的错误
- **答案摇摆 (Answer wavering)** ——多轮批判会形成回音室效应,而非趋于收敛
- **内在自我修正** *降低*了平均推理准确率 (Huang et al., ICLR 2024)
对草稿的批判在结构上是有缺陷的。能在文献推敲中幸存下来的结构性修复方法是:**独立重解,然后进行机械对照**。
这反映了成熟的人类审计领域中行之有效的做法:在财务审计中,重新执行优于询问;复制实验优于同行评审;内核检查优于阅读证明。逐步检查会继承被审计者的盲区。
## 协议说明
**`audit-loop`**(默认,预算平衡——处理约 95% 的情况):
1. **分类** ——可以通过实验测试吗?请直接运行测试。问题是微不足道的吗?跳过。否则,继续。
2. **特征化** ——在内部命名 CLAIM(声明)及其 FALSIFICATION SHAPE(证伪形态:什么情况能证明它是错的)。
3. **Spawn 1 ——独立重解。** 一个 subagent 从零开始解决原始问题,它不看草稿、不看推理过程、也没有审计框架的提示。仅仅是“解题”。
4. **Spawn 2 ——跨方法探针。** 另一个不同的 subagent 直接攻击证伪形态:追踪边缘输入,搜索反例,通过替代方法重新计算。
5. **机械对比。** 通过文档化的等价规则对比草稿、重解结果和探针结果。不确定时,默认为“存在分歧”。
6. **诚实报告。** 分歧会显示在审计行中,绝不静默处理。
硬性上限:**2 次 spawn**(这是预算上限,而非准确率最优解——为了达到准确率最优,文献建议使用 6-14 个验证器)。
**`audit-loop-max`**(准确率最优——适用于安全关键 / 不可逆 / 重大后果的决策):
- 3-5 个并行的独立重解(多样化的 prompt 方法,如果可用则进行跨家族验证)
- 2-3 个并行的跨方法探针(不同的证伪角度)
- 针对持续性分歧采用 Du-et-al 的多 agent 辩论
- 无 spawn 上限(典型池规模 5-8,最高可达 14)
- 在可用的情况下必须进行跨家族验证
## 平台
| 平台 | 默认 skill | 最高准确率 skill |
|---|---|---|
| Claude Code | `~/.claude/skills/audit-loop/SKILL.md` | `~/.claude/skills/audit-loop-max/SKILL.md` |
| Codex CLI | `~/.agents/skills/audit-loop/SKILL.md` | `~/.agents/skills/audit-loop-max/SKILL.md` |
| OpenClaw | `~/.openclaw/skills/audit-loop/SKILL.md` | `~/.openclaw/skills/audit-loop-max/SKILL.md` |
这三个平台都实现了开放 agent skills 标准(frontmatter + markdown 主体),并具有特定平台的 subagent 调用方式:
- Claude Code:使用带有 `subagent_type=general-purpose` 的 `Agent` 工具
- Codex:显式 spawn subagent(可选通过自定义的 `auditor.toml` agent)
- OpenClaw:`sessions_spawn` + `sessions_yield`,`context: "isolated"`
## 安装
```
git clone https://github.com/guoyurui138-hue/audit-loop.git
cd audit-loop
# Claude Code
mkdir -p ~/.claude/skills/audit-loop ~/.claude/skills/audit-loop-max
cp platforms/claude-code/audit-loop/SKILL.md ~/.claude/skills/audit-loop/
cp platforms/claude-code/audit-loop-max/SKILL.md ~/.claude/skills/audit-loop-max/
# Codex CLI
mkdir -p ~/.agents/skills/audit-loop ~/.agents/skills/audit-loop-max
cp platforms/codex/audit-loop/SKILL.md ~/.agents/skills/audit-loop/
cp platforms/codex/audit-loop-max/SKILL.md ~/.agents/skills/audit-loop-max/
# OpenClaw
mkdir -p ~/.openclaw/skills/audit-loop ~/.openclaw/skills/audit-loop-max
cp platforms/openclaw/audit-loop/SKILL.md ~/.openclaw/skills/audit-loop/
cp platforms/openclaw/audit-loop-max/SKILL.md ~/.openclaw/skills/audit-loop-max/
```
当 agent 即将做出符合描述的声明时(算法正确性、机制设计、非经验性的数值估计、安全/正确性断言),skills 会自动触发。也可以通过 `/audit-loop` 或 `/audit-loop-max` 手动调用。
## 本协议不予承诺的内容
该协议**有意对其局限性保持诚实。** 大多数“我构建了一个能将 X 提高 80% 的 AI agent”的声明都是毫无依据的传说。本协议明确指出了它无法做到的事情:
- **降低错误率;但无法消除错误。** 同家族的验证器共享权重、共享训练数据、共享盲区,没有任何协议能够完全逃脱这一点。
- **相关验证器准确率存在数学底线。** 对于成对相关性 ρ > 0,集成错误率会收敛到一个正常数 `Φ(Φ⁻¹(1−α)/√ρ)`——增加验证器无法将错误率降至零 (Don't Always Pick, arXiv:2602.08003)。
- **跨家族验证是有边界的。** 它消除了评判者的偏差(偏好泄漏从 28-37% 降至约 ±1.5%),但仅将错误相关性减半(同家族 ρ ~0.7-0.8 → 跨家族 ~0.4-0.5)。能力是比供应商更大的相关性驱动因素——来自不同供应商的两个强大模型可能在错误上达到 0.99+ 的一致性 (Correlated Errors, ICML 2025)。
- **对于可通过实验测试的声明,此协议不如直接运行测试。** 之所以存在分类关卡,是为了防止你用理论来替代测量。
- **设计类问题是性能削弱最严重的场景。** 故障模式枚举以最糟糕的方式继承了同家族的盲区——那些被遗漏的模式才是真正危险的模式,而同家族的 agent 会漏掉与主 agent 相同的模式。
- **前沿新颖声明、逻辑自洽的编造内容以及审美判断**是明确的绕过情形——协议在这些情况下价值会降低。
完整的局限性记录在每个 `SKILL.md` 中。
## 实证基础
每一项设计决定在 `SKILL.md` 中都有论文引用。重点如下:
**为什么是重解,而不是批判:**
- McAleese et al., 2024 — *LLM Critics Help Catch LLM Bugs* (CriticGPT) — https://arxiv.org/abs/2407.00215
- Huang et al., ICLR 2024 — *Large Language Models Cannot Self-Correct Reasoning Yet* — https://arxiv.org/abs/2310.01798
- Ye et al., 2024 — *Justice or Prejudice? Quantifying Biases in LLM-as-a-Judge* — https://arxiv.org/html/2410.02736v1
- SycEval — *Evaluating LLM Sycophancy* — https://arxiv.org/html/2502.08177v4
**跨模型错误相关性与跨家族限制:**
- Kim et al., ICML 2025 — *Correlated Errors in Large Language Models* — https://arxiv.org/abs/2506.07962
- Li et al., ICLR 2026 — *Preference Leakage in LLM-as-a-judge* — https://arxiv.org/abs/2502.01534
- *Don't Always Pick the Highest-Performing Model* (集成错误底线) — https://arxiv.org/abs/2602.08003
**方法多样性 > 样本多样性:**
- Lifshitz et al., 2025 — *BoN-MAV: Multi-Agent Verification* — https://arxiv.org/abs/2502.20379
- Naik et al., 2023 — *Diversity of Thought* — https://arxiv.org/abs/2310.07088
- Wang et al., 2022 — *Self-Consistency* — https://arxiv.org/abs/2203.11171
- Du et al., 2023 — *Multi-Agent Debate* — https://arxiv.org/abs/2305.14325
**Negative-prompting / 启动失效:**
- Rana, 2026 — *Semantic Gravity Wells* — https://arxiv.org/pdf/2601.08070
**跨领域审计原则**(重新执行 > 询问,预注册,de Bruijn 准则):PCAOB AS 2315;Cochrane Handbook;NTSB Annex 13;Bazerman et al. 2002 关于审计员俘获的研究;关于 Registered Reports 的复制危机文献。
## 被标记为“假设,尚未经过实证测试”的设计决定
为了避免夸大其词,这些决定在 `SKILL.md` 中被标记为**合理但未被证实**,等待正面交锋的研究:
- 在达成一致时分配探针 vs 在出现分歧时分配探针(我们无论如何都会进行探测,但其相对价值纯属推测)。
- 将 2 次 spawn 的硬性上限作为一项*准确率*声明(作为预算声明是合理的;文献建议为了准确率最优应支持 6 次以上的 spawn)。
如果你有涉及这些方面的实证数据,请提交 issue。
## License
MIT
## 贡献
欢迎提交 PR 和 issue。特别有价值的内容包括:能够推动“假设”标签的实证比较、额外的绕过情形文档,以及目前这三个受支持平台之外的平台适配器。
标签:AI代理, AI辅助验证, DLL 劫持, 大语言模型, 提示词工程, 策略决策点, 防御加固