别给编码代理写 Markdown 规则,去写脚本
来源:dev.to — 2026-11-05
📋 概述
作者认为 AGENTS.md、CLAUDE.md 这类文档本质上只是建议而不是约束:代理会读完、复述、承诺「我会尽力遵守」,然后依然靠自己的判断行事,而判断正是它跑偏的地方。正确的做法是把每条偏好翻译成确定性动作——「读文档并遵守风格」变成跑 lint、format、test 脚本,「重构」变成跑 ast-grep 或 jscodeshift,「提交前先测」变成 pre-push 钩子,代理拿到的只有通过与失败,没有可解释的余地。他把飞机维修手册的简明英语标准 ASD-STE100 里「句子不超过 20 词」这条,落成 MAX_SENTENCE=20 的脚本,拿自己十段回复跑出九条违规,于是把脚本挂进钩子。他也承认脚本只框得住它测的东西:自己给 Forem 提的补丁里有一行未使用代码被 CI 放过,最后只有人眼看了出来。
🔑 核心要点
- Markdown 文档不是约束,是建议:代理能读懂它、引用它,然后在需要判断的地方自由发挥。
- 把「请遵守代码风格」换成跑 ./scripts/lint.sh,代理只拿到通过或失败,无可辩解。
- 规范必须落在能跑的东西上:脚本、Makefile 目标、GitHub Action、pre-push 钩子,因为 Markdown 跑不起来。
- 代理可以跳过本地钩子,所以要用它无权修改的必需 CI 任务和合并门禁兜底。
- 也要接受局限:检查只覆盖它检查的部分,未被测到的问题仍然只能靠人发现。
💡 金句
“If you want agents to do what you want, don't stop at md files. Write scripts.”
译:如果你想让代理按你的意思办事,不要停在 md 文件上,去写脚本。
👍 0
👎 0
← 返回 dev.to 首页