技术 · 2026年8月27日 12:38:16

Codex 实战手册:从第一次使用到独立完成项目

一份面向程序员的 Codex 实战教程:如何让 AI 读懂项目、稳定改代码、验证结果,并把一次性对话变成可复用的工程工作流。

#Codex#AI#软件工程#效率

很多人第一次使用 Codex,会把它当成一个更强的代码补全工具:输入一句话,让它生成一段代码;遇到报错,再让它修一下。

这种用法当然有价值,但很难稳定完成真实项目。真实项目通常不是“写一个函数”这么简单,而是要先找到正确的仓库,理解已有代码,遵守项目约束,处理历史兼容,运行测试,检查页面,最后把结果发布出去。

这篇文章给出一套更完整的使用方法。目标不是让 Codex 偶尔帮你省几分钟,而是让它成为一个可以被管理、被验证、被复用的工程协作伙伴。

一、先理解 Codex 的工作边界

Codex 可以帮助你:

  • 阅读和解释代码
  • 搜索项目中的相关实现
  • 制定修改计划
  • 编辑多个文件
  • 执行命令和测试
  • 调试错误
  • 做重构和迁移
  • 检查代码差异
  • 处理文档和发布流程

但它不会自动知道你的业务目标、历史约束和风险边界。

因此,最可靠的协作方式不是“让它自由发挥”,而是给它足够上下文,并明确验收标准。

官方的 Codex Best Practices 也把 Prompt、Plan、验证、MCP、Skills 和自动化视为一套完整工作习惯,而不是孤立的提问技巧。

二、第一次打开项目,先做项目体检

不要刚打开仓库就直接说“帮我开发一个功能”。先让 Codex 做一次只读检查:

请先不要修改任何文件,完成一次项目体检:

1. 说明项目使用的语言、框架和包管理器
2. 找出应用入口、主要模块和测试目录
3. 找出构建、测试、格式化和部署命令
4. 检查是否存在 AGENTS.md、README 或其他项目规则
5. 列出与当前任务最相关的文件
6. 标记你不确定的地方

最后输出:
- 项目结构摘要
- 当前任务可能涉及的文件
- 建议的实现步骤
- 需要我确认的问题

这一步可以避免三个常见错误:找错项目、漏掉已有约束、在不了解上下文的情况下直接改代码。

三、用 AGENTS.md 固定项目规则

如果每次都重复告诉 Codex “先跑什么命令”“哪些目录不能改”“提交前要检查什么”,效率会越来越低。

可以在项目根目录创建 AGENTS.md,写入长期有效的规则:

# 项目协作规则

## 修改前

- 先阅读 README 和相关目录下的 AGENTS.md
- 先检查当前 git 状态
- 不要修改与任务无关的文件

## 验证要求

- 修改代码后运行:npm run build
- 修改样式后必须在浏览器中检查实际页面
- 修改文章或资源后检查链接和文件是否存在
- 汇报时区分“已验证”和“推测”

## Git 要求

- 提交信息使用中文
- 提交前检查 git diff
- 不使用强制推送
- 不提交密钥、Token 和本地配置

规则文件应该保持小而明确。不要把所有想法都塞进去,否则真正重要的规则反而会被淹没。

四、把模糊需求改写成可验收任务

不推荐这样说:

帮我把首页优化得高级一点。

推荐改成:

目标:降低首页的模板感,让内容层次更清晰。

允许修改:
- 首页布局
- 颜色、间距、字体层级
- 文章卡片样式

必须保持:
- 所有文章标题和链接不变
- 不删除现有分类和标签
- 不影响移动端布局

验收标准:
1. 本地构建成功
2. 桌面端和移动端都能正常显示
3. 首页首屏能看出网站主题和最新内容
4. 没有新增控制台错误
5. 汇报具体改了哪些文件以及如何验证

开始前先检查现有页面和样式,不要直接修改。

需求越具体,Codex 越容易做出可控结果。审美要求也应该尽量转成可观察的描述,比如“减少卡片边框”“增加留白”“降低颜色数量”“突出标题层级”,而不是只说“高级一点”。

五、推荐的五步工作流

第一步:观察

让 Codex 阅读相关文件、目录结构和现有实现,不要急着改。

第二步:计划

要求它给出最小修改方案,并列出可能影响的地方。

第三步:执行

一次只解决一个明确目标,避免同时进行无关重构。

第四步:验证

至少执行构建或测试;涉及页面时,还要实际打开浏览器检查;涉及资源时,要检查真实链接。

第五步:复盘

让 Codex 汇报:

  • 修改了哪些文件
  • 哪些检查已经通过
  • 哪些地方仍然不确定
  • 有没有发现相关但未处理的问题

可以把这套流程直接写成任务模板:

请按以下流程完成任务:

1. 先阅读相关代码并总结现状
2. 列出最小修改计划
3. 等计划清晰后再执行修改
4. 运行必要的构建、测试或检查
5. 检查是否有同类问题
6. 汇报修改内容、验证结果和遗留风险

六、代码任务的实用 Prompt

新增功能

请为当前项目实现:______。

先完成:
1. 找出相似功能
2. 说明当前架构和数据流
3. 给出最小实现方案

限制:
- 不引入新的依赖
- 不修改无关模块
- 保持现有代码风格

验收:
- 正常场景可用
- 异常场景有处理
- 相关测试通过
- 输出最终 diff 摘要

排查 Bug

现象:______。
复现步骤:______。
预期结果:______。
实际结果:______。

请先不要直接修改:
1. 阅读相关代码和调用链
2. 给出三个可能原因
3. 用日志、测试或最小复现逐个排除
4. 找到根因后再给出最小修复
5. 补充回归验证

迁移旧内容

请迁移这批旧文章和资源。

必须保持:
- 标题和正文原意不变
- 图片和 PDF 不丢失
- 原有分类和标签尽量保留
- 历史 URL 要有兼容方案

禁止:
- 根据标题自行补写正文
- 用占位图片替换真实图片
- 遇到不确定内容时直接猜测

完成后检查:
1. 文章数量
2. 资源数量
3. 图片和 PDF 链接
4. 分类和标签
5. 旧 URL 和新 URL

七、验证比生成更重要

每次任务至少检查以下项目:

  • 构建是否成功
  • 测试是否通过
  • 是否出现 TypeScript、Lint 或控制台错误
  • 是否修改了无关文件
  • 是否破坏已有链接
  • 是否漏掉图片、PDF 或字体资源
  • 移动端是否正常
  • 线上部署是否真的完成

如果是网页任务,最好让 Codex 本地运行项目,然后用浏览器实际检查,而不是只看代码。页面布局、字体比例、滚动行为和浏览器缓存,往往只有在真实页面中才能发现。

如果是内容迁移,必须把“内容准确”列为验收条件。AI 生成的文字很流畅,但流畅不等于真实。

八、Git 和发布流程

一个简单可靠的发布流程是:

git status --short --branch
git diff --stat
git diff --check
npm run build
git add -- <实际修改的文件>
git diff --cached --check
git commit -m "feat【无平台】描述本次变更"
git pull --rebase --autostash
git push

每次只提交当前任务相关文件,不要习惯性使用 git add .。

发布完成后,还要检查:

  • GitHub Actions 是否成功
  • 页面是否返回 200
  • 新页面内容是否正确
  • 旧页面是否仍然可访问
  • 图片和 PDF 是否能打开

“代码已经提交”与“线上已经生效”是两个不同的状态。

九、什么时候应该让 Codex 停下来问你

以下情况不要让 AI 自行决定:

  • 要删除数据或文章
  • 要修改公开页面
  • 要改变权限或安全配置
  • 要引入高风险依赖
  • 要改变数据库结构
  • 需求存在多种完全不同的解释
  • 可能泄露隐私或密钥

好的 Agent 不是永远不提问,而是在真正影响结果的地方提问,并且先把已经查到的事实和可选方案整理清楚。

十、从“会用 Codex”到“拥有自己的 Agent 工作流”

可以按三个阶段提升:

阶段一:个人效率

掌握任务模板、代码解释、Bug 排查、测试和 Git 操作。

阶段二:项目效率

建立 AGENTS.md、自动化脚本、Skills、检查清单和统一发布流程。

阶段三:团队效率

把稳定的工作流交给团队复用,让 Agent 读取团队知识、调用内部工具,并且在明确权限和审批边界内执行。

官方文档提供了 Skills、CLI、IDE、MCP 和云端任务等扩展方向,可以按自己的工作场景逐步增加,而不是一次性把所有能力都装上。

结语

Codex 最适合做的,不是替你思考所有事情,而是把已经明确的目标变成一连串可执行、可验证的动作。

真正高效的使用方式可以浓缩成一句话:

先给上下文,再给边界;先让它验证,再让它修改;先确认结果,再谈完成。

当你能把项目规则、任务目标、验收标准和发布流程组织起来时,Codex 才不只是一个聊天窗口,而会变成你自己的工程生产系统。

说明:本文由 Codex 协助整理,内容结合官方 OpenAI 文档和实际项目工作流编写,并经过人工校正。

参考资料: