Skip to content

把 Codex 用到极致:从写代码到完成整个工作流

Codex 的核心能力仍然是理解代码库、修改代码、运行测试和交付变更,但它能处理的工作已经不只限于代码。借助持久任务、浏览器、电脑控制、连接器、自动化和 Goals,Codex 可以从收集上下文开始,一直推进到生成并检查最终成果。

NOTE

本文根据 Codex 团队成员 Jason Laster 的文章 Getting the most out of Codex 及其中文整理版重新编排。客户端入口和功能名称可能随版本、套餐及工作区策略变化,请以当前界面和官方文档为准。

先建立正确的使用方式

高效使用 Codex,不是一次写出一条很长的提示词,而是组合下面几类能力:

能力解决的问题
持久任务(Durable threads)长期保存项目上下文,不必每次从头说明
语音输入快速交代尚未整理成文字的想法和背景
任务干预与排队在执行过程中纠偏,或提前安排下一步
浏览器、Chrome 与电脑控制处理代码库以外的网页和桌面工作
Skills、MCP 与连接器把成熟流程固化,并连接外部服务
Automations按时间表自动执行或唤醒已有任务
Goals围绕明确的验收标准持续推进
侧边栏就地检查代码、网页、文档、表格和幻灯片
共享记忆把关键上下文保存到单个任务之外

推荐从一个真实、重复发生的工作流开始,逐步加入这些能力,不必一次全部配置。

用持久任务保存上下文

持久任务适合需要多次回来继续推进的工作,例如:

  • 日常事务和信息整理;
  • 产品发布跟进;
  • 文档审查;
  • 外部数据监控;
  • 长期运行的工程改造。

把常用任务置顶后,可以直接回到原来的上下文。Codex 会保留之前的讨论、决定和当前进度,减少重复说明。置顶任务还可以通过 Command-1Command-9 快速切换。

TIP

一个任务最好对应一个稳定职责。不要把互不相关的项目长期堆在同一个任务中,否则上下文会越来越难维护。

用语音输入交代原始想法

语音输入适合想法尚未完全成形、背景较多或者打字成本较高的场景。你可以先口述线索,让 Codex 自己搜索和补齐上下文,例如:

text
我记得 Ben 在 Slack 提过这个问题,但不记得具体在哪个频道。
请找到原始讨论,整理结论和还没有解决的事项。

未经精简的会议记录和口述草稿也很有价值,因为它们通常保留了重点、犹豫和未完成的想法。给 Codex 原始材料后,再让它提炼结论,通常比先人工压缩成几句话更准确。

区分任务干预和任务排队

任务运行期间可以继续向 Codex 发送消息,但需要先判断希望改变“现在”还是安排“之后”。

操作作用示例
任务干预(Steering)中途改变当前执行方向“先停一下,这里应该复用现有组件。”
任务排队(Queuing)当前步骤结束后继续执行“完成测试后,再生成发布说明。”

审查网页或设计时,发现字号、间距或文案有问题,可以立即干预,避免 Codex 沿错误方向继续执行。对于不影响当前工作的后续任务,则放入队列,保持当前步骤完整结束。

把 Codex 的能力扩展到代码库之外

Codex 可以根据任务需要使用不同工具:

  • $browser:在应用侧边栏中打开、检查和操作网页,适合网页开发与审查;
  • @chrome:复用 Chrome 中已经打开或已经登录的页面;
  • @computer:操作只能通过 macOS 桌面图形界面完成的工作;
  • MCP 和连接器:连接外部数据、应用和服务;
  • Skills:把已经验证有效的重复流程固化下来。

选择工具时可以遵循一个简单顺序:有结构化接口时优先使用连接器或 MCP;需要登录态网页时使用 Chrome;普通网页检查使用应用内浏览器;只有桌面应用没有合适接口时再使用电脑控制。

离开电脑后继续推进

Automations

Automations 适合周期性工作:

  • 定时自动化:每次从头运行,例如生成日报、例行检查代码库;
  • 任务自动化:按计划回到同一个持久任务,继续利用已有上下文推进。

任务自动化可以用来轮询外部状态、整理待处理消息,或者持续跟进反馈。例如:

text
每 30 分钟检查一次 Slack 和 Gmail 中尚未处理的重要消息。
按优先级整理;遇到问题时先查清背景并起草回复,但不要直接发送。

自动化中涉及发送消息、修改外部数据或其他不可逆操作时,应明确保留人工确认步骤。

Goals

Goal 适合有明确终点、需要较长时间持续推进的任务。目标不能只描述“要做什么”,还要写清楚“怎样才算完成”。

不够明确的目标:

text
实现 Markdown 文件中的迁移计划。

更可执行的目标:

text
把这个内部工具从 Python 迁移到 Rust。
保留现有对外行为,直到全部单元测试和端到端测试通过才算完成。

适合用作验收标准的验证器包括:

  • 完整测试套件;
  • 性能基准;
  • 可稳定复现的问题;
  • 浏览器和设备验证矩阵;
  • 必须持续通过的端到端流程。

目标越大,越需要明确的验证信号。没有验证器的长期目标,很难判断 Codex 是否真的接近完成。

在侧边栏审查成果

侧边栏 可以让对话和成果并排显示,适合:

  • 查看生成的代码和文件;
  • 给网页或文档标注修改意见;
  • 操作正在开发的网页;
  • 审查 Markdown、PDF、表格、普通文档和幻灯片。

对于轻量工具,可以让 Codex 生成单个 index.html,直接在侧边栏打开并迭代;复杂前端则可以启动开发服务器或 Storybook。这样网页既是交付结果,也是审查和反馈的界面。

建立可追溯的共享记忆

重要上下文不应只留在某一次对话中。团队可以建立一个由纯文本组成的知识库,例如:

text
vault/
├── TODO.md
├── people/
├── projects/
├── agent/
└── notes/

再通过根目录的 AGENTS.md 告诉 Codex:

  • 哪些内容值得长期保存;
  • 人员、项目、决定和待办分别放在哪里;
  • 记录负责人、日期、阻塞点和相关链接;
  • 没有实质进展时不要制造无意义的文件变更。

代码仓库保存代码,知识库保存跨任务持续变化的工作上下文。Codex 自带的 Memory 可以补充个人偏好和常见工作模式,但不能代替清晰、可审查的项目记录。具体配置可继续阅读 ChatGPT Memory(记忆)使用说明

一套可落地的组合

可以按下面的顺序搭建个人工作流:

  1. 为长期项目建立并置顶一个独立任务;
  2. 用语音或原始资料一次性交代足够背景;
  3. 把项目规则、命令和验收方式写入 AGENTS.md
  4. 执行时通过任务干预纠偏,通过任务排队安排后续步骤;
  5. 用浏览器、Chrome、MCP 或电脑控制补齐代码库之外的操作;
  6. 为重复流程创建 Skill,为周期工作创建 Automation;
  7. 对长期任务设置带验证器的 Goal;
  8. 把关键决定和后续事项写入共享知识库。

这套方式的重点不是让 Codex 一次生成更多内容,而是让它在连续上下文、明确权限和可验证终点中完成整个工作闭环。

参考资料

iKun API 使用、接入与故障排查文档