很多人第一次接触 Codex,都会遇到一个问题:
Codex 到底应该在哪里用?
打开 OpenAI 的官方介绍,你会发现 Codex 至少有 4 个常见入口:
- Codex App
- Codex CLI
- Codex IDE 扩展
- Codex Web
看起来像是 4 个不同的产品。
有人在终端里运行 codex,有人在 VS Code 侧边栏里使用,还有人直接在网页上把 GitHub 仓库交给 Codex。最近桌面端又把多个 Agent、Worktree、Skills 和自动化任务放到了一起。
于是很多人会产生一种感觉:
功能看起来都差不多,我到底应该安装哪一个?
实际上,这 4 个入口背后使用的是同一套 Codex Agent 能力,但它们面对的工作场景完全不同。

简单来说:
IDE 适合边写边改,CLI 适合终端开发和自动化,App 适合管理多个项目和 Agent,Web 适合把完整任务交给云端执行。
这篇文章就把 Codex App、CLI、IDE 和 Web 的区别、安装方式、运行环境、适用场景和组合工作流一次讲清楚。
一、先说明一个最新变化:Codex App 已经并入 ChatGPT 桌面端
很多教程里仍然把它称为"Codex App",这是因为 OpenAI 在 2026 年 2 月最初发布的是独立 Codex 桌面应用。
不过截至 2026 年 7 月,原来的 Codex App 已逐步升级为新版 ChatGPT 桌面端。新版桌面应用同时包含:
- Chat
- Work
- Codex
Codex 仍然保留独立界面、独立历史记录和原来的开发工作流,只是应用名称和入口被整合到了 ChatGPT 桌面端。
所以本文继续使用大家更熟悉的"Codex App"这个叫法,但它现在更准确的名字应该是:
ChatGPT 桌面端中的 Codex 模式。
原有 Codex 项目和对话在升级后会继续保留,macOS 和 Windows 都可以使用。
二、Codex 的 4 个入口,本质区别是什么?
这 4 个入口最大的区别,不是"哪个模型更聪明",而是以下几个方面:
- Codex 在哪里运行
- Codex 能看到哪些上下文
- 代码是在本机还是云端修改
- 你是实时协作,还是把任务完整委托出去
- 是否适合多个任务并行执行
- 是否适合脚本和 CI/CD 自动化
先看一张整体对比表。
| 入口 | 主要运行位置 | 最适合的任务 | 交互方式 | 主要优势 |
|---|---|---|---|---|
| Codex App | 本地桌面端,可结合云端任务 | 多项目、多 Agent、长任务 | 项目和任务工作台 | 并行管理能力强 |
| Codex CLI | 本地终端 | 后端开发、调试、脚本、CI | 命令行对话 | 与终端工作流结合最紧密 |
| Codex IDE | VS Code、Cursor 等编辑器 | 日常编码、局部修改、代码理解 | 编辑器侧边栏 | 当前代码上下文最直接 |
| Codex Web | OpenAI 云端环境 | Issue、重构、PR、后台任务 | 浏览器任务界面 | 不占用本地电脑,可并行执行 |
需要注意的是,这 4 个入口并不是完全隔离的。
例如:
- IDE 可以把较大的任务转交给 Codex Web;
- CLI 可以创建和查看云端任务;
- App 可以打开编辑器继续手动修改;
- Web 完成任务后可以生成 Pull Request;
- App、CLI 和 IDE 可以共享部分配置、Skills 和项目指令。
因此,Codex 的正确使用方式通常不是"四选一",而是根据任务在几个入口之间切换。
三、Codex App:多个项目和 Agent 的控制中心
1. Codex App 是什么?
Codex App 更像一个面向 AI Agent 的开发工作台。
传统 IDE 的核心是代码文件和编辑器,而 Codex App 的核心是:
- 项目
- 任务
- Agent
- 执行过程
- Diff
- Worktree
- Skills
- Automations
你可以在一个界面中打开多个项目,再为每个项目创建多个独立任务。
例如:
- Agent 1 负责修改登录接口;
- Agent 2 负责补充单元测试;
- Agent 3 负责检查数据库迁移脚本;
- Agent 4 负责整理 API 文档。
这些任务可以同时推进,而不需要你打开四个终端窗口。
OpenAI 将 Codex App 定位为一个多 Agent 的"命令中心"。任务按照项目和独立线程组织,你可以在不同任务之间切换,查看代码变化、评论 Diff,或者将结果打开到编辑器中继续修改。
2. 为什么 Codex App 适合并行任务?
如果多个 Agent 同时修改一个 Git 仓库,最容易出现的问题就是代码冲突。
Codex App 内置了对 Git Worktree 的支持。
Worktree 可以理解为:
同一个 Git 仓库,同时创建多个互相隔离的工作目录。
例如你的主项目是:
text
my-project/
Codex 可以为不同任务建立独立工作区:
text
my-project-auth/
my-project-payment/
my-project-tests/
每个 Agent 在自己的隔离副本中修改代码,不会直接污染你当前正在使用的 Git 工作区。
你可以先让多个 Agent 分别尝试不同实现,再决定保留哪一个结果。
这种方式特别适合:
- 大型重构;
- 同时开发多个功能;
- 尝试多种技术方案;
- 多个 Agent 并行排查问题;
- 一个 Agent 开发、另一个 Agent 审查。
Codex App 可以让多个 Agent 在同一仓库的隔离副本中工作,并允许开发者随后查看或签出这些修改。
3. Codex App 的典型工作方式
假设你正在开发一个 Go 后端项目,可以在 App 中建立几个任务:
任务一:分析项目
text
阅读整个项目,重点分析用户登录、JWT 鉴权和权限校验流程。
先不要修改代码。
输出:
1. 请求入口
2. 中间件调用链
3. Token 生成和校验位置
4. 可能存在的安全问题
任务二:开发功能
text
为订单模块增加批量导出 CSV 功能。
要求:
1. 使用现有权限中间件
2. 最多导出 10 万条
3. 使用流式响应,避免一次加载全部数据
4. 添加单元测试
5. 不修改现有接口行为
任务三:代码审查
text
审查当前分支相对于 main 的全部改动。
重点检查:
1. 数据库事务
2. 并发安全
3. 错误处理
4. SQL 性能
5. 是否存在接口兼容性问题
不要直接修改代码,先输出问题列表。
这三个任务可以并行执行。
你不需要等待"分析项目"完成后,才能启动"代码审查"。
4. Skills:让 Codex 学会固定工作流程
Codex App 还可以创建和管理 Skills。
Skill 不是单纯的一段提示词,而是一套可以重复使用的工作流程,里面可以包含:
- 任务说明;
- 项目规范;
- 参考资料;
- 脚本;
- 工具调用方式;
- 输出格式;
- 验收标准。
例如可以建立一个 go-api-review Skill:
text
每次审查 Go API 时执行以下步骤:
1. 检查参数绑定与校验
2. 检查鉴权和越权风险
3. 检查数据库事务
4. 检查错误码是否统一
5. 检查日志中是否输出敏感信息
6. 运行 go test ./...
7. 运行 golangci-lint
8. 输出按严重程度排序的问题
以后只需要告诉 Codex:
text
使用 go-api-review Skill 审查当前分支。
创建的 Skill 还可以在 Codex App、CLI 和 IDE 扩展中复用,也可以放进代码仓库供团队成员共同使用。
5. Automations:定时让 Codex 执行任务
Codex App 还支持自动化任务。
你可以为 Codex 设置固定指令和执行周期,例如:
text
每天上午检查昨天失败的 CI 任务。
要求:
1. 按仓库分类
2. 分析失败原因
3. 区分代码问题和环境问题
4. 给出修复建议
5. 不要自动合并代码
适合自动化的任务包括:
- 每日 Issue 分类;
- CI 失败汇总;
- 依赖更新检查;
- 每周代码质量报告;
- Release Note 整理;
- 重复 Bug 排查;
- 定期安全扫描。
自动化任务完成后,结果会进入待审查队列,而不是直接无条件发布或合并。
6. Codex App 适合谁?
Codex App 最适合以下人群:
- 同时维护多个项目的开发者;
- 独立开发者;
- 技术负责人;
- 需要同时运行多个 Agent 的用户;
- 需要处理长任务的人;
- 希望集中查看任务进度和 Diff 的人。
它不一定是"写一行代码最快"的入口,但它是目前最适合管理复杂 Agent 工作流的入口。
四、Codex CLI:终端用户最直接的选择
1. Codex CLI 是什么?
Codex CLI 是运行在终端里的 AI 编程 Agent。
它可以在当前项目目录中:
- 读取代码;
- 搜索文件;
- 修改代码;
- 执行 Shell 命令;
- 运行测试;
- 运行构建;
- 查看 Git Diff;
- 审查代码;
- 调用 MCP 工具;
- 执行非交互式自动化任务。
它最大的优势是:
Codex 和你原本的终端开发环境在同一个地方。
对于后端开发、服务器开发、远程开发和运维场景来说,CLI 往往比图形界面更自然。
2. 安装 Codex CLI
在 macOS 或 Linux 中,可以使用官方安装脚本:
bash
curl -fsSL https://chatgpt.com/codex/install.sh | sh
安装完成后,进入项目目录:
bash
cd ~/code/my-project
codex
第一次运行时,根据提示登录 ChatGPT 账号。
进入 Codex 后,就可以直接描述任务:
text
分析这个项目的目录结构,并告诉我如何启动。
官方建议在任务开始前后保留 Git 检查点,方便出现问题时回滚。
3. CLI 常用命令
Codex CLI 提供了一些非常实用的斜杠命令。
/init
为当前项目创建 AGENTS.md:
text
/init
AGENTS.md 可以理解为 Codex 的项目说明书。

里面可以写:
markdown
# 项目说明
## 技术栈
- Go 1.24
- Gin
- GORM
- MySQL
- Redis
## 开发规范
- 新接口必须添加参数校验
- 数据库操作必须传递 context
- 禁止在 Handler 中直接编写复杂 SQL
- 错误统一使用 internal/errors
- 修改后必须运行 go test ./...
## 禁止操作
- 不要修改数据库生产配置
- 不要删除已有 migration
- 不要自动执行 git push
以后 Codex 每次处理这个项目,都可以读取这些规则。
/status
查看当前会话状态:
text
/status
通常用于检查:
- 当前目录;
- 当前模型;
- 权限模式;
- 沙箱状态;
- 上下文使用情况。
/permissions
设置 Codex 可以执行哪些操作:
text
/permissions
你可以控制 Codex:
- 是否允许修改文件;
- 是否允许执行命令;
- 哪些命令必须询问;
- 哪些目录可以写入;
- 是否允许访问网络。
不要为了省一次确认,就直接把所有权限全部放开。
对于陌生仓库,建议先采用较保守的权限模式。
/model
切换模型和推理强度:
text
/model
需要注意的是,Codex 默认使用的具体模型可能随着客户端版本、账号计划和配置变化,不建议在教程里长期写死某个默认模型。OpenAI 官方也明确说明,CLI 和 IDE 的默认模型会随版本与配置变化。
/review
审查当前代码变化:
text
/review
可以让 Codex 检查:
- 未提交修改;
- 某个 Commit;
- 当前分支与主分支的差异;
- 自定义范围的代码。
代码审查模式通常只输出问题,不直接修改工作区,适合提交代码之前再检查一次。
4. CLI 最大优势:能够直接使用本地工具链
例如你的项目依赖:
- Go;
- Node.js;
- Docker;
- Make;
- MySQL 客户端;
- kubectl;
- 自定义脚本;
- 内部命令行工具。
只要这些工具已经安装在你的本地环境中,Codex 就可以在授权范围内调用它们。
例如:
text
先阅读 Makefile。
然后:
1. 启动测试依赖
2. 执行单元测试
3. 找出失败用例
4. 修复问题
5. 重新运行测试
不要修改与失败用例无关的文件。
Codex 可以执行类似:
bash
make test-env
go test ./...
发现错误后再继续修改。
这种"读取代码---执行命令---观察结果---继续修改"的闭环,是 CLI 最有价值的地方。
5. codex exec:把 Codex 放进脚本和 CI
CLI 不只能进行交互式对话,还可以通过 codex exec 执行非交互任务。
例如:
bash
codex exec "检查当前代码变化,输出可能存在的并发安全问题"
它适合放进:
- Shell 脚本;
- Git Hook;
- GitHub Actions;
- GitLab CI;
- Jenkins;
- 定时任务;
- 内部研发平台。
例如在 CI 中进行辅助审查:
bash
codex exec "
审查当前分支相对于 main 的改动。
只检查:
1. 空指针风险
2. SQL 注入
3. 越权问题
4. 资源泄漏
将结果保存为 codex-review.md。
"
Codex CLI 官方支持交互式使用,也支持通过 codex exec 进入可重复执行的脚本和流水线。
6. CLI 适合谁?
Codex CLI 更适合:
- 后端开发;
- Go、Python、Node.js 开发者;
- 运维和 DevOps;
- 经常使用 SSH 的开发者;
- 习惯终端操作的人;
- 需要接入 CI/CD 的团队;
- 想把 AI 编程能力脚本化的人。
它的缺点也比较明显:
- 不如 IDE 直观;
- 不适合频繁点击查看代码;
- 同时管理大量任务时不如 App;
- 新手可能不熟悉终端权限和 Git 回滚。
五、Codex IDE:最适合日常写代码
1. Codex IDE 是什么?
Codex IDE 是集成在代码编辑器中的 Codex 入口。
它支持 VS Code 及兼容编辑器,例如:
- Visual Studio Code;
- Cursor;
- Windsurf;
- VS Code Insiders。
此外,Xcode 和 JetBrains IDE 也提供各自的 Codex 集成方式。 S Code、Cursor 或 Windsurf 中安装后,可以点击 Codex 图标打开侧边栏。
找不到图标时,可以打开命令面板并执行:
text
Codex: Open Codex Sidebar
2. IDE 最大优势:上下文就在编辑器里
使用普通聊天工具时,你经常需要这样描述问题:
text
我有一个 retry.ts 文件,里面有一个 retryOperation 方法......
但在 IDE 中,你可以直接选中代码,然后告诉 Codex:
text
解释这段重试逻辑,看看最大重试次数是否存在边界问题。
Codex 可以直接使用:
- 当前打开的文件;
- 选中的代码;
- 当前项目;
- 最近的对话;
- 编辑器中的错误信息;
- 当前代码修改。
因此 IDE 特别适合局部、连续、需要频繁确认的开发工作。
OpenAI 将 IDE 扩展定位为"使用编辑器中已经存在的上下文",开发者可以把打开的文件、代码选区和最近会话直接加入提示,并在代码旁边查看修改。
3. IDE 适合处理什么任务?
解释当前代码
text
解释当前文件的处理流程。
重点告诉我:
1. 输入从哪里进入
2. 哪些地方访问了数据库
3. 错误是如何返回的
4. 哪些代码值得重构
修改选中的方法
text
重构选中的方法,减少重复判断。
要求:
- 不改变公开接口
- 不增加第三方依赖
- 保留现有错误码
根据错误信息修复 Bug
text
结合当前打开的代码和终端错误,分析测试失败原因。
先说明原因,再修改代码。
补充测试
text
为当前方法补充表驱动测试。
至少覆盖:
- 正常输入
- 空输入
- 非法状态
- 数据库异常
局部代码审查
text
审查当前文件。
重点检查:
- 并发安全
- 错误处理
- context 传递
- 数据库查询次数
4. IDE 不是只能做小任务
当任务变大以后,可以从 IDE 将工作转交给 Codex Web。
例如,你最开始只是让 Codex 修改一个方法:
text
给订单查询增加状态筛选。
后来发现整个订单模块都需要重构,这时可以把任务委托到云端:
text
重构整个订单查询模块。
目标:
1. 拆分查询构造逻辑
2. 统一分页
3. 减少重复 SQL
4. 保持接口兼容
5. 补充测试
Codex 可以在云端继续执行,你则可以留在 IDE 中处理其他工作。任务完成后,再回到编辑器查看结果。
官方 IDE 文档将这种方式描述为:小范围工作留在本地,较长任务交给 Codex Web,完成后再回到同一个编辑器工作流中审查。
5. IDE 适合谁?
Codex IDE 最适合:
- 大多数日常开发者;
- Codex 新用户;
- 前端开发者;
- 需要频繁阅读和修改代码的人;
- 喜欢边看代码边与 AI 沟通的人;
- 主要任务是局部修改和 Debug 的人。
对于大部分程序员来说,IDE 扩展通常是最容易上手的第一个入口。
六、Codex Web:把完整任务交给云端
1. Codex Web 是什么?
大家平时说的 Codex Web,通常指 Codex Cloud 的网页入口。
它不是在你的本地电脑上直接修改代码,而是在 OpenAI 管理的隔离云端环境中执行任务。
你可以:
- 连接 GitHub;
- 选择代码仓库;
- 配置项目环境;
- 启动多个任务;
- 查看任务日志;
- 查看代码 Diff;
- 继续追问;
- 创建 Pull Request。
每个较长任务都可以拥有独立环境,在你处理其他事情时继续运行。
2. Codex Web 的基本使用流程
第一步:登录 Codex
使用 ChatGPT 账号进入 Codex 云端界面。
第二步:连接 GitHub
根据提示授权 GitHub,并选择 Codex 可以访问的仓库。
不要为了方便,直接授权全部私人仓库。
建议只开放当前需要使用的仓库。
第三步:创建 Environment
Environment 是云端任务的运行环境。
你需要根据项目配置:
- 依赖;
- 构建工具;
- 环境变量;
- 安装命令;
- 初始化脚本;
- 必要的 Secrets。
例如一个 Go 项目的环境可能需要:
text
Go 1.24
Node.js 22
PostgreSQL
Redis
golangci-lint
make
初始化步骤可能包括:
bash
go mod download
npm install
第四步:提交任务
例如:
text
修复订单服务中的并发重复扣款问题。
要求:
1. 先分析完整调用链
2. 找到并发窗口
3. 优先使用数据库事务或幂等机制
4. 补充并发测试
5. 运行相关测试
6. 不修改无关模块
第五步:查看结果
任务完成后,重点查看:
- Summary;
- 执行日志;
- 测试结果;
- Git Diff;
- 修改文件;
- 是否满足验收条件。
确认没有问题后,再创建 Pull Request。
Codex Cloud 的官方流程就是连接 GitHub、创建仓库环境、配置依赖和变量、启动任务,最后审查 Summary 与 Diff,再决定是否创建 Pull Request。
3. Web 为什么适合长任务?
因为它不会长时间占用你的本地终端和电脑。
例如你可以同时启动:
- 一个任务升级 Go 版本;
- 一个任务迁移数据库;
- 一个任务补充测试;
- 一个任务审查安全问题;
- 一个任务整理文档。
这些任务可以在不同云端环境中并行执行。
你关闭当前浏览器页面后,也不需要一直让本地终端保持在前台。
这类模式更接近"任务委托",而不是传统的代码补全。
4. Web 的局限
Codex Web 也不是所有任务都适合。
本地环境难以复现
如果项目强依赖:
- 公司内网;
- 本地数据库;
- VPN;
- 内部 Maven、npm 或 Go Proxy;
- USB 设备;
- 本地证书;
- 特殊开发机;
- 无法公开访问的服务;
那么云端环境可能无法完整运行。
环境配置需要维护
如果项目依赖复杂,仅仅把仓库连接给 Codex,并不代表任务就能正常运行。
你仍然需要配置:
- 安装步骤;
- 环境变量;
-测试依赖; - 必要的服务;
- 网络权限。
Secrets 需要谨慎管理
API Key、数据库密码和部署凭据不应该直接写进提示词或提交到仓库。
需要使用环境的 Secrets 配置,并尽量采用最小权限、短期凭据和测试环境账号。
5. Web 适合谁?
Codex Web 适合:
- GitHub 工作流用户;
- 需要修复 Issue 的团队;
- 需要生成 Pull Request 的任务;
- 大型重构;
- 长时间运行的任务;
- 多方案并行尝试;
- 不希望占用本地电脑的人;
- 离开开发机后仍需启动或查看任务的人。
七、4 个入口最关键的区别:本地执行和云端执行
很多人真正没有搞清楚的,不是界面区别,而是运行位置。
本地执行
Codex CLI、IDE 和桌面端的本地任务,通常直接使用你的本机环境。
它们可以访问你授权的:
- 本地文件;
- 本地 Git 仓库;
- 本地终端;
- 已安装的编译器;
- Docker;
- 数据库客户端;
- 内部开发工具。
优点是环境真实,缺点是操作可能直接影响本机代码和文件。
云端执行
Codex Web 在隔离云端环境中执行。
它不会天然拥有你本机的完整环境,需要你提前配置:
- 仓库;
- 依赖;
- 环境变量;
- Secrets;
- 网络权限;
- 初始化步骤。
优点是隔离、可并行、不占本地资源。
缺点是复杂本地环境可能难以还原。
OpenAI 的说明也区分了本地工作流和云端任务:本地工作流运行在用户设备上,云端任务运行在 OpenAI 管理的环境中。
八、实际工作中应该怎么组合使用?
真正高效的方式,通常不是固定使用一个入口,而是组合使用。
工作流一:日常功能开发
推荐组合:
text
IDE + CLI
具体流程:
- 在 IDE 中阅读和修改代码;
- 选中具体方法,让 Codex 做局部修改;
- 在 CLI 中运行完整测试和构建;
- 使用
/review检查未提交代码; - 人工确认后提交 Git。
IDE 负责"看得清",CLI 负责"跑得全"。
工作流二:大型重构
推荐组合:
text
App + Web + IDE
具体流程:
- 在 App 中拆分任务;
- 让多个 Agent 分析不同模块;
- 将大型实现任务交给 Web;
- 在 App 中统一查看结果;
- 最后回到 IDE 做细节修改。
这种方式适合:
- 单体项目拆分;
- 框架升级;
- 大规模接口迁移;
- 测试体系补全;
- 多模块重构。
工作流三:排查线上 Bug
推荐组合:
text
CLI + IDE
具体流程:
- CLI 分析日志和执行测试;
- IDE 查看相关调用链;
- Codex 修改问题代码;
- CLI 运行回归测试;
/review再检查一次;- 人工发布。
工作流四:处理 GitHub Issue
推荐组合:
text
Web + IDE
具体流程:
- 在 Web 中连接仓库;
- 把 Issue 交给云端任务;
- Codex 完成代码和测试;
- 查看 Diff;
- 创建 Pull Request;
- 在 IDE 中拉取分支并做最终修改。
工作流五:同时维护多个项目
推荐组合:
text
App + CLI
App 用于查看:
- 哪些任务正在执行;
- 哪些任务等待审查;
- 每个项目的进度;
- 多个 Agent 的结果。
CLI 用于进入具体项目做深度处理。
九、到底应该选哪一个?
可以直接按照下面的方式判断。
平时主要在 VS Code 或 Cursor 写代码
选择:
Codex IDE
它最符合传统开发者的日常习惯。
经常使用终端、SSH、Docker 和服务器
选择:
Codex CLI
特别适合后端和运维开发。
同时维护多个项目,想运行多个 Agent
选择:
Codex App
它更适合任务管理和并行开发。
想把完整仓库任务交出去
选择:
Codex Web
适合长任务、Issue、重构和 PR。
完全不知道从哪个开始
建议顺序是:
text
IDE → CLI → App → Web
先在 IDE 中学会让 Codex理解和修改代码。
再通过 CLI 学习命令执行、权限和自动化。
项目逐渐变多后,再使用 App 管理多个 Agent。
需要云端并行执行时,最后接入 Web。
十、几个常见误区
误区一:4 个入口需要全部安装
不需要。
普通开发者只用 IDE,也可以完成大量工作。
CLI 重度用户甚至可以完全不安装 IDE 扩展。
误区二:Web 一定比本地更强
不一定。
Web 更适合长任务和并行任务,但本地 CLI 可以直接使用你已经配置好的真实开发环境。
遇到复杂内网、数据库、Docker 和本地依赖时,CLI 可能更方便。
误区三:Codex App 就是放大版 IDE
不是。
IDE 的中心是"当前代码"。
App 的中心是"项目、任务和 Agent"。
一个更适合细节编码,一个更适合任务编排。
误区四:把任务交给 Codex 后就不用检查
Codex 能执行代码、运行命令和补充测试,但最终结果仍然需要人工审查。
特别要检查:
- 是否改动了无关文件;
- 是否改变接口兼容性;
- 是否删除必要逻辑;
- 测试是否真的覆盖问题;
- 是否引入安全风险;
- 是否修改生产配置;
- 是否泄露 Secrets。
误区五:给的权限越大,效率越高
权限越大,风险也越大。
更合理的方式是:
- 默认只允许操作当前项目;
- 敏感命令需要确认;
- 网络访问按需开放;
- 禁止自动推送和部署;
- 使用测试环境凭据;
- 合并前人工审查 Diff。
Codex App、CLI 和 IDE 都提供权限与沙箱控制。默认情况下,本地 Agent 通常限制在当前工作目录中修改文件,更高权限的命令或网络操作可能需要额外授权。
十一、让 Codex 真正好用的 7 个技巧
1. 先让 Codex 分析,再让它修改
不要一开始就说:
text
帮我优化这个项目。
更好的方式是:
text
先分析当前模块的问题,不要修改代码。
输出:
1. 当前结构
2. 主要问题
3. 修改范围
4. 风险
5. 推荐实施顺序
确认方案后再执行。
2. 一个任务只解决一个核心问题
不推荐:
text
重构项目、升级框架、修复 Bug、增加支付、优化数据库并部署。
推荐拆分成:
text
任务一:分析升级影响
任务二:升级框架
任务三:修复兼容问题
任务四:补充测试
任务五:整理部署说明
任务越清楚,结果越稳定。
3. 明确告诉 Codex 不要做什么
例如:
text
不要修改公开接口。
不要增加新依赖。
不要修改数据库表结构。
不要执行 git push。
不要接触生产环境。
限制条件和目标同样重要。
4. 写清楚验收标准
不要只说:
text
修复重复支付问题。
应该说:
text
修复重复支付问题。
验收标准:
1. 相同订单并发请求只能成功一次
2. 其他请求返回明确的重复处理错误
3. 数据库中只生成一条支付记录
4. 添加至少一个并发测试
5. 现有测试全部通过
5. 使用 AGENTS.md
把长期稳定的项目规则写进 AGENTS.md,不要每次重复解释。
可以包含:
- 技术栈;
- 目录结构;
- 编码规范;
- 测试命令;
- 构建命令;
- 禁止操作;
- 提交要求。
Codex CLI 可以通过 /init 创建该文件。
6. 始终使用 Git
在 Codex 修改之前:
bash
git status
git add .
git commit -m "checkpoint before codex task"
任务完成后:
bash
git diff
git status
不要在存在大量未提交代码的情况下,让 Codex 进行大规模重构。
7. 让 Codex 输出验证过程
好的任务结果不应该只有一句:
text
已经修复完成。
应该要求它输出:
text
1. 修改了哪些文件
2. 为什么这样修改
3. 执行了哪些命令
4. 哪些测试通过
5. 哪些内容没有验证
6. 仍然存在哪些风险
这样你才能判断任务是否真正完成。
十二、总结
Codex App、CLI、IDE 和 Web,并不是四套互相竞争的产品。
它们分别对应四种不同的开发状态:
- IDE:我正在看代码,帮我一起修改。
- CLI:我正在使用终端,帮我执行完整开发流程。
- App:我有多个项目和任务,帮我管理多个 Agent。
- Web:这个任务比较完整,交给云端慢慢执行。
对于大多数开发者,最推荐的起步方式是:
text
日常开发使用 IDE
运行测试和自动化使用 CLI
多项目和多 Agent 使用 App
长任务和 GitHub PR 使用 Web
真正重要的不是哪个入口功能最多,而是你能不能根据任务选择最合适的工作方式。
以前我们使用 AI 编程工具,更多是在问:
"这段代码应该怎么写?"
而 Codex 的 4 个入口正在把问题变成:
"这个开发任务应该在哪里执行,应该交给哪个 Agent,又应该由谁来审查?"
这才是 Codex App、CLI、IDE 和 Web 同时存在的真正原因。