外观
第11章 进阶技巧
约 3633 字大约 12 分钟
2026-06-09
这一章来聊聊一些我用久了之后摸索出来的进阶技巧,还有不少踩过的坑。希望你看完之后能少走弯路,少花冤枉钱。
11.1 怎样跟 Codex 说清楚你想要啥
Prompt 就是你跟 Codex 说的那句话
你说得清楚不清楚,直接决定了 Codex 给你的答案好不好。这就好比你让同事帮你干个活——你说"帮我弄一下那个东西",同事肯定一脸懵。但你说"帮我把 src/utils.js 里的 formatDate 函数改成支持中文日期格式",同事立马就知道该干啥了。
说清楚的四个要素
1. 背景 — 现在是什么情况
2. 目标 — 你想要什么结果
3. 限制 — 有什么条件或约束
4. 格式 — 希望结果长什么样对比一下就知道了
模糊的说法:
帮我写个函数Codex 心里想:写啥函数?干啥用的?啥语言?有啥要求?结果就是随便给你写一个,肯定不是你想要的。
清楚的说法:
帮我用 Python 写一个函数,功能是将 Unix 时间戳转换为人类可读的日期格式。
要求:
1. 输入是整数时间戳(秒)
2. 输出格式是 "2026年1月15日 14:30:00"
3. 输入无效时返回 None
4. 只用标准库,不要装额外的包看到差距了吧?
几个实用的 Prompt 技巧
技巧1:让 Codex 先理解再动手
❌ "帮我重构 main.py"
✅ "先读一下 main.py,列出哪些地方需要改进,确认后再动手改"技巧2:给个例子
帮我写一个数据验证函数。
示例输入:{"name": "张三", "age": 25, "email": "test@example.com"}
示例输出:{"valid": true, "errors": []}
示例输入:{"name": "", "age": -1, "email": "not-an-email"}
示例输出:{"valid": false, "errors": ["姓名不能为空", "年龄必须大于0", "邮箱格式不正确"]}给了例子之后,Codex 写出来的代码精准度明显高很多。
技巧3:分步来
❌ "帮我做一个完整的电商网站"
✅ "先设计数据库表结构"
(确认后)
"写后端 API 接口"
(确认后)
"写前端页面"一口气说完一个大需求,Codex 很容易理解偏差。分步来,每步确认,效果好很多。
技巧4:让它解释方案
你给出的方案,请解释一下:
1. 为什么选这个方案而不是其他方案
2. 有什么潜在风险
3. 如果数据量增大10倍,这个方案还行不行这样你不只是拿到了一个结果,还理解了为什么这样做。
11.2 花了多少钱?Token 和费用管理
啥是 Token?
Token 就是 Codex 处理文字的单位。你可以把它理解成"字数"——只不过一个 Token 大约是四分之三个英文单词,或者半个中文字。你说的每句话、Codex 回的每句话、它读的每个文件,都在消耗 Token。
Token 花在哪里?
| 花在哪 | 啥意思 | 大概占比 |
|---|---|---|
| 你的输入 | 你跟 Codex 说的每句话 | 10-20% |
| 上下文 | 项目文件、对话历史 | 50-70% |
| Codex 的输出 | Codex 给你的回复 | 10-20% |
| 工具调用 | 读写文件、搜索等操作 | 5-10% |
看到没?大部分 Token 花在上下文上了。也就是说,你项目越大、聊得越久,Token 消耗就越快。
怎么省钱?
省钱小妙招
| 妙招 | 为啥能省钱 |
|---|---|
| 简单任务用便宜模型 | 日常问题用小模型就够了,省好几倍 |
用 /compact 压缩对话 | 上下文越短,每次消耗越少 |
| 一次说清楚需求 | 减少来回修改的次数,最省 Token |
| 不要把大文件整个丢给 Codex | 只贴相关的部分,或者让它自己去读 |
| 新任务开新对话 | 别在一个对话里聊八百个不相关的事 |
| 指定输出格式 | 别让它写一篇长文,你要表格就让它给表格 |
各档价格对比
| 方案 | 价格 | 适合谁 |
|---|---|---|
| Free | $0 | 体验一下,轻度使用 |
| Plus | $20/月 | 日常使用 |
| Pro 5x | $100/月 | 每天都用,重度用户 |
| Pro 20x | $200/月 | 团队使用,极高频率 |
| API 按量付费 | 用多少付多少 | 需要精确控制费用的场景 |
11.3 全自动模式的正确打开方式
回顾一下全自动模式
Codex 有个 --full-auto 模式,开了之后它就不问你确认了,直接自己动手干所有事情。就像把车挂了自动驾驶——你说个目的地,它自己开过去。
啥时候用?
| 场景 | 建议用不用 |
|---|---|
| CI/CD 里自动修复 | 用!环境是隔离的,不怕出事 |
| 自动生成文档 | 可以用,反正是生成新文件 |
| 自动跑测试 | 可以用 |
| 修改重要项目的代码 | 不建议! 除非你用 Git 管好了 |
| 数据库操作 | 千万别用! |
| 删除文件 | 千万别用! |
安全建议
刚开始用 Codex → 默认模式(每一步都确认)
↓ 用熟了之后
日常简单修改 → 可以用 full-auto
↓ 遇到重要修改时
改重要文件/核心逻辑 → 切回默认模式,看清楚再确认警告
数据库操作、删除操作、涉及金钱的逻辑 —— 无论什么模式都要自己检查一遍。 Codex 是工具,不是你的老板。它给的结果最终还是要你自己负责。
11.4 常见报错和解决办法
报错1:Context window exceeded
啥意思: 对话太长了,超出上下文限制了。
怎么办:
# 压缩一下对话,把长的内容变短
/compact还不行的话,开一个新对话重新开始。
报错2:Rate limit exceeded
啥意思: 请求太频繁了,被限速了。
怎么办: 等一会儿再试。免费用户和付费用户的限速不一样,升级套餐可以放宽限制。
报错3:Authentication failed
啥意思: 认证失败了,登录不上去。
怎么办:
- 检查 API Key 对不对
- 检查订阅有没有过期
- 重新登录:
codex login
报错4:Tool execution failed
啥意思: Codex 执行某个操作失败了。
怎么办:
- 看看具体的错误信息
- 把错误信息贴给 Codex:"执行失败了,错误是 XXX,帮我排查"
报错5:Permission denied
啥意思: Codex 没有权限操作某个文件或目录。
怎么办:
- 确认你在正确的目录下启动了 Codex
- 检查文件权限:
ls -la - 如果是沙箱限制,用
--sandbox参数调整权限
报错6:Sandbox violation
啥意思: Codex 尝试访问沙箱之外的文件或网络。
怎么办:
- 如果确实需要访问,用
--sandbox workspace-write放开写权限 - 如果不应该访问,检查一下你的指令是不是有歧义
相关信息
遇到报错别慌,把完整的错误信息贴给 Codex,它通常能帮你分析原因并给出解决办法。这就好比去修车——你把异响录下来放给师傅听,比口头描述"车子好像哪里不对"有效多了。
11.5 性能优化:让 Codex 跑得更快
啥会影响 Codex 的速度?
| 因素 | 啥意思 | 怎么优化 |
|---|---|---|
| 网络延迟 | 你的请求要飞到 OpenAI 服务器再飞回来 | 换好一点的网络,或者避开高峰 |
| 对话长度 | 聊得越久,每次处理的数据越多 | 定期 /compact |
| 项目大小 | 项目文件越多,Codex 要读的内容越多 | 用 .codexignore 忽略不需要的文件 |
| 模型选择 | 大模型慢但聪明,小模型快但一般 | 简单任务用小模型 |
| 并发任务 | 同时跑多个任务会分散资源 | 别同时开太多 |
用 .codexignore 优化项目大小
跟 .gitignore 一样,.codexignore 告诉 Codex 哪些文件不需要看:
# .codexignore 文件内容
node_modules/
dist/
build/
.git/
*.min.js
*.min.css
package-lock.json
yarn.lock把不需要的文件排除掉,Codex 需要处理的内容就少了,速度自然就快了。
什么时候用快模型,什么时候用强模型?
| 任务类型 | 建议模型 | 原因 |
|---|---|---|
| 简单问答 | 小模型(Spark) | 快,够用 |
| 代码补全 | 小模型 | 实时性要求高 |
| Bug 修复 | 中等模型 | 需要理解上下文 |
| 架构设计 | 强模型 | 需要深度思考 |
| 复杂重构 | 最强模型 | 需要全面理解项目 |
11.6 Codex vs 手动编码:效率对比
用了一段时间之后,我对比了一下 Codex 和纯手动编码的效率:
| 任务 | 纯手动 | 用 Codex | 提升倍数 |
|---|---|---|---|
| 从零搭建项目 | 2-4 小时 | 15-30 分钟 | 4-8x |
| 修复简单 Bug | 30 分钟 | 5 分钟 | 6x |
| 写单元测试 | 1-2 小时 | 10-20 分钟 | 6x |
| 写项目文档 | 2-3 小时 | 15-30 分钟 | 8x |
| 代码审查 | 1 小时 | 10 分钟 | 6x |
| 重构一个模块 | 半天 | 1-2 小时 | 3-4x |
| 复杂架构设计 | 1-2 天 | 半天(人+Codex 协作) | 2-3x |
说白了,日常的、重复性的工作,Codex 的效率提升特别明显。但涉及深度思考和复杂决策的工作,Codex 更像是加速器而不是替代品——你自己还是得动脑子,只不过有了 Codex 之后动得少了。
相关信息
上面的数据是基于我个人的使用经验,仅供参考。实际效果取决于项目复杂度、你的 Prompt 水平、网络状况等因素。但有一点可以确定:只要你用得好,Codex 确实能大幅提升效率。
11.7 我踩过的坑,你别再踩
坑1:盲目相信 Codex 的结果
Codex 给出的代码不一定都是对的!特别是以下几种情况:
- 涉及金额计算的逻辑
- 安全相关的代码
- 数据库操作
- 多线程/并发相关的代码
警告
涉及金额、安全、数据库的操作,务必自己再检查一遍。Codex 能帮你写代码,但不能帮你背锅。
坑2:一次改太多东西
一次让 Codex 改十几个文件,出问题了都不知道是哪改坏的。结果是一团乱麻,回退都不知道回退到哪。
正确做法:分步改,每步验证,每步 commit。
坑3:忘了用 Git
这是新手最容易犯的错。让 Codex 改了一大堆东西,结果改坏了,想回退——没有 Git 记录,回退不了。
养成习惯:让 Codex 改之前先 commit,出了问题 git checkout . 一秒恢复。
坑4:把敏感信息暴露出去
API Key、密码、Token 这些东西,千万别写在代码里,也别在跟 Codex 聊天的时候发出去。 虽然 OpenAI 说不会用你的数据训练模型,但小心点总没错。
坑5:上下文太长导致"失忆"
聊了一两个小时之后,Codex 开始"忘记"前面聊过的内容。这不是 Bug,是因为上下文有长度限制。
解决办法:
定期 /compact 压缩对话
↓
不管用了就 /clear 重新开始
↓
重要的信息写在 AGENTS.md 里(每次都会读取)坑6:Prompt 太模糊然后怪 Codex 不行
"帮我优化一下这个项目"——这种指令,Codex 能给出什么?只能给你一些泛泛的建议。
你得说清楚:优化什么?性能?代码结构?可读性?具体哪个文件哪个函数?
90% 的"Codex 不好用"都是因为 Prompt 没写好。
坑7:不知道什么时候该自己动手
Codex 很强,但不是万能的。以下情况建议自己动手:
- 需要深度理解业务逻辑的设计决策
- 需要跟人沟通确认的需求
- 涉及核心架构的重大改动
- 你自己对怎么做有很清晰的思路
Codex 是帮你干活的工具,不是替你思考的替代品。该你自己动脑子的时候,还是得动。
11.8 几个我常用的小技巧
技巧1:让 Codex 帮你写 AGENTS.md
codex
# 然后输入:
分析一下当前项目,帮我生成一份 AGENTS.mdAGENTS.md 就像给 Codex 写的"工作须知"。写好了之后,每次 Codex 启动都会自动读取这个文件,不需要你每次重复说一遍。
技巧2:把报错直接扔给 Codex
这是什么错误?怎么解决?
[贴报错信息]比自己搜 StackOverflow 快多了。
技巧3:让 Codex 帮写 commit message
看看我的改动,生成一个简洁的 commit message,用中文写比自己憋 commit message 省事。
技巧4:批量处理
把所有 .js 文件中的 var 改成 const 或 let,根据使用场景判断用哪个手动改要改到天荒地老,Codex 几秒钟搞定。
技巧5:快速了解一个新项目
帮我梳理一下这个项目的架构:
1. 主要模块有哪些
2. 模块之间的关系是怎样的
3. 入口文件在哪里
4. 核心业务逻辑在哪个文件刚接手一个新项目的时候特别有用。
小结
这一章聊了进阶技巧和踩坑经验,一张表总结:
| 话题 | 一句话总结 |
|---|---|
| 说清楚需求 | 背景 + 目标 + 限制 + 格式,越具体越好 |
| 管理费用 | 用便宜模型、压缩对话、一次说清楚 |
| 全自动模式 | CI/CD 里放心用,重要项目别用 |
| 常见报错 | 看错误信息,贴给 Codex 分析 |
| 性能优化 | 用 .codexignore、选合适的模型、定期压缩 |
| 效率对比 | 日常任务提升 4-8 倍,复杂任务提升 2-3 倍 |
| 避坑指南 | 验证结果、分步改、用 Git、不暴露敏感信息 |
| 常用技巧 | 写好 AGENTS.md、贴报错、批量处理、快速了解项目 |
提示
一句话总结这一章:用好 Codex 的关键不是技术多厉害,而是你会不会跟它"说话"。 说清楚了,它就是你的超级助手;说不清楚,它就是个随机代码生成器。
至此,Codex 系列教程就全部完成了。希望这些内容能帮你快速上手 Codex,少踩坑多干活。如果你有什么问题或者想分享你的使用经验,欢迎来交流!
