Claude 总把被否决的要求写进代码,开发者做 hook 一键拦截
chufan_shi · reddit · 2026-09-15
开发者 chufanshi 发现 Claude 有个顽固毛病:你让它别加某功能,它却把「不加什么」写进代码、注释、测试名甚至 git 历史里,比如 git commit -m "Add retry logic (without exponential backoff)"、testparserwithoutregex。他分析后指出根源不是「否定词」问题——很多残留没有「no」,而是「as discussed」「per your feedback」「fixed version」这类对话痕迹:Claude 在跟对话者说话,而不是给未来读文件的人写代码。
解法是把写作对象换成文件读者,他据此做了开源项目 ship-the-result,包含三部分:
- 一份 SKILL.md,核心自测问题:这行字在一年后、没有聊天记录时还讲得通吗?并区分真需求与残留(如「SSO 用户允许免密登录」是真需求);
- 一个扫描脚本,标记六类残留;
- 一个 PreToolUse hook,在 git commit 和 gh pr create 时对提交信息、注释、测试名、新文件名跑扫描,命中即拦截并说明原因。同一条命令重跑能通过,则说明是真需求。作者解释做成 hook 是因为 prompt 规则四十轮对话后会失效,正则不会。安装一行 curl 命令即可。
「编程与Agent」频道最新
- 用 Claude 纯提示词剪完整条视频,视频剪辑师要慌了 — CodeByPoonam · 2026-11-02
- Cohere Labs 智能体团队构建方法降本 70%,兼顾效率 — Cohere_Labs · 2026-11-02
- Ыég especial: 长文析 AI 价值在效率之后:Infra 必然过剩,应用层基建正当时 — yangyi · 2026-11-02
- 开源 offprompt:MCP 服务器让 Agent 请求密钥却永远看不到明文 — Vast_Ad_7338 · 2026-11-02
- Reddit 讨论:把 OOP 公有方法直接变成 AI Agent 可调用的工具 — out_of_nowhere__ · 2026-11-02
- DeepSeek 设计文档:一人只能盯 3-5 个 agent 会话,瓶颈不再是模型 — heyshrutimishra · 2026-11-02