用 Claude Code 两个月,最烦的就是它偷懒——回答用"大约""一般来说"糊弄,分析只做表面,改完 bug 不跑测试就说"完成了"。
手动纠正太累,所以用 Hooks API 做了个自动审查系统,让 Sonnet 盯着它。拦截命中率和以前手动纠正的场景基本吻合,现在开源了。
安装
git clone github.com/Quinn777/ev… cd evolution-engine bash install.sh
需要 Claude Code + Python 3.9+,装完开新 session 就生效。不满意一行卸载:bash uninstall.sh,不留残留。
它拦什么
三层自动拦截,逐层递进:
第一层:正则 检测模糊词——"大约""一般来说""差不多",命中直接拦。
第二层:Sonnet 跨模型审查 每条回答(400字以上)自动调 Sonnet 审查:分析是否全面?有没有给半成品等追问?做事有没有验证结果?判定偷懒就拦。
第三层:对抗式辩论 长回答(800字以上)自动触发。Sonnet 扮演质疑方攻击逻辑漏洞,有严重问题就拦。
拦完强制重写,直到通过。连续拦 3 次自动放行,不会死循环。
它会进化
Instinct 系统:你每次纠正它(比如说"你在偷懒"),系统自动提炼出一条行为规则,下次遇到类似场景提前提醒 AI。用 TF-IDF 语义去重,最多存 50 条,跨 session 持久化。
PromptBreeder:三套行为规则变体(基准版 / 平衡版 / 主动性优先版)加权随机竞争。每 30 个 session 自动淘汰最差的,用 Sonnet 变异最优的生成新版本。
用得越久越懂你的要求。
quiet_mode
默认开启。规则通过 ~/.claude/rules/ 文件静默加载,hook 输出只有 V=A 三个字符。拦截时才弹一行原因,不干扰正常使用。
局限
- 原始回答在审查前已流式展示,拦截后是追加修正不是阻止展示(Hooks 架构限制)
- Sonnet 审查只看最近 3 条用户消息 + 回答前 2000 字,复杂长对话可能误判
- 每条回答 1-3 次 Sonnet 调用,有 API 成本
- 规则注入是建议性的,不能物理上阻止偷懒,但能显著提高偷懒成本
GitHub:github.com/Quinn777/ev…
CC BY-NC 4.0 开源,非商用免费。有问题开 issue,欢迎 PR。