💬 观点Simon Willison
Quoting Geoffrey Huntley — Geoffrey Huntley 谈用 pre
Geoffrey Huntley 谈用 pre-commit 钩子把 agent 逼回正轨:与其写文档,不如让提交直接失败
2026-10-13原文
本文为要点摘要,完整细节以原文为准。
- 作者指出,靠 AGENTS.md 之类的说明文件约束 agent 会不断漂移,因为文档和实际代码之间始终存在差距,agent 未必会读、读了也未必照做。对工具链的含义是:把规范写进文档属于软约束,可靠性依赖模型每次的自觉。
- 他的替代方案是写一个 pre-commit 钩子,检查 git diff 里是否出现绕过自家 diagnostics 模块、直接调用 observability 模块的代码。对开发者的含义是:把架构约束下沉到 CI/钩子层,用可执行的检查代替自然语言说明。
- 一旦命中,钩子直接让提交失败,并在报错信息里注入提示,告诉 agent 应该改用 diagnostics 库。作者称效果立刻从不及格变成满分,含义是给 agent 的反馈要出现在它必然看到的位置——失败的命令输出里。
原文:Quoting Geoffrey Huntley · 作者 Simon Willison