Skip to content

OpenAI Codex 使用指南:从安装到项目实战的完整教程

更新日期:2026 年 8 月 4 日。 本文面向第一次接触 AI 编程代理的开发者,也适合已经会使用 ChatGPT、希望进一步自动化开发流程的用户。

过去的 AI 编程工具主要负责“补全下一行代码”,而 OpenAI Codex 更像一位能够进入项目、阅读文件、执行命令、修改代码并验证结果的协作开发者。你可以让它解释陌生仓库、修复 Bug、添加功能、补充测试、审查改动,甚至处理一套由多个步骤组成的开发任务。

不过,Codex 并不是“一句话生成整个项目”的魔法按钮。真正高效的使用方式,是给它清晰的目标、足够的上下文、明确的验收标准,并在关键操作上保留人工判断。本文将从安装开始,逐步讲清楚 Codex 的工作方式和实战技巧。


一、Codex 是什么?

Codex 是 OpenAI 推出的 AI 编程代理。它不仅能回答代码问题,还能围绕一个真实代码仓库执行完整工作流:

  1. 浏览目录并理解项目结构;
  2. 搜索相关代码和配置;
  3. 制定修改方案;
  4. 编辑一个或多个文件;
  5. 运行测试、构建或静态检查;
  6. 根据执行结果继续修正;
  7. 总结完成内容和剩余风险。

这与普通聊天机器人的最大区别在于:普通聊天通常只“告诉你怎么做”,Codex 可以在授权范围内“直接帮你做”。

Codex 适合完成哪些任务?

  • 阅读并解释陌生项目;
  • 定位错误日志对应的代码;
  • 修复 Bug、补充边界条件;
  • 创建页面、接口或组件;
  • 编写单元测试和集成测试;
  • 重构重复代码;
  • 执行代码审查;
  • 更新 README、接口文档和变更说明;
  • 批量处理规则明确的机械修改。

哪些任务不应完全交给 Codex?

  • 没有人工复核的生产数据库操作;
  • 涉及密钥、支付和敏感用户数据的高风险操作;
  • 需求本身尚未确定的重大架构改造;
  • 没有测试或验收标准的全项目重写;
  • 需要承担法律、医疗或财务责任的最终判断。

二、选择适合自己的 Codex 使用方式

Codex 可以通过不同界面参与开发。它们的底层思路相似,但使用场景不同。

使用方式适合人群典型场景
Codex CLI熟悉终端的开发者在本地仓库中分析、修改、测试和自动化
IDE 扩展日常使用编辑器的开发者结合当前文件和选中代码快速协作
Codex 桌面端希望集中管理任务的用户多任务协作、查看改动、运行开发工作流
云端任务需要异步或并行处理的人将相对独立的开发任务交给云端环境

新手可以从 IDE 或桌面端开始;如果你经常使用终端、需要脚本化处理或希望精确控制工作目录,Codex CLI 通常最灵活。


三、安装和登录 Codex CLI

3.1 安装前准备

使用 npm 安装时,需要先准备较新的 Node.js 和 npm。可以在终端检查:

bash
node -v
npm -v

然后安装 Codex CLI:

bash
npm install -g @openai/codex

安装完成后验证:

bash
codex --version

Codex 更新较快,建议以 OpenAI Codex 官方文档 中的最新安装说明为准。如果已经安装,也可以查看当前版本支持的功能:

bash
codex --help

3.2 登录

执行:

bash
codex login

然后按照终端提示完成认证。登录后可以检查状态:

bash
codex login status

不同账号、组织和部署环境的可用模型、额度及功能可能不同,不建议在教程中写死套餐限制。以登录后界面和官方说明为准。

3.3 在项目中启动

先进入 Git 项目根目录,再启动 Codex:

bash
cd /path/to/your-project
codex

也可以直接指定工作目录:

bash
codex -C /path/to/your-project

第一次使用时,建议从只读分析开始:

text
请先阅读这个项目,不要修改文件。告诉我:
1. 使用了哪些技术栈;
2. 应用从哪里启动;
3. 核心模块如何协作;
4. 本地开发和测试命令是什么;
5. 目前最值得关注的三个风险。

这一步能帮助你判断 Codex 是否正确理解了仓库,也能避免在上下文不足时过早修改代码。


四、Codex 的一次标准工作流

一个可靠的 Codex 任务,通常包含“理解—计划—修改—验证—总结”五个阶段。

第一步:描述目标,而不只是描述动作

不够理想的提示词:

text
改一下登录页面。

更有效的提示词:

text
修复登录页面在手机端按钮超出屏幕的问题。
要求:
- 保持桌面端布局不变;
- 兼容 375px 宽度;
- 不引入新的 UI 依赖;
- 修改后运行现有前端测试和构建;
- 最后说明改了哪些文件。

后一个提示词同时给出了目标、边界和验收方式,Codex 更容易一次完成。

第二步:让 Codex 先找证据

遇到 Bug 时,不要急着让它“直接修复”,可以先要求定位原因:

text
这是报错信息:[粘贴错误日志]
请先定位根因并指出相关文件,不要修改代码。
列出你排除过的可能原因,以及建议的最小修复方案。

确认分析合理后,再继续:

text
按最小修复方案实施,并补充一个能复现该问题的测试。

第三步:控制修改范围

Codex 能修改多个文件,但修改范围越大,审查成本越高。建议明确写出:

  • 可以修改哪些目录;
  • 哪些公共接口必须保持兼容;
  • 是否允许增加依赖;
  • 是否允许修改数据库结构;
  • 是否需要保留旧行为。

示例:

text
仅修改 src/auth 和 tests/auth,不要改数据库 schema,不要新增依赖。
现有公开函数签名必须保持兼容。

第四步:要求验证,而不是只看代码

代码“看起来正确”不等于真的可用。应要求 Codex 执行项目已有的检查:

text
完成修改后,请依次运行:
1. 单元测试;
2. 类型检查;
3. lint;
4. 生产构建。
如果某一步失败,请先判断是否由本次改动导致,再继续修复。

如果项目测试非常慢,可以指定最小验证集,最后再运行完整检查。

第五步:审查最终差异

任务完成后,重点检查:

  • 是否只改了需要修改的文件;
  • 是否出现无关格式化;
  • 是否意外删除原有逻辑;
  • 测试是否真正覆盖问题;
  • 是否引入新依赖或配置;
  • 是否存在未验证的假设。

你还可以开启一个新的上下文,让 Codex 以审查者身份重新检查:

bash
codex review

独立审查通常比让同一轮对话“检查自己”更容易发现问题。


五、6 个常用实战场景

场景 1:快速读懂陌生项目

text
请分析这个仓库,输出一份新成员上手指南,包括:
- 目录结构;
- 核心数据流;
- 主要模块及依赖关系;
- 本地启动步骤;
- 测试策略;
- 新增一个 API 通常需要修改哪些文件。
只读取文件,不要修改。

场景 2:根据错误日志修复 Bug

text
运行与这个报错相关的最小测试,定位根因后实施最小修复。
不要通过删除测试、捕获并忽略异常或写死返回值来绕过问题。
修复后添加回归测试,并汇报验证结果。

场景 3:实现一个新功能

text
为用户列表增加按邮箱搜索功能。
验收标准:
- 支持部分匹配;
- 搜索不区分大小写;
- 空关键词返回默认列表;
- 保持现有分页行为;
- 添加接口测试;
- 不新增第三方依赖。
先给出简短计划,再开始修改。

场景 4:补测试

text
检查 src/payment/calculate.ts 的现有测试覆盖。
重点补充边界条件、异常输入和金额精度测试。
不要为了让测试通过而修改业务逻辑;如果发现业务 Bug,先说明再处理。

场景 5:安全重构

text
重构重复的权限判断逻辑,目标是减少重复代码,但保持外部行为不变。
先找出现有调用点和测试,再提出最小重构方案。
每完成一个阶段都运行相关测试,避免一次性大改。

场景 6:生成结构化结果

Codex CLI 的非交互模式适合脚本和 CI:

bash
codex exec "检查当前仓库中可能泄露密钥的代码,并给出按风险排序的报告,不要修改文件"

如果后续程序需要消费结果,可结合 --json--output-schema 输出机器可读内容。使用前先运行 codex exec --help,确认当前版本的参数。


六、用 AGENTS.md 固化项目规则

如果每次都要重复告诉 Codex“测试命令是什么”“禁止修改什么”,可以在仓库中添加 AGENTS.md。它适合记录长期有效的协作约定,例如:

markdown
# AGENTS.md

## 项目约定
- 使用 TypeScript,禁止新增 JavaScript 文件。
- 新功能必须补充测试。
- 不要修改 generated/ 目录中的生成文件。

## 常用命令
- 安装依赖:npm ci
- 单元测试:npm test
- 类型检查:npm run typecheck
- 生产构建:npm run build

## 提交前检查
- 保持公开 API 向后兼容。
- 不提交密钥、构建产物和本地配置。
- 汇报未运行的检查及原因。

好的 AGENTS.md 应该简短、具体、可执行。不要把整份架构文档全部塞进去;更适合写命令、约束、目录规则和验收要求。


七、权限、沙箱与安全

Codex 可以执行终端命令和编辑文件,因此权限设置非常重要。常见沙箱模式包括:

  • read-only:只读,适合代码分析和审查;
  • workspace-write:可修改当前工作区,适合大多数开发任务;
  • danger-full-access:访问范围很大,风险最高,不应作为日常默认值。

启动时可以指定沙箱模式:

bash
codex --sandbox read-only
codex --sandbox workspace-write

审批策略决定 Codex 何时需要请求确认。日常使用中,建议保留审批和沙箱,不要为了少点一次确认就使用绕过安全限制的危险参数。

安全使用原则

  1. 先读后写:陌生仓库先分析,再授权修改;
  2. 最小权限:只开放任务需要的目录和命令;
  3. 保护密钥:不要在提示词中粘贴 API Key、密码或生产凭证;
  4. 谨慎联网:安装依赖和访问外部服务前确认来源;
  5. 警惕破坏性命令:删除、重置、覆盖和数据库迁移必须人工确认;
  6. 始终查看 diff:不要未经审查直接提交或发布;
  7. 重要任务要测试:构建成功不能代替业务测试。

八、如何写出高质量 Codex 提示词?

一个实用的 Codex 提示词,可以使用下面的五段式结构:

text
【目标】要解决什么问题
【上下文】相关页面、模块、错误日志或业务背景
【范围】允许和禁止修改什么
【验收】什么结果才算完成
【验证】需要运行哪些测试或检查

完整示例:

text
【目标】修复商品详情页重复请求库存接口的问题。
【上下文】用户切换规格时偶尔会发送两次相同请求,怀疑与组件重复渲染有关。
【范围】仅修改商品详情页及相关 hooks,不更改后端接口,不新增依赖。
【验收】同一规格在状态未变化时只请求一次;快速切换规格时展示最后一次请求的结果。
【验证】补充回归测试,运行前端单测、类型检查和构建。最后说明根因、改动和测试结果。

此外,还有三条非常有效的原则:

  • 告诉 Codex 为什么 要改,避免它只处理表面现象;
  • 提供可验证的完成条件,避免“优化一下”这类模糊要求;
  • 让它主动报告不确定性,不要默默猜测业务规则。

九、常见问题与解决方法

1. Codex 一上来就修改了太多文件

在提示词中加入“先分析,不要修改”“优先最小改动”“限制到指定目录”,并使用只读沙箱完成第一轮分析。

2. Codex 修改后测试仍然失败

让它区分:失败是否由本次改动引起、失败是否在修改前就存在、运行环境是否缺少依赖。不要允许它通过删除测试或降低断言标准来制造“通过”。

3. Codex 总是误解业务需求

补充真实输入输出示例、异常情况和验收标准。业务规则越隐含,模型越容易做出看似合理但错误的假设。

4. 上下文太长,任务开始跑偏

把大任务拆成可独立验证的小阶段。一个阶段完成后总结状态,再开启新任务处理下一阶段。需要继续之前的会话时,可使用:

bash
codex resume

5. 如何判断 Codex 的代码能不能上线?

至少满足四个条件:人工审查通过、自动化测试通过、关键业务场景手动验证通过、发布和回滚方案明确。Codex 可以提高实现速度,但不能替代工程责任。


十、结语:把 Codex 当作协作开发者

使用 Codex 的关键,不是寻找一句“万能提示词”,而是建立一套稳定的协作流程:先让它理解项目,再给出边界清晰的任务;让它用测试证明结果;最后由人审查差异并承担决策责任。

对于简单任务,Codex 可以直接节省大量机械劳动;对于复杂任务,它更适合作为调查员、实现者和审查助手。只要目标明确、权限合理、验证充分,Codex 就能从“代码生成工具”升级为真正融入开发流程的 AI 编程伙伴。

官方参考

免责声明:本网站与 OpenAI 官方并无任何关联,不代表 OpenAI 官方立场。我们仅为用户提供 ChatGPT 相关的中文使用指南和资讯。