别让AI帮你改代码时“顺手修了全世界”——三步锁死Claude的修改范围

你有没有遇到过这种情况:

只让 Claude 给登录表单加个邮箱校验,结果它顺手重写了导航栏、重构了权限模块、调整了 6 个文件的 import 顺序,还“贴心”修复了你根本没注意到的 auth.ts 里的“潜在 bug”……

最后你面对的是 800 行 diff,一半看不懂,一半不敢合——这不是 AI 在帮忙,是在给你埋雷。

这不是模型太聪明,而是它根本不知道什么叫“别多管闲事”
Claude 没有内置的“边界感”,它的训练目标是“尽可能有用”,而“有用”在它眼里 = 看到问题就修,不管是不是你点的单。

✅ 解决方案不是每次写更长的 prompt(那治标不治本),
✅ 而是给它装一套「工作守则」——像给新同事发《入职须知》一样,明确告诉它:

“你只能碰这 2 个文件,只做这 3 件事,做完必须自己再对一遍。”

这就是 Drift Detector 提出的「三步防越界工作流」,5 分钟装好,从此告别失控式修改:


🔹 第一步:开工前,先签“施工合同”

输入 /scope-declare
→ Claude 会立刻列出:本次只允许修改哪些文件?每处改什么?
比如:

SignupForm.tsx → 添加 email 校验逻辑 + 错误提示 UI  
validation.ts → 导出新函数 validateEmail()  

这份清单就是它的“操作许可书”。没列进去的文件,一律不许碰。


🔹 第二步:干了 15 分钟后,查岗一次

输入 /drift-check
→ Claude 自动比对:
– 实际改了哪些文件?
– 和当初声明的是否完全一致?
– 有没有偷偷摸摸改了 auth.tsutils.ts
发现越界?立刻喊停,不等你 review 就预警。


🔹 第三步:收工前,让它自己交答卷

输入 /self-verify
→ Claude 重新读你最原始的那句话(比如:“加邮箱校验”),然后逐条核对:
– ✅ 校验逻辑有了吗?
– ✅ 错误提示显示了吗?
– ✅ 只动了声明的 2 个文件吗?
全部打钩,才准说“Done”。


🛠️ 额外送你一道“防火墙”:预编辑拦截钩子

有个可选的 shell 脚本(pre-edit-scope-check.sh),会在 Claude 每次真正写代码前自动触发:
– 如果它想改一个不在 /scope-declare 清单里的文件 → 立刻弹警告⚠️
– 默认只是提醒(你还能手动继续),但把脚本里 exit 0 改成 exit 1,就能直接硬性拦截,不让越界操作发生。


⚙️ 怎么装?真就 5 分钟

把 3 个技能文件(.md)放进 ~/.claude/skills/
再把钩子脚本放进 .claude/hooks/,并加执行权限:

cp skills/*.md ~/.claude/skills/
mkdir -p .claude/hooks
cp hooks/pre-edit-scope-check.sh .claude/hooks/
chmod +x .claude/hooks/pre-edit-scope-check.sh  # ← 这行很重要!

装完即用,不用改项目配置,所有 Claude Code 项目都生效。


直达网址:https://builtbyzac.com/drift-detector.html

作加

类似文章