橙皮书 / PART 04 · 标准工作流
方法论

从需求到交付的完整链路

标准六步法:拆解需求 → 制定计划 → 小步实现 → 验证测试 → 代码审查 → 提交交付。真正稳定的方式,不是让 Codex 一口气乱改,而是让需求经过"理解、计划、修改、验证、检查、验收"这几步。每一步都附可直接套用的提示词模板。

00六步法总览

很多人刚开始用 Codex,会直接一句话丢给它:"帮我做一个网站""帮我改这个功能""帮我优化这个项目"。这样不是不行,但很容易出现一个问题:AI 改得很快,但你不知道它到底改了什么,也不知道能不能放心交付。

步骤名称简单来说目的
1需求拆解先让 Codex 知道要做的项目是什么避免不了解结构就乱改
2制定计划先列出要做什么,确认后再动手避免一步改太多、方向跑偏
3小步实现一次只改一小块降低出错概率,方便回滚
4测试改完运行检查并手动验证确认代码没有明显报错
5代码审查看 diff,检查改得对不对、有没有风险防止 AI 改到不该改的地方
6提交与复盘提交代码并沉淀经验AI 负责执行,人负责拍板
核心心法

你不是让它随便写点代码,而是让它按你的项目规则、上下文和验收标准,完成一项可控的工程任务。控制范围,比追求速度更重要。

01第一步 · 拆解需求

在让 Codex 修改项目之前,第一件事不是写代码,而是先拆需求。很多人用 Codex 容易翻车,不是因为 Codex 不会写代码,而是因为一开始需求没说清楚。比如你只说"帮我优化首页",Codex 可能会理解成:改 UI、改文案、改布局、改组件结构、改路由,甚至顺手删掉一些它觉得"没用"的代码。所以在正式动手前,应该先把需求拆成几个关键问题。

背景是什么

问题示例
现在项目处于什么阶段这是一个已经上线的官网页面
当前遇到什么情况首页转化率低,用户不知道产品卖点
为什么现在要改准备发布新版,需要优化首屏表达
这个需求属于什么类型UI 优化 / Bug 修复 / 新功能 / 重构

要解决什么问题(把模糊说法变清楚)

模糊说法更清楚的说法
优化首页优化首页首屏标题、副标题和 CTA 按钮
页面不好看调整卡片间距、字体层级和按钮样式
登录有问题修复点击登录按钮后没有跳转的问题
做一个后台新增用户列表页,包含搜索、筛选和分页

好的需求应该能回答:这次到底要解决哪一个具体问题?例如:"这次主要解决三个问题:①首屏标题表达不清楚;②CTA 按钮不明显;③移动端首屏内容太拥挤。"

哪些文件可能相关

如果你知道大概文件位置,最好提前告诉 Codex,减少它全项目乱找、乱改的概率。

场景可能相关文件
改首页app/page.tsx、pages/index.tsx、components/Hero.tsx
改样式globals.css、tailwind.config.js、相关组件文件
改登录login/page.tsx、auth.ts、middleware.ts
改接口api 目录、server 目录、lib 目录
改文案页面组件、配置文件、i18n 文件

哪些功能不能动(这一步非常关键)

Codex 很容易为了完成当前任务,顺手改掉其他地方。所以要提前给它画边界:

不能动的内容说明
登录逻辑只改 UI,不改认证流程
接口地址不要改 API 请求路径
数据结构不要改数据库字段
路由结构不要改已有页面路径
已有组件除非必要,不要大规模重构
依赖版本不要随便升级或新增依赖

什么结果算完成

需求类型完成标准
UI 优化页面视觉明显改善,移动端不乱
Bug 修复原来的报错消失,相关功能可正常使用
新功能用户能完整走通操作流程
性能优化构建正常,页面加载没有明显变慢
文案优化标题、副标题、按钮文案更清楚

需要哪些测试 / 有哪些风险

测试类型适用场景
页面预览UI 修改、页面布局调整
控制台检查前端页面、交互功能
构建测试Next.js、React、Vue 项目
单元测试有测试文件的项目
手动流程测试登录、支付、表单、上传等流程
移动端测试响应式页面、移动网页
风险说明
影响范围过大小需求被改成大重构
样式污染改了全局 CSS,影响其他页面
依赖风险新增不必要依赖,项目变复杂
逻辑风险为了修一个问题,改坏其他流程
数据风险改接口、字段、数据库相关内容
兼容风险桌面端正常,移动端出问题

需求拆解提示词模板(可直接复制)

需求拆解提示词模板复制
请先帮我做需求拆解,不要立刻修改代码。
需求:
【这里写你的需求】
请按下面结构分析:
1. 背景是什么
 - 当前项目大概是什么
 - 为什么要做这个需求
 - 属于新功能、Bug 修复、UI 优化,还是重构
2. 要解决什么问题
 - 当前具体问题是什么
 - 本次要解决到什么程度
 - 哪些内容不是本次范围
3. 哪些文件可能相关
 - 请根据项目结构判断可能涉及哪些文件
 - 先列出来,不要直接修改
4. 哪些功能不能动
 - 不要改哪些逻辑
 - 不要动哪些接口
 - 不要影响哪些页面或组件
5. 什么结果算完成
 - 功能完成标准 / 页面完成标准 / 代码完成标准
6. 需要哪些测试
 - 需要运行什么命令
 - 需要手动检查哪些页面
 - 需要重点验证哪些流程
7. 有哪些风险
 - 可能影响哪些功能
 - 是否有样式污染风险
 - 是否有重构过度风险
 - 是否有新增依赖风险
最后,请给我一个简短的执行建议:
 - 建议先做哪一步
 - 是否需要我确认后再修改

02第二步 · 制定计划

需求拆解完成后,不要马上让 Codex 写代码。这一步要让 Codex 先制定计划——先让 AI 说清楚它准备怎么做,再决定要不要让它动手。很多项目翻车,不是因为 Codex 不会改,而是因为它一上来就开始改;等你发现方向不对时,它可能已经改了很多文件,回头检查和回滚都很麻烦。

第二步的核心是:先计划,后执行;先确认,后修改。

为什么要"先不要写代码"

这要写在提示词最前面。因为 Codex 的默认倾向是:看到需求后直接开始解决问题。但在真实项目里,直接改代码风险很高。

直接写代码的问题可能后果
没理解项目结构改错文件
没确认需求边界做了不该做的功能
没判断影响范围误伤旧功能
没列测试方式改完不知道怎么验收
一次改太多出错后不好回滚
制定计划提示词复制
先不要写代码,也不要修改任何文件。
请先根据当前需求和项目结构,制定一个修改计划。
等我确认后,再开始执行。
计划模式

也可以在 Codex CLI 或 App 里直接输入 /plan,先让 Codex 输出计划,再决定是否执行。对所有复杂任务都建议先开计划模式,可以查漏补缺(比如它计划里漏掉移动端,你就能当场补上)。

03第三步 · 小步实现

计划确认后,才进入真正的代码修改阶段。但有一个非常重要的原则:不要让 Codex 一次性把东西都改完。很多人翻车,就是因为一上来就让它"全部实现",结果它同时改页面、改组件、改样式、改接口、改配置,最后项目虽然变了,但你很难判断哪里出了问题。

更稳定的方式是:一次只改一个功能点;改完一小步,就检查一小步。

把"优化首页"拆成小步

步骤修改内容
第一步只优化首屏标题和副标题
第二步只调整 CTA 按钮
第三步只优化移动端布局
第四步只补充产品卖点卡片
第五步只处理最终样式细节

不要让 Codex 顺手重构无关代码

Codex 有时候觉得某些代码"不够优雅",然后顺手帮你重构。但真实项目里,顺手重构是很危险的:

Codex 的顺手操作可能带来的问题
重命名组件导致引用路径出错
拆分文件增加维护成本
改全局样式影响其他页面
优化旧逻辑破坏原本可用功能
升级依赖引发兼容问题
删除它认为无用的代码实际可能是业务逻辑

所以小步实现时要明确限制:"本次只实现当前功能点;不要顺手重构无关代码;不要修改命名、目录结构、依赖版本和全局配置。如果你发现代码可以优化,请先记录为建议,不要直接修改。"

不要接受大面积无解释修改

情况处理方式
改动文件数量突然很多要求解释每个文件为什么改
删除了大量代码要求说明删除原因
新增了不认识的依赖要求说明必要性
修改了配置文件要求说明影响范围
改了和需求无关的页面要求回退无关修改
代码风格大变要求保持原项目风格

遇到不确定,先停下来问

小步实现不是让 Codex 什么都问,而是遇到关键不确定时必须停下来:

不确定情况为什么要停
不确定该改哪个文件防止改错位置
不确定业务规则防止逻辑做错
不确定是否能删旧代码防止误删功能
不确定是否新增依赖防止项目复杂化
不确定接口含义防止影响数据
不确定测试失败原因防止越修越乱
小步实现提示词模板复制
请开始小步实现。
当前只执行第【 1 】步:
【这里写本次只做的一个功能点】
要求:
1. 一次只改这个功能点
2. 只修改和当前功能直接相关的文件
3. 不要顺手重构无关代码
4. 不要修改目录结构
5. 不要新增不必要依赖
6. 不要删除已有功能
7. 不要改计划外的文件
修改完成后请停止,并输出:
1. 本次修改了哪些文件
2. 每个文件改了什么
3. 为什么这些修改是必要的
4. 有没有改到计划外内容
5. 有没有潜在风险
6. 下一步建议做什么
注意:
如果遇到不确定的地方,请先停下来问我,不要自行决定。

04第四步 · 验证测试

Codex 完成小步修改后,不能马上进入下一步,必须先测试。最大的问题是:AI 说完成了,但项目其实没跑通;页面看起来正常,但某些功能已经坏了;当前功能修好了,旧功能却被影响了。所以测试的核心是:不是相信 Codex 说"完成",而是用结果证明它真的完成。

一次完整测试要做的事(从快到慢)

测试类型常见命令重点
单元测试npm test / pnpm test / yarn test失败先说明原因,不要直接改
类型检查npm run typecheck / tsc --noEmit没有该命令就明确说明
Lintnpm run lint区分本次新增问题和项目原有问题
构建npm run build / pnpm build失败先总结报错和影响范围
手动测试——UI、表单、登录、支付、上传必须手动点一遍
浏览器测试——看页面显示、Console 报错、Network、移动端
回归测试——不只测新功能,还要测旧功能有没有被改坏
两个提醒

① 很多老项目本身就有 lint 或类型问题,不要让 Codex 把历史问题都顺手重构;② 回归测试最容易被小白忽略——改了首页按钮,也可能影响复用同一组件的其他页面。

手动测试时,可以让 Codex 把验证步骤列成"操作—预期结果"表格,例如:

步骤操作预期结果
1打开首页页面正常加载
2点击 CTA 按钮跳转到注册页
3缩小到手机宽度页面不变形
4打开控制台没有明显红色报错
测试提示词模板复制
请对本次修改进行测试,不要继续新增功能。
请按下面顺序执行或说明:
1. 单元测试:项目是否有单元测试?有则运行;失败说明原因
2. 类型检查:是否有 typecheck 命令?有则运行;没有请说明
3. lint:运行 lint 检查,区分本次新增问题和项目原有问题
4. 构建:运行 build 命令;失败请说明报错原因和影响范围
5. 手动测试:列出需要手动测试的页面、用户操作步骤、每步预期结果
6. 浏览器测试:检查页面显示、控制台报错、移动端布局、关键按钮交互
7. 回归测试:检查本次修改是否影响旧功能,列出可能受影响的页面、组件和流程
最后请输出测试总结:
 - 哪些测试通过了 / 哪些失败了 / 失败原因是什么
 - 是否可以进入下一步 / 是否需要先修复问题

05第五步 · 代码审查

测试通过后,不代表这次修改就可以直接交付。代码审查不只是看代码能不能跑,还要看代码改得对不对、稳不稳、有没有风险。Codex 写代码很快,但它也可能出现这些问题:

常见问题说明
功能能跑,但逻辑不对表面正常,真实业务流程有问题
改动太大为了一个小需求,改了很多无关代码
误删旧逻辑删除了看似没用、实际有用的代码
忽略边界条件正常输入能用,异常输入就崩
安全问题暴露密钥、权限判断错误、输入未校验
风格不统一新代码和原项目写法不一致
可维护性差临时写死、硬编码、后续不好改

两轮审查:Codex 自审 + 人工审查

第一轮先让 Codex 自查刚才的修改(目的不是完全相信它,而是让它先暴露明显问题),最好让它输出成表格:

检查项结果说明
是否改到计划外文件只修改了首页相关组件
是否新增依赖没有修改 package.json
是否删除旧逻辑原有按钮跳转逻辑保留
是否存在风险移动端按钮间距还需人工确认

第二轮人工审查。最终交付的人是你,不是 Codex。不要求每行都看懂,但要重点看 diff 的几处。

重点盯四类高风险问题

类别常见问题审查要点
边界条件正常输入能用、异常输入就崩空数据、接口失败、未登录、权限不足、移动端尺寸、重复点击
安全问题涉及用户/接口/权限/支付/上传/数据库时是否暴露密钥 token、权限判断是否缺失、输入是否校验、接口是否有鉴权
是否误删看似没用、实际有用的代码被删重点看 diff 的删除内容:旧组件、注释、兼容代码、fallback、配置项都可能仍被依赖
业务逻辑代码能跑但逻辑错(跳错页、价格算错、越权)正常路径、异常路径、权限判断、是否覆盖旧业务规则
交叉审查(进阶)

涉及登录、支付、权限、数据库、鉴权等重要代码,建议再用第二个模型做交叉审查——一个模型写,另一个模型专门挑错(只改文案、轻微样式一般不必)。但第二个模型的建议同样不能全盘接受,它帮你发现问题,不替你做最终决定。

代码审查提示词模板复制
请对本次修改做代码审查,不要继续写代码。
请按下面结构审查:
1. Codex 自审:是否只改计划内文件 / 有无无关重构 / 有无新增依赖 / 有无硬编码 / 有无误删旧逻辑
2. 修改范围审查:改了哪些文件 / 每个文件为什么改 / 是否存在计划外修改 / 有无大面积无解释修改
3. 边界条件审查:空数据 / 接口失败 / 未登录 / 权限不足 / 重复点击 / 移动端异常
4. 安全问题审查:是否暴露密钥 token / 是否影响权限判断 / 是否缺输入校验 / 接口是否有鉴权
5. 删除内容审查:删了哪些代码 / 原因 / 是否确认无依赖 / 是否影响旧功能
6. 业务逻辑审查:是否符合需求 / 正常流程 / 异常流程 / 是否影响旧业务规则
7. 审查结论:可以继续 / 需要小修 / 需要回退部分修改 / 需要重新制定计划
注意:只审查,不要继续修改代码;若发现问题,先说明问题和建议,等我确认后再改。

06第六步 · 提交与复盘

代码测试通过、审查完成后,最后一步不是简单说"完成了"。真正完整的 Codex 工作流还要做两件事:第一,把修改正式提交;第二,把经验沉淀下来。很多人只做到"代码能跑",但没有提交说明、没有 PR 描述、没有记录问题、没有更新文档——结果是:每次都像第一次做,每次都重复踩坑。交付不是结束,复盘才是下一次效率提升的开始。

生成 commit

好的 commit 应该能回答:改了什么、为什么改、影响哪里、是否通过测试。常见格式(中英文皆可):

Commit 规范示例复制
feat: add user profile page        / feat: 新增用户资料页
fix: resolve login redirect issue   / fix: 修复登录后跳转异常
style: improve homepage responsive  / style: 优化首页移动端布局
refactor: simplify product card     / refactor: 简化产品卡片组件
docs: update setup guide            / docs: 更新项目使用说明

写 PR

PR 的作用不是"走形式",而是让 reviewer 快速知道:做了什么、为什么做、改了哪里、怎么测、有什么风险、重点看哪。好的 PR 描述示例:

PR 描述示例复制
## 本次修改
- 优化首页首屏标题、副标题和 CTA 按钮
- 调整移动端首屏布局
- 保留原有跳转逻辑,没有修改接口和路由
## 测试结果
- npm run lint 通过
- npm run build 通过
- 手动检查首页桌面端和移动端显示正常
- 点击 CTA 按钮跳转正常
## 风险说明
- 本次涉及首页样式调整,需重点确认移动端显示
- 没有新增依赖
- 没有修改登录、接口、数据库逻辑

记录问题(复盘)

真正有价值的不是"这次做完了",而是下次遇到类似问题可以少走弯路。记录格式可以很简单:

问题记录格式复制
本次问题记录:
1. 问题:Codex 一开始想修改全局样式
   原因:需求里没有明确限制"只改首页"
   解决:补充提示词,要求只修改首页相关文件
2. 问题:移动端测试遗漏
   原因:计划阶段没有列移动端验收标准
   解决:以后在测试清单里固定加入移动端检查
3. 问题:PR 描述不够清楚
   原因:没有提前记录测试结果
   解决:每次测试后直接生成测试总结

总结 Prompt 与更新 AGENTS.md

如果这次使用的提示词效果不错,就沉淀下来(比如"不要顺手重构无关代码""超出计划先停下来问")。如果某些规则以后每次都要遵守,最好更新到项目级 AGENTS.md。示例内容:

AGENTS.md 工作规则片段复制
## 工作规则
- 修改前必须先阅读项目结构
- 修改前必须先制定计划,不要直接写代码
- 一次只实现一个功能点
- 不要顺手重构无关代码
- 不要新增不必要依赖
- 不确定业务逻辑时,先提问,不要自行决定
## 测试要求
每次修改后至少检查:npm run lint / npm run build /
相关页面手动测试 / 浏览器控制台是否有报错 / 移动端布局是否正常
## 提交要求
提交前需要说明:修改了哪些文件 / 每个文件改了什么 /
测试是否通过 / 是否有风险或未完成事项

更新项目文档

修改内容需要更新的文档
新增功能README、功能说明
新增环境变量.env.example、部署文档
新增命令README、开发指南
修改接口API 文档
修改部署流程部署说明
新增组件组件使用说明
提交与复盘提示词模板复制
请进入提交与复盘阶段,不要继续新增功能。
请按下面结构输出:
1. Commit 建议:生成合适的 commit message,使用 conventional commit 格式,不要夸大范围
2. PR 描述:本次修改 / 修改原因 / 涉及文件 / 测试结果 / 风险说明 / reviewer 重点看哪里
3. 问题记录:复盘本次过程——遇到哪些问题、原因、如何解决、下次如何避免
4. Prompt 总结:哪些 Prompt 有效、为什么有效、适合什么场景复用、是否建议加入 AGENTS.md
5. AGENTS.md 更新建议:适合加入的长期规则(修改前 / 修改中 / 测试 / 提交)
6. 项目文档更新建议:是否需要更新 README.md / .env.example / docs/ / CHANGELOG.md
最后请给出交付结论:是否可以提交 / 是否可以发 PR / 是否有未完成事项 / 是否有需人工确认的风险
一句话收尾

文档不是附属品,在 Codex 工作流里,文档本身就是上下文基础设施。文档越清楚,后续人和 AI 接手项目都更轻松。

跨会话交接:养成写 HANDOFF.md 的习惯

关掉长会话后,所有没显式写下来的进度都会随会话结束消失——AI 没有"记住"功能,上下文从来不是自动保存的。很多人以为"AI 记不住"是 Bug,其实是工作流缺了一个交接仪式。触发时机:每次想"今天先到这"时,让 Codex 整理一份交接文档。

生成交接文档提示词复制
把目前的进度整理成一份 HANDOFF.md,包含:当前进度、待办事项、
已知约束、下一步计划。保存到项目根目录。
下次开新会话第一句复制
先读 HANDOFF.md,然后继续推进任务。
HANDOFF.md 标准模板(直接照抄)复制
# Handoff — [项目名称] — [日期]
## 当前进度
- [具体描述:做到了什么]
## 待办事项
- [ ] [下一个具体任务]
- [ ] [其他待办]
## 已知约束
- [比如:JWT 认证 / AUTH_SECRET 必须设置 / PostgreSQL]
## 下一步计划
1. [第一步具体操作]
2. [第二步具体操作]
## 踩过的坑(可选)
- [记录防止重蹈覆辙]
为什么值得做

没有交接文档时,每个新 session 要花 10–15 分钟重新发现"上次做到哪了";加上 HANDOFF.md 后,打开新会话直接进工作状态,5 分钟内无需任何澄清即可开工。这个习惯不只适合 Codex,Claude Code 等同样适用。

07任务模板库(即用即抄)

前面讲的是标准工作流,这一节直接放一些常用模板。作用是不用每次重新想 Prompt,按场景复制后填入自己的需求即可。所有模板都遵循"先理解 / 先计划,再动手"的原则。

读项目模板

读项目模板复制
请先不要修改任何代码。
请阅读当前项目,并输出一份项目理解报告,包括:
1. 技术栈(前端/后端/数据库/构建工具,是否用 TypeScript、Tailwind、框架)
2. 目录结构(页面、组件、工具函数、接口、配置文件分别在哪;哪些目录是核心)
3. 启动方式(如何安装依赖、本地启动、是否需要环境变量)
4. 测试命令(test / lint / typecheck / build,没有请说明)
5. 核心模块(核心功能模块分别负责什么,改功能优先看哪些文件)
6. 后续修改风险(哪些文件/目录改动风险高、哪些逻辑不能随便改)
请只输出项目理解报告,不要修改代码。输出完成后等待我确认。

修 Bug 模板

修 Bug 模板复制
我遇到一个 bug:
【现象】
【复现步骤】
【期望结果】
【实际结果】
【相关文件/页面】
请先定位原因,不要直接修改。先给出:
1. 可能原因 2. 需要查看的文件 3. 修复方案 4. 风险点
等我确认后再改代码。

加功能模板

加功能模板复制
我想新增一个功能:
【功能描述】【入口位置】【交互流程】【视觉要求】
【数据来源】【验收标准】
请先阅读相关代码,给出实现计划。不要改无关文件。
实现后请运行测试并总结 diff。

前端页面模板

前端页面模板复制
请根据下面要求实现一个页面:
【页面用途】【目标用户】【视觉风格】【模块结构】
【中文文案】【响应式要求】【不要出现的问题】
请先给出组件拆分方案,再开始实现。

代码审查模板

代码审查模板复制
请审查当前分支相对 main 的 diff。重点检查:
1. 潜在 bug 2. 边界条件 3. 安全风险
4. 类型问题 5. 性能问题 6. 是否有无关修改 7. 测试是否充分
请不要直接修改代码,先输出 review 报告。

重构 / 写测试 / 写文档模板

重构 / 测试 / 文档模板复制
# 重构模板
请重构以下模块:【模块路径】
目标:1. 提高可读性 2. 减少重复代码 3. 保持现有行为不变
4. 不改变公共 API 5. 不引入新依赖
请先写重构计划,并说明如何验证行为一致。

# 写测试模板
请为以下功能补充测试:【功能描述】【相关文件】【边界情况】
要求:1. 不改业务逻辑 2. 覆盖正常路径 3. 覆盖异常路径
4. 覆盖边界条件 5. 运行测试并报告结果。

# 写文档模板
请根据当前项目生成文档:
1. 项目简介 2. 安装方式 3. 启动方式 4. 环境变量说明
5. 常用命令 6. 目录结构 7. 开发注意事项 8. 常见问题
请不要编造不存在的命令,必须基于项目文件判断。

07·b任务执行机制:顺序、插队与并行

理解 Codex 怎么"排队"和"并行",能避免很多"它怎么不理我第二个要求"的困惑。

方式怎么做行为
顺序执行选项目 → 新建对话 → 发任务;执行中再下令新指令进入排队,等前面任务完成才执行
插队(引导)点「引导」选项,再提补充要求新任务直接插队到当前执行任务中(如"改成手绘风格")
并行同一 Project 下新建多个对话多任务并行、互不干扰
一句话记住

一个对话 = 一个串行任务队列;多个对话 = 并行任务。想中途改需求用「引导」插队,比等它跑完再改更高效。

07·c第一次用 CLI 改代码(五步法)

在 CLI 里第一次让 Codex 改真实项目,关键是选"小、可验证、易回滚"的任务,先建立协作节奏。下面五步都配可直接复制的提示词。

适合 vs 暂时避开

✅ 适合第一个任务❌ 暂时避开
修复文案错别字大规模架构重构
给纯函数补测试跨多服务迁移
更新 README 过期命令无测试的核心业务逻辑
解释小模块并补注释涉及生产凭据 / 账单 / 权限 / 删数据
修复已有失败测试覆盖的 bug需同时改十几个文件的需求

第 1 步 · 只读建图

只读建图提示词复制
请先阅读这个仓库的目录结构、README、包管理器配置和测试配置。
不要修改文件。请总结:
1. 项目用途
2. 主要技术栈
3. 如何安装依赖和运行测试
4. 你建议我下一步交给你的 3 个低风险任务

第 2 步 · 给出小任务(代码类)

小任务提示词(代码)复制
请修复当前仓库中最小范围的一个测试失败。
要求:
1. 先运行测试,确认失败信息。
2. 阅读相关代码和测试,不做无关重构。
3. 修改最少必要文件。
4. 修复后重新运行相关测试。
5. 最后总结:失败原因、改了哪些文件、验证命令和剩余风险。
小任务提示词(文档)复制
请更新 [文档文件] 中关于 [主题] 的说明。
要求:
1. 先读取相关官方资料和现有文档结构。
2. 保持中文教程风格,避免整段翻译官方原文。
3. 涉及操作步骤时添加截图占位。
4. 修改后运行文档站构建。
5. 最后列出来源链接和需要人工补图的位置。

第 3 步 · 观察过程(看五件事)

它是否:① 先读上下文;② 控制范围;③ 解释命令;④ 运行验证;⑤ 说明风险。

第 4 步 · 检查 diff 并让它自查

终端复制
git diff
自查提示词复制
请 review 你刚才的改动,不要继续修改文件。
请重点检查:
1. 是否有无关改动
2. 是否遗漏测试
3. 是否引入安全或兼容风险
4. 是否还有未验证的地方

第 5 步 · 提交前摘要

提交前摘要提示词复制
请用提交前摘要格式输出:
- 改动目标
- 修改文件
- 验证命令
- 验证结果
- 剩余风险
- 建议 commit message

满意后再提交:

终端复制
git add .
git commit -m "fix: resolve failing test"

第一次失败怎么办

失败现象处理方式
改动太大让它停下,只保留最小修复思路
测试跑不起来先让它解释环境缺口和命令来源
方向不对回到只读分析,让它列出文件依据
输出太泛要求按文件、命令、风险分段输出
误改无关文件用 git diff 确认,再手动决定保留或丢弃
完成标准

很小的 diff + 可复现的验证命令 + 清楚的改动摘要 + 可复用的任务模板 + 对权限 / 审批的初步理解。

07·d常见卡点与排障三板斧

问题处理方式
找不到项目上下文不在项目根目录 / 缺 README·测试命令 / monorepo 没说明包边界 → 先只读目录总结结构;补 AGENTS.md;任务里指定相关目录
改动范围太大明确"只修改这些文件";要求"先输出计划,不要动手";拆更小步骤;review 时拒绝无关重构
测试跑不起来让它先定位测试命令;检查依赖是否安装;区分环境问题和代码问题
生成内容不准确要求引用依据文件;官方事实附链接;区分"已确认"与"推测";先读代码再写文档
登录或权限问题更新 CLI 到最新版;重新登录;检查账号计划和组织策略;查官方 Help Center
排障三板斧

90% 的「找不到上下文 / 改动太大 / 测试跑不起来」靠这套预防:① 更新 CLIcodex update);② 重新登录codex login);③ 补 AGENTS.md(写清命令、目录边界、风格、禁改项)。

高频问答 FAQ

Q1 · 登录卡在手机号验证,怎么办?

先别重装、也别急着买号。"卡在手机号"只是页面表现,背后可能是三层不同问题:

层级判断与处理
① 账号验证层手机 ChatGPT 能用、电脑却停在手机号页 → 先处理账号登录 / 验证,重装 Codex 通常无效
② 授权返回层浏览器已进入 ChatGPT,但授权没回到 Codex → 确认两端同一账号,只保留一条登录流程,别同时开多个登录窗口
③ API 调用层只想让本地工具 / 脚本调模型 → 才需要 API Key + 接口地址 + 模型名;API 按量计费,不能替你绕过账号验证

求助时直接说明三件事:你在手机还是电脑、当前停在哪个页面、最后想进 ChatGPT/Codex 还是让支持 API 的工具调模型——基本就能定位该走账号、授权还是 API 路线。

Q2 · Windows 上突然巨卡,怎么提速?

实测最常见的根因是 Windows 临时目录(%TEMP%)文件过多,叠加沙箱每次递归刷新 ACL,导致频繁超时重试。4 个有效手段:

  1. 给 Codex 单独设临时目录(在启动 Codex 的 PowerShell 窗口里设,关窗失效):New-Item -ItemType Directory -Force C:\CodexTemp | Out-Null$env:TEMP='C:\CodexTemp'; $env:TMP='C:\CodexTemp' → 在此窗口启动 codex
  2. 临时停用 Codex Micro 服务:无该硬件时它仍持续查询设备状态造成卡顿,查 Event ID 1000 / 异常码 0xc06d007f,让其尝试关闭 Gate 或升级版本;
  3. 删掉 Superpower 类过度封装:5.6 之后模型能力足够,过度设计反而冗余费时;小任务直接下达,大任务先用需求梳理工具理清;
  4. PowerShell 换成 PowerShell 7 并设 UTF-8:避免 Codex 与 Windows 默认 Shell 在换行符 / 字符集上反复"绊一下"。
注意

改配置前务必先备份;关 Sandbox 后不要随手开 --dangerously-bypass-approvals-and-sandbox

Q3 · 装 Codex 插件,会不会把公司数据全交出去?

结论:不会因为装一个 Plugin 就自动获得公司全部数据,但也不能写成"装了就绝对安全"。要把访问范围拆成四层看:

它决定什么
① Plugin 带了什么纯 Skill 的 Plugin 只改变流程;带 App / connector / MCP 的才可能连外部系统
② App 被允许做什么RBAC 决定谁能用、Action control 决定能执行哪些动作、是否要求确认
③ 你源系统账号原本能看什么批准 App 不会覆盖源系统原有权限;你看不到的文件不会因装 Plugin 而可见
④ 这次运行还受哪些限制sandbox / approval policy / 本地策略仍生效,约束本次文件读写、命令、网络
两个易漏点

① 卸载 Plugin 不会自动断开它包含的 connector,旧授权要在 ChatGPT 里单独撤销;② 连接公司账号前先确认连接的是哪个外部账号——公司账号与个人账号在源系统权限不同,Codex 最终能拿到的内容也不同。安全审核类问题更适合转给负责 App 授权 / 源系统权限的人。

安全提醒

向他人提交日志 / 截图 / 诊断输出前先脱敏:用户名、路径、私有仓库名、token、账号信息都不要外泄。切换第三方 provider 后旧会话可能不可见——先确认 ~/.codex/sessions 是否还有旧会话文件,再决定是否用第三方工具(用前先备份 ~/.codex)。

07·e提示词怎么写才高效(官方 6 技巧)

Codex 官方总结的提示词思路,核心是从"单次完美 Prompt"转向高频交互 + 结构化上下文。下面 6 条对新手尤其有用:

技巧做法为什么
① 提示词不必完美,随时 Steer先给一个明确的启动指令,执行中用实时转向补充边界条件Agent 开发是渐进式的,把它当同桌结对编程
② 复杂任务用 /goal 结构Goal(目标)/ Context(背景)/ Constraints(限制)/ Acceptance(验收)写清楚避免大模型偏题,约束复杂任务的逻辑
③ 修 Bug 给可执行复现步骤列出触发操作序列、预期 vs 实际、复现命令给能直接执行的排查路径,定位效率翻倍
④ 用文字补截图看不到的行为传图同时说明交互逻辑、异步加载、动画时序截图只展示静态样式,展示不了动态
⑤ 用"应用快照"提供结构化上下文把 DOM / 状态树 / 环境变量一次性喂给 Codex防止 AI 因盲猜全局上下文而幻觉
⑥ 合并后桌面端原生支持语音输入大段背景铺垫直接开麦长语音口语化表达比打字罗列更高效
落地建议

把 ② 的 /goal 结构用到需求拆解(第一步)里;把 ③ 用到修 Bug 模板里。其余几条作为日常习惯,能明显减少"它改偏了"的情况。