乐于分享
好东西不私藏

Codex装完了,然后呢?5个技巧让AI从助手变成搭档

Codex装完了,然后呢?5个技巧让AI从助手变成搭档

上手 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