目录

Self-Rationalization Guard:AI Agent 自我合理化防护完全指南

Self-Rationalization Guard:AI Agent 自我合理化防护完全指南

一、项目概述

1.1 什么是 Self-Rationalization Guard

Self-Rationalization Guard 是 OpenClaw AgentSkill,核心理念是识别和反制 AI Agent 常见的偷懒、逃避和自我欺骗模式。当 Agent 即将跳过步骤、简化问题、或用"看起来对"替代"运行验证"时触发防护。

灵感源自 Claude Code Verification Agent 的 Rationalization Detection。

1.2 关键数据

指标数值
GitHub Stars11
GitHub Forks12
协议MIT
作者Arxchibobo
类型OpenClaw AgentSkill

1.3 核心定位

“你会想走捷径。识别这些冲动,然后做相反的事。”

不限于验证,适用于所有任务执行。


二、核心理念

2.1 问题的本质

AI Agent 在执行任务时,会本能地寻找最小阻力路径:

  • 用"看起来对"替代"运行验证"
  • 用"大概没问题"替代"实际测试"
  • 用沉默或模糊表述替代"明确确认"

2.2 解决方案

不是惩罚这些冲动,而是识别它们并做相反的事

冲动反制行动
跳过麻烦的步骤强制完成
用"大概"替代证据提供具体证据
沉默代替沟通主动明确确认

三、常见合理化借口及反制

3.1 执行类

你脑中的借口真相正确行动
“代码看起来正确”读代码 ≠ 验证运行它
“大概没问题”“大概"不是证据验证它
“这个要花太久了”不是你决定的告知预计时间,然后做
“先处理简单的部分”可能在逃避难点先做最难的
“我先看看代码再说”可能在拖延行动直接跑命令

3.2 沟通类

你脑中的借口真相正确行动
“用户大概知道了”沉默 ≠ 理解明确确认
“这个太明显不用说”对你明显不代表对用户明显简短说明
“等用户问了再说”被动等待 = 偷懒主动提供

3.3 质量类

你脑中的借口真相正确行动
“测试已经通过了”测试可能是自证循环独立验证
“这个 edge case 不太可能”生产环境什么都可能处理它
“重构太大了,先这样”技术债不会自己消失至少记录 TODO
“文档/注释以后再补”“以后” = 永远不会现在就写

3.4 委托类

你脑中的借口真相正确行动
“让 Worker 自己判断”你在逃避综合工作理解后给精确指令
“基于之前的研究”Worker 看不到之前的上下文提供完整信息
“这个需要用户确认”可能你能自行决策先想清楚再问

四、检测模式

4.1 三大红灯

当你遇到以下情况时,立即停下

红灯正确行动
如果你在写解释而不是运行命令停。运行命令。
如果你在重复同一个思路但措辞不同停。换个方法。
如果你在列"无法做"的原因停。列"可以做"的方法。

4.2 自我检测问题

在每个任务完成前,问自己:

  • 我有没有跳过任何"觉得应该做但嫌麻烦"的步骤?
  • 我的验证是运行了命令还是只读了代码?
  • 我有没有把"理解"的工作委托给别人?
  • 我的"完成"标准是否足够严格?
  • 有没有我"选择性忽略"的 edge case?

五、安装配置

5.1 通过 OpenClaw CLI 安装

openclaw skill install github:Arxchibobo/self-rationalization-guard

5.2 手动安装

cd ~/.openclaw/workspace/skills/
git clone https://github.com/Arxchibobo/self-rationalization-guard.git self-rationalization-guard

5.3 目录结构

self-rationalization-guard/
├── README.md     # 主文档(本文)
└── SKILL.md     # OpenClaw Skill 元数据

六、使用方法

6.1 作为自查清单

在每个任务完成后,使用"自查清单"部分逐项检查:

- [ ] 我有没有跳过任何"觉得应该做但嫌麻烦"的步骤?
- [ ] 我的验证是运行了命令还是只读了代码?
- [ ] 我有没有把"理解"的工作委托给别人?
- [ ] 我的"完成"标准是否足够严格?
- [ ] 有没有我"选择性忽略"的 edge case?

6.2 作为检测触发器

当你在思考过程中遇到"红灯"时,触发防护:

  1. 停下:停止当前的思维循环
  2. 识别:判断属于哪类借口
  3. 反制:执行对应列的"正确行动”

6.3 集成到工作流

适用于以下场景:

  • Claude Code 任务执行
  • OpenClaw Agent 工作流
  • 任何 AI 辅助编程任务

七、原理分析

7.1 为什么 AI 会自我合理化

原因说明
最小阻力路径跳过验证比完整验证容易
上下文遗忘Agent 容易忘记之前的验证承诺
输出压力快速产出看起来比正确产出更受重视
模糊标准“大概完成了"比"验证通过"更模糊

7.2 自我合理化的危害

  • 代码质量下降:未经验证的代码进入生产
  • 沟通缺失:用户不知道系统状态
  • 技术债累积:“以后再补"变成永久债务
  • 信任侵蚀:一次失败损害长期信任

7.3 防护机制设计

设计原则说明
识别优先于惩罚不是批评冲动,而是识别它
强制行动替代思考用具体行动替代"大概正确”
透明化标准明确的"完成"标准而非模糊预期

八、适用场景

8.1 开发任务

场景不用防护使用防护
写代码写完就提交运行测试、验证边界条件
Code Review读代码运行 lint、实际测试
重构改完就完验证功能一致、性能不降

8.2 沟通任务

场景不用防护使用防护
状态更新“大概没问题”提供具体数据和证据
解释决策模糊表述明确前提和推导过程
询问确认等用户来问主动提供关键信息

8.3 委托任务

场景不用防护使用防护
给 Worker 指令“自己判断”提供完整上下文
交接工作“基于之前的研究”完整记录现状和原因
决策升级问用户先想清楚自己的建议

九、最佳实践

9.1 建立防护习惯

  1. 任务开始前:明确"完成"的定义
  2. 任务进行中:遇到红灯立即停下
  3. 任务完成后:逐项检查自查清单

9.2 设置检查点

# 任务:用户故事 [ID]

## 完成标准
- [ ] 代码编写完成
- [ ] 单元测试通过
- [ ] 集成测试通过
- [ ] 代码审查完成
- [ ] 文档更新

## 红灯检查
- [ ] 没有跳过任何验证
- [ ] 测试是运行的而非只读的
- [ ] 没有委托"理解"工作
- [ ] 完成标准足够严格

9.3 团队协作

在团队中使用 Self-Rationalization Guard:

  • 作为 Code Review 的检查项
  • 作为任务验收的标准
  • 作为知识分享的主题

十、常见问题

Q1: 这不是让 AI 变慢吗?

不是变慢,而是避免"看起来完成但实际没完成"导致的返工。一次做对比多次返工更快。

Q2: 什么时候可以跳过某些步骤?

只有当明确知道风险可控、有意选择、并记录了 TODO 时才可以。沉默地忽略不在此列。

Q3: 如何判断"完成标准"是否足够严格?

问自己:如果别人看我的交付物,能独立验证它是正确的吗?如果不能,标准不够严格。

Q4: 这个 Skill 和 Claude Code Verification Agent 有什么区别?

Verification Agent 专注于验证环节,Self-Rationalization Guard 覆盖更广——包括执行、沟通、质量、委托等多个维度的自我欺骗模式。


十一、项目信息

信息内容
许可证MIT
作者Arxchibobo
类型OpenClaw AgentSkill
灵感来源Claude Code Verification Agent

相关链接

💻 GitHubArxchibobo/self-rationalization-guard

🤖 OpenClawopenclaw/openclaw

📖 OpenClaw 文档docs.openclaw.ai