Appearance
把 Codex 用到极致:从写代码到完成整个工作流
Codex 的核心能力仍然是理解代码库、修改代码、运行测试和交付变更,但它能处理的工作已经不只限于代码。借助持久任务、浏览器、电脑控制、连接器、自动化和 Goals,Codex 可以从收集上下文开始,一直推进到生成并检查最终成果。
NOTE
本文根据 Codex 团队成员 Jason Laster 的文章 Getting the most out of Codex 及其中文整理版重新编排。客户端入口和功能名称可能随版本、套餐及工作区策略变化,请以当前界面和官方文档为准。
先建立正确的使用方式
高效使用 Codex,不是一次写出一条很长的提示词,而是组合下面几类能力:
| 能力 | 解决的问题 |
|---|---|
| 持久任务(Durable threads) | 长期保存项目上下文,不必每次从头说明 |
| 语音输入 | 快速交代尚未整理成文字的想法和背景 |
| 任务干预与排队 | 在执行过程中纠偏,或提前安排下一步 |
| 浏览器、Chrome 与电脑控制 | 处理代码库以外的网页和桌面工作 |
| Skills、MCP 与连接器 | 把成熟流程固化,并连接外部服务 |
| Automations | 按时间表自动执行或唤醒已有任务 |
| Goals | 围绕明确的验收标准持续推进 |
| 侧边栏 | 就地检查代码、网页、文档、表格和幻灯片 |
| 共享记忆 | 把关键上下文保存到单个任务之外 |
推荐从一个真实、重复发生的工作流开始,逐步加入这些能力,不必一次全部配置。
用持久任务保存上下文
持久任务适合需要多次回来继续推进的工作,例如:
- 日常事务和信息整理;
- 产品发布跟进;
- 文档审查;
- 外部数据监控;
- 长期运行的工程改造。
把常用任务置顶后,可以直接回到原来的上下文。Codex 会保留之前的讨论、决定和当前进度,减少重复说明。置顶任务还可以通过 Command-1 到 Command-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(记忆)使用说明。
一套可落地的组合
可以按下面的顺序搭建个人工作流:
- 为长期项目建立并置顶一个独立任务;
- 用语音或原始资料一次性交代足够背景;
- 把项目规则、命令和验收方式写入
AGENTS.md; - 执行时通过任务干预纠偏,通过任务排队安排后续步骤;
- 用浏览器、Chrome、MCP 或电脑控制补齐代码库之外的操作;
- 为重复流程创建 Skill,为周期工作创建 Automation;
- 对长期任务设置带验证器的 Goal;
- 把关键决定和后续事项写入共享知识库。
这套方式的重点不是让 Codex 一次生成更多内容,而是让它在连续上下文、明确权限和可验证终点中完成整个工作闭环。
