这两天我越来越觉得,AI 编程工具真正危险的地方,不是它不会写代码。
而是它太敢动手。
你让它清理一下项目,它可能顺手把一堆目录删了。
你让它修一下构建,它可能觉得“删掉重新来”最快。
你让它整理一下文件,它可能直接上来一个递归删除。
对人来说,这是一个命令。
对项目来说,可能就是一次事故。
尤其是现在的 AI 编程工具越来越强。
Claude Code、Cursor、Codex、Windsurf、Trae、Cline、Gemini CLI,各种 Agent 工具都能读文件、改文件、跑命令。
这当然是进步。
但只要它有终端权限,就必须有边界。
今天这篇文章,我想分享一段我认为非常值得放进 AI 编程工具系统提示词里的内容。
它不复杂。
甚至有点朴素。
但它解决的是一个特别现实的问题:
防止 AI 乱删文件。
01
AI 最可怕的不是写错代码
写错代码,其实还好。
你能看 diff。
你能跑测试。
你能回滚。
你能一点点改回来。
但删除不一样。
尤其是批量删除。
一个 rm -rf。
一个 Remove-Item -Recurse。
一个 rmdir /s。
如果路径错了,或者 AI 理解错了你的意思,后果会很麻烦。
很多人第一次用 AI 编程工具,会有一种错觉:
“它应该知道什么不能删。”
但问题是,AI 不是真的“知道”。
它是在根据上下文判断。
而上下文里只要出现“清理”“删除”“重新生成”“移除无用文件”这些词,它就可能选择一个它认为高效的方式。
对它来说,递归删除是一种工具。
对你来说,可能是一个晚上白干。
所以我现在越来越认同一个原则:
不要指望 AI 自觉安全,要把安全规则写死。
02
这段提示词,建议直接放进系统规则
下面这段,不建议拆。
你可以直接放进 Claude Code、Cursor、Codex、Cline、Windsurf、Trae、Gemini CLI 等 AI 编程工具的系统提示词、项目规则、全局规则或自定义指令里。
原文如下:
禁止批量删除文件或目录。
不要使用:
del/srd /s
rmdir /s"
Remove-Item -Recurse
rm -rf
需要删除文件时,只能一次删除一个明确路径的文件。
正确示例:
Remove-Item "T:\path\to\file.txt"
如果需要批量删除文件,应停止操作,并向用户请求,让用户手动删除。
这段话的价值不在于“写得多高级”。
恰恰相反。
它好就好在足够直接。
不讲原则。
不讲抽象安全。
不讲“请谨慎操作”。
它直接告诉 AI:
哪些命令不能用。
什么行为不能做。
什么情况必须停下来。
如果真要删,只能删一个明确路径的文件。
这才是对 AI 有用的规则。
03
为什么不能只写“谨慎删除”
很多人会在 AI 工具里写类似这种提示:
“操作文件时请谨慎。”
说实话,没什么用。
因为“谨慎”这个词太软了。
AI 会觉得:
我已经谨慎了。
我删除的是我判断无用的文件。
我执行的是清理任务。
我是在帮用户节省时间。
但你真正想要的不是“它觉得自己谨慎”。
你真正想要的是:
它压根没有机会执行高风险删除。
这就是规则和建议的区别。
建议是:你最好别这样。
规则是:你不能这样。
对 AI 编程工具来说,规则要越具体越好。
比如这段提示词直接点名了几类高风险命令:
rm -rf并且给了一个明确替代方案:
只能一次删除一个明确路径的文件。
这就把 AI 的操作空间限制住了。
04
真正重要的是“让 AI 停下来”
我最喜欢这段提示词里的最后一句:
如果需要批量删除文件,应停止操作,并向用户请求,让用户手动删除。
这句话非常关键。
因为很多 AI 安全规则只写“不要做什么”,但没写“遇到这种情况怎么办”。
AI 最怕的就是卡在中间。
你只告诉它不能批量删除,它可能会换一种方式绕过去。
比如循环删。
比如分批删。
比如先列文件再逐个删。
但这段提示词直接把后路堵住了:
如果需要批量删除,停止操作。
让用户手动删。
这就对了。
AI 应该负责写代码、分析问题、提出建议。
但像批量删除这种高风险动作,应该交回给人。
这是边界。
05
所有 AI 编程工具,都应该有自己的安全底线
我觉得以后用 AI 编程工具,不能只看模型强不强。
还要看你有没有给它设规则。
模型越强,越需要规则。
Agent 越自动,越需要边界。
权限越大,越不能只靠信任。
这就像你请了一个特别能干的实习生。
他会写代码。
会查资料。
会跑命令。
会自己想办法解决问题。
但你不会第一天就把生产数据库 root 权限给他。
也不会让他随便删服务器目录。
AI 也是一样。
它不是不能干活。
是必须知道什么活不能自己干。
所以我建议,只要你在用 AI 编程工具,至少要加三类规则:
其中第一条,是最基础的。
因为文件删错了,最让人崩溃。
06
这段提示词适合放在哪里
不同工具叫法不一样,但思路差不多。
如果你用 Claude Code,可以放到项目规则或长期偏好里。
如果你用 Cursor,可以放到 Rules。
如果你用 Cline、Roo Code、Windsurf,可以放到自定义指令。
如果你用 Codex 或 Gemini CLI,也可以放到项目级 instructions 里。
重点不是工具名字。
重点是:
让 AI 每次动手前都能看到这条规则。
不是出事后再提醒。
不是删完再复盘。
而是在它准备调用终端之前,就已经被规则拦住。
07
最后
AI 编程工具会越来越像一个真正的开发搭档。
它能做的事情会越来越多。
它能接触的项目也会越来越真实。
这时候,提示词就不只是“让它更会写代码”。
提示词还应该负责一件事:
让它别闯祸。
今天这段删除安全提示词,我建议每个用 AI 编程工具的人都保存一份。
它不酷。
不花哨。
甚至有点啰嗦。
但它很实用。
真正好的系统提示词,不是让 AI 看起来更聪明。
而是让 AI 在关键时刻,知道该停下来。
点击上方蓝字 千序AI笔记 关注
专注 AI 工具分享,让技术更好用。
觉得有用,欢迎点赞、在看、转发给需要的朋友。
夜雨聆风