防止AI写代码破坏项目的规则配置方法
通过在项目中配置 AGENTS.md 或 .cursor/rules/*.mdc 等规则文件,为 AI 编程工具设定优先级、安全红线和修改范围,避免 AI 越权修改、硬编码密钥、破坏测试或陷入无限报错循环。
DEV.to #cursor
CursorClaude CodeCopilotWindsurfCodexZedAmp
收录于 2026-11-01 · 原文发布于 Sat, 31 Oct 2026 18:49:50 +0000
要点
- 为 AI 设置明确的规则优先级:当规则冲突时,安全红线最高,其次是当前任务、技术栈规范和工作风格。
- 制定具体的安全规则:严禁将密钥放在公用前缀(如 NEXT_PUBLIC_、VITE_ 等)后面,私密数据接口必须校验调用者权限(防越权访问)。
- 限制 AI 的高危自主操作:未经允许不得执行 rm -rf、git 强制推送、重置数据库、跳过/禁用测试、以及安装新依赖。
- 限定修改范围防止失控:保持在任务范围内,不要重命名或美化无关代码,做到只做最小改动,不整盘重写正常运行的文件。
- 引入调试熔断机制:AI 尝试修复失败两次后,必须停止尝试并总结接下来的两个选项,防止陷入无限错误的螺旋。
坑点
- AI 请求一个小修复却顺便“整理”了其他四个不相关的文件。
- API 密钥被硬编码在组件中,或放在了任何人都能读取的 NEXT_PUBLIC_ 前缀变量中。
- 新 API 路由虽然能工作,但未校验记录归属,导致越权访问他人数据(换个 ID 就能读取别人的数据)。
- AI 针对同一个坏掉的修复尝试了五次,每次都让情况变得更糟。
- 通过跳过测试来“修复”测试。
.cursorrules
- 规则冲突优先级:1. 安全红线 2. 当前任务 3. 技术栈规范 4. 工作风格。 - 任何私密数据操作必须在服务端校验调用者身份与记录归属权限(无权限返回 403,记录不存在返回 404)。 - 严禁擅自执行破坏性命令(如 rm -rf、git reset --hard、git push --force、删除表等)。 - 严禁擅自禁用、跳过或放宽测试、Lint 规则或类型检查。 - 禁止擅自安装新依赖,安装前需核实准确包名。 - 调试限制:连续 2 次修复失败后必须停止并汇报选项。
可复制提示词
请遵守以下规则: 1. 严格控制修改范围,仅修改与 [当前功能或修复] 直接相关的代码,不要重构、重命名或“美化”无关文件。 2. 保持最小改动,严禁整体重写正常运行的文件。 3. 不要硬编码任何 API 密钥或敏感信息,不要将密钥放入诸如 NEXT_PUBLIC_ 或 VITE_ 等公共前缀中。 4. 若遇到错误,在连续两次修复尝试失败后,必须立即停止,并向我总结下一步的两个可选方案,不得盲目重复尝试。 5. 在进行数据库查询或私有数据访问时,必须在服务端校验当前用户身份及其对该记录的访问权限。
#AI前端开发#避坑指南#Cursor配置#安全规范
相关方法
内容由 AI 依据原文翻译整理,细节以原帖为准;版权归原作者。