Agent说”搞定了”?先让它交出证据再说——这个Skill专治AI的”虚假完成”
你有没有遇到过这种情况——AI agent 信心满满地说「搞定了 ✅」,然后你打开项目一看,测试压根没跑,代码报红报错?
这大概是目前 Agent 生态里被抱怨最多的问题。GitHub 上有个 issue(claude-code#42796)专门记录这件事,下面几百个开发者排队吐槽。问题的根源很简单:Agents 太容易把「说了等于做了」当成真的完成。
最近有个新 Skill 专门治这个,叫 agent-done-or-not。
它的工作原理特别直接——在 Agent 的工作流里加一道「证明门」(Proof Gate)。Agent 每次说「任务完成」之前,必须先自行录制一条证据:跑了什么命令、退出码是多少、输出内容是什么,全部打上时间戳和 SHA-256 哈希。这条记录叫 proof.json,是一份防篡改的收据。
如果 Agent 刚跑完的检查是通过的,门就开;如果刚跑完的检查失败了,或者压根没跑,门就锁死,Agent 只能继续修复,不能跳过。
这个设计比简单要求「总是跑测试」要可靠得多,因为:
- 写在 CLAUDE.md 里的规则,Agent 可以忽略它
- Proof Gate 用 Stop Hook 强制拦截,Agent 根本无法绕过
- 失败的检查退出码直接被记录,无法被粉饰成成功
- CI 和 pre-commit 里也能用,npm 包装器开箱即用
整个安装过程只需要一条命令:
npx agent-done-or-not init --yes
然后把 Stop Hook 配置到你的 Agent 工具里就好了,支持 Claude Code、Cursor、Codex 等主流 AI 编程工具。
最妙的是它没有任何外部依赖——纯 Bash + Git + SHA-256,现有项目直接装,不需要装额外的包管理器。
如果你经常被 AI「说完了但没验证」气到,这个 Skill 值得一试。装上之后,Agent 每一次说「搞定了」都得附带证据——否则门就锁着。
GitHub:https://github.com/mohamedzhioua/agent-done-or-not
评论区
登录后可评论。