如何限制 Codex 只改你指定的范围
如何限制 Codex 只改你指定的范围
Section titled “如何限制 Codex 只改你指定的范围”Codex 最大的常见问题之一,不是不会改,而是改得太多。
尤其是用户只说一句:
帮我顺便优化一下这四个字,特别容易把范围带跑。
所以这一篇专门解决一件事:
怎样把任务范围写清楚,让 Codex 只在你允许的边界里动。前置教程:一次 Codex 任务的完整闭环
如果你还没有建立完整工作顺序,先完成前置教程,再回到本篇。
依据来源:OpenAI Codex 官方手册中关于范围限制、审批、沙箱、diff 审查和最小修改原则的说明。
跟着本篇做完后,你应该能做到:
- 把任务范围拆成“优先改哪里”和“绝对不能动什么”。
- 让 Codex 在超范围前先停下来问。
- 限制它只改一个文件、一个目录或一个模块。
- 区分“本次任务必需修改”和“顺手优化”。
- 在范围失控后把它收回来。
范围为什么会失控
Section titled “范围为什么会失控”最常见有 4 种原因:
- 你没说优先改哪个文件。
- 你没说哪些东西绝对不能动。
- 你没说超范围时要先问。
- 你把多个任务揉成了一条提示词。
例如:
帮我把首页做好看一点,顺便把标题结构、样式、SEO 也优化下。这类任务本身就不是一个范围。
第 1 种限制方法:先指定“优先修改位置”
Section titled “第 1 种限制方法:先指定“优先修改位置””最常用的写法是:
优先只修改 src/pages/index.astro。或者:
优先只修改 README.md。或者:
优先只改登录页面相关文件,不要动后端。这叫“首选修改区”。
它不是 100% 锁死,但已经能让 Codex 明白你希望它先从哪里下手。
第 2 种限制方法:写清“最多改到哪”
Section titled “第 2 种限制方法:写清“最多改到哪””仅有“优先修改”还不够,你还要补一句上限:
如果必须修改其他文件,请先说明原因,等我确认后再继续。这句话非常实用。
它的作用是把“默认可以扩散”变成“默认不能扩散”。
第 3 种限制方法:把禁止项单独列出来
Section titled “第 3 种限制方法:把禁止项单独列出来”推荐直接写成清单:
禁止事项:1. 不要安装新依赖。2. 不要修改构建配置。3. 不要修改数据库结构。4. 不要重构无关组件。5. 不要提交 Git。如果是前端任务,还可以补:
6. 不要顺手调整全站样式系统。如果是后端任务,还可以补:
6. 不要改无关接口。第 4 种限制方法:明确“这是单任务,不是打包任务”
Section titled “第 4 种限制方法:明确“这是单任务,不是打包任务””比如你当前只是修一个按钮文案,就不要把别的东西混进去。
错误示例:
帮我把按钮文案改一下,顺便把移动端样式、SEO、加载性能也看看。正确示例:
本次任务只处理按钮文案,不处理移动端样式、SEO 和性能。第 5 种限制方法:超范围必须先问
Section titled “第 5 种限制方法:超范围必须先问”这是最关键的一句之一:
如果你发现需要修改多个文件、多个页面或配置文件,请先停下来说明原因,不要直接继续。你也可以写得更严格:
如果本次修改超出 1 个文件,请先暂停并列出原因、涉及文件和影响范围。一份可以直接复制的范围限制模板
Section titled “一份可以直接复制的范围限制模板”请完成这次任务,但严格限制修改范围。
任务目标:【这里写具体目标】
范围限制:1. 优先只修改【文件路径或目录】。2. 如果必须修改其他文件,请先说明原因。3. 本次任务不要扩展到其他页面、其他模块或其他接口。
禁止事项:1. 不要安装依赖。2. 不要修改构建配置。3. 不要修改数据库结构。4. 不要重构无关代码。5. 不要提交 Git。
如果你发现任务无法在这个范围内完成,请先停下来告诉我:- 为什么做不到- 还需要涉及哪些文件- 每个文件的作用是什么不要先改再说。最常见的 4 个场景怎么限制
Section titled “最常见的 4 个场景怎么限制”场景 1:只改一个页面文案
Section titled “场景 1:只改一个页面文案”只处理首页主标题文案。优先只修改首页文件。不要改样式、布局、SEO、导航和其他页面。如果需要改多个文件,请先停下来说明原因。场景 2:只修一个前端 Bug
Section titled “场景 2:只修一个前端 Bug”本次任务只修登录按钮点击后的报错提示。不要顺手改注册流程、接口封装和表单样式。如果你判断问题在多个组件之间,请先列出涉及文件再继续。场景 3:只改一个后端接口逻辑
Section titled “场景 3:只改一个后端接口逻辑”本次任务只处理用户登录接口的参数校验。不要修改数据库结构,不要改注册接口,不要重构用户服务。如果需要改多个类,请先说明每个类和本次修复的关系。场景 4:只补文档
Section titled “场景 4:只补文档”本次任务只补 README 使用说明。不要修改代码、脚本、依赖和配置文件。如果你发现 README 信息不足,请先列出你缺少哪些事实。如果 Codex 已经超范围了,怎么收回来
Section titled “如果 Codex 已经超范围了,怎么收回来”先不要让它继续改。
直接回复:
你这次修改已经超出原始范围了。
请先不要继续修改文件,只回答下面几件事:1. 哪些文件属于本次任务必需修改。2. 哪些文件属于你顺手扩展出来的改动。3. 每个超范围文件为什么会被修改。4. 哪些文件建议撤回。等它说明白,再决定要不要让它撤回无关改动。
如果你想把范围锁得更死
Section titled “如果你想把范围锁得更死”你可以直接写:
本次任务只允许修改 1 个文件。如果做不到,请不要修改,先告诉我原因。这对第一次练习、改文案、补 README 特别好用。
用户自己怎么检查范围有没有失控
Section titled “用户自己怎么检查范围有没有失控”你只需要看这 4 个问题:
- 修改文件数量是不是超了。
- 有没有不在任务里的配置文件变化。
- 有没有顺手做了你没要求的优化。
- 它有没有在超范围前先问你。
如果这 4 个问题里有两个以上出问题,就说明这次范围控制不合格。
下一步该看什么
Section titled “下一步该看什么”建议接着看:
因为范围控制之后,下一步就是看它会不会把结果检查和汇报也做好。