上手 Codex CLI 不难,花半小时装好、跑通第一个例子,"你好 Codex" 的新鲜感也就那么回事。
但是同一个工具,有人用它省了 30% 的编码时间,有人拿它当高级补全用。差别不在于用了多久,在于有没有摸到那几个真正管用的设置。
这篇文章不教你怎么装、怎么跑 hello world。只聊一件事:当你已经跑通基础功能之后,还能做哪些升级,让 Codex 从"AI 帮你写代码"变成"AI 跟你一起做项目"。
一、AGENTS.md:给 Codex 写一份"入职说明书"
这是被最多人忽略、也是最不该忽略的功能。
Codex 默认对你的项目一无所知。它不知道你用的是 Pages Router 还是 App Router,不知道数据库操作要走哪个文件,更不知道哪些地方是红线。
AGENTS.md 解决的是这个问题。它是 Codex 启动时自动读取的项目指令文件,一次写入、整个会话持续生效。
# 创建全局配置(所有项目通用)mkdir -p ~/.codexcat > ~/.codex/AGENTS.md << 'EOF'# 全局约定## 通用规则- 安装依赖优先使用 pnpm- 修改 JS 文件后始终运行 npm test- 新增生产依赖前先请求确认## 红线- 不要删除任何现有测试文件- 不要碰生产环境的 .env 文件EOF# 创建项目级配置cat > AGENTS.md << 'EOF'# 项目约定## 技术栈- Next.js 14 + App Router- Prisma ORM,所有数据库操作走 lib/db.ts- 错误处理统一用 lib/api-error.ts## 项目规则- 提 PR 前运行 npm run lint- 修改公共工具时同步更新 docs/ 文档## 红线- 不要修改 prisma/schema.prismaEOF三层加载机制:从全局到项目再到子目录,越靠近当前工作目录的文件优先级越高。如果某个子目录有特殊规则(比如支付模块),可以在 services/payments/AGENTS.override.md 里单独定义,会覆盖同名 AGENTS.md。
验证是否生效:
codex ,ask-for-approval never "Summarize the current instructions."Codex 会回显它加载的所有指令来源。
为什么这个技巧值:没有 AGENTS.md,Codex 每次都要你重新交代背景;有了它,Codex 像一个跟了你三个月的老员工,知道你能做什么、不能做什么、代码风格偏好是什么。
二、会话管理:跨天接着干,不丢上下文
大型任务很少一天做完,问题是第二天回来,Codex 不记得你昨天在干什么。
会话管理就是解决这个问题的。
# 随时导出当前会话/export session-2026-06-04.json# 下次继续时恢复codex resume ,last# 或者从指定文件恢复codex exec ,load session-2026-06-04.json "继续上次的安全审计"# 查看所有已保存会话ls ~/.codex/sessions/值得导出的场景有三个:
跨天进行的多阶段任务
刚讨论出一个重要架构决策
复杂调试已经排除了若干方向
日常简单问答不需要导出,导了反而增加管理成本。
三、`/goal` 写得好不好,差的不只是结果
昨天那篇讲了 /goal 是什么,这篇只聊一件事:怎么写 /goal 才能让它少跑偏、跑完能验收。
核心原则:能说清楚"完成了没有"
一个 /goal 写得太空泛,是所有翻车故事的起点。
比如你说"帮我优化这个项目",Codex 可以跑一整天、改几十个文件,最后拿出来的东西跟"优化"两个字几乎没有关系,因为它根本不知道什么算优化完成。
好的 /goal 必须满足一件事:你能用一句话说明"完成了没有"。
——这不是语文题,是验收标准。
# 不好的写法:模糊/goal 帮我优化性能# 好的写法:可验收/goal 优化数据查询模块,让 API 响应时间从 800ms 降到 200ms 以内,跑完 test-query.js 全部通过# 不好的写法:范围太大/goal 开发一个新功能# 好的写法:明确边界/goal 实现用户注册流程,包括邮箱验证和密码强度校验,测试覆盖率达到 80%,不改动其他模块跑偏了怎么救
就算写得好,Codex 也可能在某个方向上卡住或者走偏。三个干预手段:
1. 直接打断,重新发指令
# 停止当前 /goalCtrl+C 两次# 重新发,修正方向/goal 改用二分查找替代线性遍历,单元测试必须通过2. 缩小范围,逐个击破
如果 /goal 范围太大导致 Codex在里面转圈,可以拆成多个小目标:
# 一个大目标拆成三个:/goal 重构数据层的查询逻辑,用索引优化查询速度/goal 重构缓存层,实现 5 分钟 TTL 自动过期/goal 重构 API 层,接入新的缓存层,全部测试通过比起让它一次搞定 15 个文件,一次喂一个目标,出错率低得多。
3. 给它划红线,限制修改范围
配合 AGENTS.md 使用,在 /goal 描述里明确禁止改动哪些部分:
/goal 重构交易模块的性能,保留现有接口不变,不改动 lib/payment.ts,只修改 service/internal/ 下的文件最好的配合:AGENTS.md + `/goal`
把这两件事结合起来,才是 Codex 真正的用法。
你提前在 AGENTS.md 里写清楚项目的技术栈、风格规范和红线;/goal 只需要描述目标本身,不需要再解释项目背景。Codex 知道你项目的约束,同时朝目标推进。
两者配合,Codex 既"知道边界在哪里",又"知道目标是什么"。
四、模型选对,省的不只是时间
Codex 支持多个模型,不同场景用对模型,速度和成本差异很大。
# 日常编码:快速响应,节省 token/model gpt-5.4-mini# 复杂重构:切换到旗舰模型/model gpt-5.4 ,reasoning-effort high# 需要极速响应(Pro 用户专属)/model gpt-5.3-codex-spark推理强度也值得调。medium 是默认平衡模式,日常开发够用;复杂 bug 分析和架构设计调 high 或 xhigh,Codex 会进行更深入的分析,减少返工。
一个日常开发的推荐配置:
# ~/.codex/config.tomlmodel = "gpt-5.4-mini"model_reasoning_effort = "medium"model_reasoning_summary = "auto"service_tier = "fast"遇到复杂任务时临时切换,结束再切回来。
五、`/compact` 和 `/fork`:两个真正省力的上下文技巧
上下文压缩:`/compact`
Codex 的上下文窗口有限制的。对话一长,窗口被历史消息填满,新信息进不来,输出质量就开始下降。
/compact 就是处理这个问题的:
# 压缩当前上下文历史/compact执行后 Codex 会整理并压缩历史对话,保留关键上下文,释放空间接受新信息。这不是删除历史,Codex 仍然记得讨论过什么,只是换了一种更节省空间的方式存储。
会话分叉:`/fork`
想尝试一个方向但不想影响当前对话?/fork 可以把当前会话克隆到一个新线程:
# 克隆当前会话到新线程,继续探索/fork原会话保留不变,新线程里你可以随便试,试错了删掉线程就行。这个功能在做架构探索时特别有用,想验证 A 方案和 B 方案哪个更好,不用清空对话,分别 fork 出来对比着做。
总结:升级的不是工具,是工作流
Codex 上手的门槛不高,但很多人用了几周还是在"问答模式"里转。
真正把这个工具拉开差距的,是把 AGENTS.md 配置好让 Codex 理解你的项目、学会写可验收的 /goal 指令、用会话管理实现跨天连续工作、以及根据场景切换模型和推理强度。
这几件事加起来,大概需要半小时配置,之后每次打开 Codex 都是为一个真正了解你项目的 AI 下达任务。
这才是 Codex 真正的用法。
AI先见 | AI时代,智者先见
深度AI洞察 · 实践案例分享
我是元宝AI产品,ask me everything
夜雨聆风