下面这张图概括了从会打字到会指挥 Codex 的全貌——核心心法、界面、黑话、派活、权限、记忆与迭代。

01 它不是聊天框,是会自己动手的助手
把 Codex 当“能聊编程的 ChatGPT”,你问一句它答一段,你复制粘贴。这是最大的误解,也是你用不顺的根源。
Codex 的本质是 agent,大白话:它不是给“建议”,是真的会动手——读你的文件、改你的代码、跑命令、跑测试、给你提交一个 PR。你给它一个任务,它会像一个真的工程师那样自己做完。
把它当聊天框用,你只用到它一成能力;真正值钱的是你可以说“把这个 bug 修了、写上测试、确认测试过了再告诉我”,然后它真的去做完。
三个常见误解对着改:开最高权限不省事反而危险;一个对话从早用到晚会让它越用越笨越用越贵;它今天不好用几乎不是模型状态不好,是配置问题。
截图注释:这一张看整体形态。Codex Desktop 左边是入口和任务列表,右边是它真实干活的工作区,所以它更像一个项目助手,不是单纯聊天框。敏感线程名和路径已打码。

02 看懂界面,五个命令先用熟
你打开 Codex Desktop 看到的不是一个普通聊天页,而是一套工作台:左侧管入口、线程和自动化,右侧管当前任务的对话、运行过程、文件卡片和变更记录。用 CLI 时底层概念也一样:模型、权限、过程区、输入区。
顶部那行 gpt-5.5 · workspace-write 是你最该看懂的——前半截是当前模型,后半截是当前权限档。很多人“觉得它笨”其实是用错了模型或权限档自己没注意。进来先看这一行。
底部打一个 / 弹出一堆斜杠命令是你手里的遥控器。不用全记,五个先用熟覆盖九成场景:
/status 进来先敲,看模型/权限/记忆余量,三秒排除“用错配置”
/init 进新项目第一件事,自动生成 AGENTS.md 草稿(必须手改)
/plan 任务复杂时让它先说计划别动手
/diff 接受改动前看它到底改了啥
/review 提交前让它自查代码当“第二双眼睛”
它干着干着突然停下来问“允许跑这个命令吗 [y/n]”不是它卡了,是碰到了你设的边界(要联网、要跑范围外命令)。安全机制在起作用,看清楚要干啥没问题就 y。
截图注释:这一张看左侧导航。新对话、搜索、插件、自动化、移动版和历史线程都在同一个侧栏里;真正上手时先确认自己在哪个线程里。敏感线程名已打码。

03 把几个最劝退的黑话翻译成大白话
沙箱(sandbox) 是给它划的活动范围,规定它技术上能动哪些东西。三档:只读 → 工作区可写 → 完全放开(名字带 danger 就是警告)。日常用“工作区可写”,能在项目里改文件跑常规命令,默认不联网。
审批(approval) 规定它“什么时候必须停下来问你”。它和沙箱是两码事——沙箱管“能干啥”,审批管“干之前要不要先问你”。启动时加 --full-auto 就是“工作区可写 + 需要时问”,日常最舒服的组合。
AGENTS.md 是放在项目根目录的一份 markdown,里面用人话写着“这个项目怎么回事、怎么跑、什么规矩”。Codex 每次开工前会自动读它。
类比新人入职你发给他的《项目须知》——这是让 Codex 从“通用助手”变成“懂你这个项目的助手”最关键的一步。
上下文(context) 是它这次对话的“工作记忆”。几乎所有“它变笨了”“它忘了前面说的”“它越来越贵”的根子都在这。
截图注释:这一张看右侧工作区。对话、执行记录、文件卡片和变更摘要会堆在同一个线程里;这就是为什么上下文会变重,长对话会变糊。敏感路径已打码。

04 那条核心定律:有验证信号才能放手
它能多放心地自己干,取决于你能不能给它一个“对不对”的客观标准。
它单次输出不一定对,但“它干一下 → 用客观标准检查 → 不对就重来”这个循环能把结果磨到对。测试就是那个不依赖它自己判断的对错标准。
这条定律能解释一大堆现象。它在有测试的项目里靠谱、在没测试的老代码里容易出错,前者有对错标准后者没有。你给个模糊任务它经常跑偏,“好点”不是客观标准它没法判断到没到位。
用顺它的秘诀就一个动作:凡是想让它自己干的活,先给它一个机器能判断对错的信号。 修 bug 先补一个能复现的测试,修好的标准就是“测试从红变绿”;加功能要求它“先写会失败的测试,再实现到通过”;做没法测的事(前端视觉),用截图、用人眼看别让它闷头跑你得盯着。
没有对错标准的活,别撒手让它自己干。
截图注释:这一张看验证记录。真正有用的交付不是“我觉得好了”,而是能看到它跑过什么、改了什么、哪些文件进入了验收链路。敏感路径已打码。


05 派活说清四件事,接受前盯三条线
派活经常一句话“帮我加个登录功能”,这种说法太宽,结果常常返工。正确的姿势是说清四件事:
- 目标:要它做什么
- 约束:什么不能碰、不能加(“只改 middleware 文件夹,别引入新依赖”)
- 交付:做完应该有哪些东西(“requireAuth.ts + 对应测试”)
- 验收:怎么算做完了——最关键,必须机器能判断(“lint 过、测试全绿、新测试在改之前会失败”)
任务复杂点先 /plan 让它出计划。在它动手之前纠正方向是最省事的,等它写了一大坨再返工成本高得多。
它改完别直接接受,先 /diff 看它改了啥,盯三条线:
- 改的文件是不是都在你说的范围里(有没有越界乱改别的)
- 有没有偷偷加新依赖(对照你的约束)
- 测试是不是真的“改之前会失败、改之后才通过”(这证明测试真测到了东西)
第三条最重要。Codex 有个小毛病:会想方设法让任务“看起来完成”,可能写一个永远通过的假测试或干脆把测试跳过。你要盯着它有没有偷偷改测试本身。
截图注释:这一张看文件卡片。接受前不要只看最终回复,先点开文件卡片和变更入口,确认它到底动了哪些文件。敏感路径已打码。


06 一件事一个对话,最该改的坏习惯
你最可能在犯又最该改的习惯:一个项目从早到晚泡在一个对话里。
对话越长它的工作记忆里塞的无关东西越多,越糊、越忘前面的约定、还越费钱。有个实测数据:同一个对话聊到第 30 句,你为第 1 句话付的钱大约是当初的 31 倍。
正确做法:一件连贯的事留在一个对话里,换一件事就开个新对话。 长了主动敲 /compact 压缩。管好对话长度既是让它不变糊也是省钱——在 Codex 这儿是一回事。
截图注释:这一张看“已编辑文件”摘要。一个线程越长,文件卡片、变更摘要和运行记录越多;换事开新线程,就是在控制这坨上下文的重量。敏感路径已打码。

07 权限两个开关,新手别一上来开最大
很多人嫌它老停下来问烦,第一天就开“完全放开”(danger-full-access)。这是自残。
你刚开始用对它的行为还没判断力,给最大权限等于把车钥匙给一个你还不了解的司机。它有“用任何办法完成任务”的倾向,可能为了“搞定”顺手动了你没让它碰的东西。
从默认权限起步,等你摸清了某个项目可信再针对性放松。 几条记死的红线:永远在 git 项目里让它干活(git 是后悔药,改错了 git checkout 一退就回来);要命的操作(生产数据、密钥、删东西)绝不开“从不问”;别信任来路不明的项目。
截图注释:这一张看工具运行痕迹。Codex 每次执行、读取、修改都会在工作区留下过程记录;权限越大,你越要回头看这些记录。敏感路径已打码。

08 大活别一句话甩给它:把记忆写到文件里
小活一句话搞定,大重构你也一句话甩给它多半翻车——工作记忆会被撑爆,干着干着就忘了前面的决定。
老手扛大活的秘诀就一句:别让它光靠脑子记,把关键的东西写到项目的文件里。 准备一个目标文件(写清要做什么、绝对不能碰什么、怎么算完成)、一个计划文件(拆成小里程碑各配验证命令)、一个进度文件(实时记干到哪了、做了哪些关键决定)。
官方能让它连跑二十多小时不跑偏,靠的不是脑子大是记忆写在了文件里。
准备好再用 Goal 模式——给大目标和客观完成标准,它自己一轮轮跑到达标。但记住:没客观标准它要么停早要么瞎跑;用了 Goal 也别真撒手,定期回来审里程碑。
截图注释:这一张看文件上下文。大活能稳定推进,是因为目标、计划、正文、manifest 这类文件被放进工作流里;不是靠一条聊天消息硬撑。敏感路径已打码。


09 上台阶的关键,就一个习惯
从“会用”到“用得顺”,卡点不是学更多命令,是养成一个习惯:每次重复,就往下沉淀一次。
重复交代项目规矩了写进 AGENTS.md;贴了第三遍同一段 prompt 做成 skill;手动确认同一类安全操作了用权限设置自动管住。这个习惯一旦养成,你会发现 Codex 越用越省心——你把“每次都要操心的事”一件件变成了“配一次就自动办的事”。
别想着一口气全用上。今天就做三件最小的事:
- 进你最常用的那个项目,敲
/init 生成 AGENTS.md,手改成真实的命令。
- 下次派活说清四件事,尤其把验收写成可判断的。
- 改掉“一个对话从早用到晚”的习惯,换事就开新对话。
截图注释:最后看线程沉淀。一次任务结束时,真正留下来的不是一句回答,而是文件卡片、变更记录、验证痕迹和下一次可复用的上下文。敏感路径已打码。

做一周,你对 Codex 的感觉会明显不一样。
全书要你记住的就两句话。
第一句,关于什么时候能放手:它能多放心地自己干,取决于你能不能给一个“对不对”的客观标准。
第二句,关于怎么越用越省心:把你脑子里、临时的、说一次就忘的指挥,变成写下来、能复用的东西。
你已经会用 Codex 了,缺的从来不是更多命令,是这两句话背后的那点体系认知。现在你有了。
剩下的,让真实的活儿慢慢教你。每一次“它又犯了同一个错”,都是这本书某一页在跟你招手。