如何掌握 2026 年版 Codex(开发者进阶课程)

@Av1dlive
英语2个月前 · 2026年5月24日
227K
184
25
30
541

TL;DR

深入剖析 2026 年 Codex 生态系统,指导开发者如何通过 AGENTS.md、目标模式(Goal Mode)及跨平台验证,从简单的自动补全进阶到管理由 AI Agents 组成的团队。

我用了 12 个月的 Claude Code,然后切换到了 Codex 30 天。

以下是我的发现

2026 年的 Codex 到底是什么

大多数人仍然以为 Codex 只是一个更智能的自动补全工具。其实不是。

  • Codex 是一个完整的智能软件开发平台。它能读取你的代码库、编写和测试代码、审查拉取请求、控制你的 Mac 桌面、浏览网页、生成图像、安排定期任务,并在会话之间记住你的偏好设置。
  • 这种思维转变是巨大的。你不再是那个写代码的人。你变成了审查代码的人,而这些代码由一个从不休息的初级工程师团队编写。

大多数开发者安装 Codex 后,会发一两周的简单提示词,得到平庸的结果,然后放弃。他们从未设置过 AGENTS.md

他们从未编写过技能(Skill)。他们从未使用过子 Agent(sub-agent)。他们只用了 5% 的功能,却以此来评判整个工具。

本课程涵盖了另外 95% 的内容。

五个界面

在安装任何东西之前,先了解 Codex 存在于哪些地方。你选择的界面决定了你跟踪其工作的紧密程度以及代码运行的位置。

  • CLI:适用于脚本化工作流、单任务工作和无头自动化。你的代码除非你推送,否则不会离开你的机器。开源,用 Rust 构建,可在 macOS、Windows 和 Linux 上运行。
  • IDE 扩展:适用于带有精确文件上下文的交互式编辑。可安装在 VS Code、Cursor、Windsurf 或 JetBrains 中。使用你的 CLI 认证,无需单独登录。
  • 桌面应用:多线程工作流、应用内浏览器、Computer Use、目标模式(Goal mode)、Appshots 和自动化的核心所在。于 2026 年 2 月在 macOS 上发布,2026 年 3 月 4 日在 Windows 上发布。
  • Cloud:适用于异步后台任务、并行拉取请求以及在你睡觉时工作。任务在预装了你的 GitHub 仓库的沙箱容器中运行。不会阻塞你的本地机器。
  • 应用内浏览器和 Computer Use:适用于 UI 验证、前端迭代和端到端测试。Codex 打开你的本地开发服务器,与它交互,截图结果,并验证代码更改是否产生了正确的视觉输出。

一个真实的工作流程会使用多个界面:

  • CLI 用于脚本化任务
  • IDE 用于交互式功能开发
  • Cloud 用于你不需要实时监控的并行任务
  • 桌面应用用于目标驱动的长期运行任务

选择界面的主要因素是你想要多紧密地跟踪 Agent 的工作。如果你想实时监控更改,CLI 或 IDE 会让工作在你的机器上并呈现在你眼前。如果你更愿意委托一个较长的会话并在最后审查,Cloud 是正确的选择。

思维模型:Agent,而非自动补全

在明确了界面之后,下一个转变是理解工作单元。

工作单元是一个任务(task),而不是一次对话回合(turn)。输出是一个拉取请求(PR),而不是一个聊天回复。

少想“写一个实现 X 的函数”,多想“实现功能 Y,这是约束条件,完成后运行测试”。

每个 Codex 任务都遵循相同的内部循环。Codex 读取你的任务和上下文,生成一个内部计划,逐步执行,并检查自己的工作。

停止把 Codex 想象成一个编码助手。开始把它想象成一个初级工程师团队,你早上给他们布置任务,下午审查他们的工作。

一个实际应用的例子:WorkOS 的开发者现在在喝早咖啡之前会排队安排四到五个 Codex 任务。当他们坐下来时,两到三个完成的拉取请求已经在等待审查,处理那些曾经占用他们 30% 到 40% 时间的维护工作。

截至 2026 年 5 月的当前模型:

  • GPT-5.5(默认)— 处理大多数任务,延迟与之前相同,但相同工作的 token 消耗显著减少
  • GPT-5.3-Codex — 专为长时间自主运行、大型重构和并行云扩散而构建;比之前的 Codex 专门模型快 25%
  • GPT-5.5 Pro — 最高推理能力;仅限 Pro、Business 和 Enterprise 计划
  • Codex Mini — 在 ChatGPT Free 上永久免费;适合学习

默认将 Codex 保持在 GPT-5.5 上。对于需要长时间自主运行的大型 Agent 任务,切换到 GPT-5.3-Codex。

入门指南:你的第一个真实会话

实现一个有效的 Codex 会话的最快路径分为五个步骤。忘掉那些简单的入门教程。从一个真实的代码库开始。

步骤 1:安装 CLI。

步骤 2:打开一个真实项目。

导航到一个你已经熟悉的、风险较低的仓库。这很重要。

当你能够识别输出并发现错误时,Codex 的表现会更好。在第一个会话中操作一个不熟悉的代码库会产生不可预测的结果。

在提示时使用你的 ChatGPT 账户登录。你的浏览器会自动打开。点击“继续”并返回终端。

步骤 3:在做其他任何事情之前,先运行 /init。

大多数教程都跳过了这一条命令。Codex 会扫描你的目录和 Git 历史,识别语言、框架、构建命令和测试命令,并搭建一个包含这些信息的 AGENTS.md 文件。

审查生成的文件,调整任何错误的地方,然后提交。你在此项目上的每个未来 Codex 会话都会自动读取它。

步骤 4:给 Codex 一个定向任务。

在让它修改任何东西之前,先让它解释代码库。这能让你相信它已经加载了正确的上下文:

读取输出结果。如果它准确地描述了你的实际代码库,那么它已经拥有了所需的上下文。如果输出模糊或错误,那么你的 AGENTS.md 需要更多细节。

步骤 5:给它一个小的、真实的任务。选择一个具体且有边界的任务。

这是 Codex 提示词的正确形态:具体的文件上下文、预期结果、约束条件以及一个明确的验证步骤。审查它返回的差异(diff)。你现在已经正确使用 Codex 了。

步骤 6:安装桌面应用。 从 OpenAI 网站下载。使用同一个 ChatGPT 账户登录。

步骤 7:安装 IDE 扩展。 在你的编辑器的扩展面板中搜索“OpenAI Codex”。它会自动读取你的 CLI 认证信息。

步骤 8:连接 GitHub。 进入 Codex 应用内的设置并连接你的 GitHub 账户。在使用云任务之前,至少链接一个仓库。

文件位置:

  • ~/.codex/config.toml:主要配置:审批模式、沙箱模式、MCP 服务器、模型默认值
  • ~/.codex/AGENTS.md:个人 AGENTS.md,适用于所有项目
  • <project>/AGENTS.md:项目级别的指令
  • <project>/.agents/skills/:项目级别的技能
  • <project>/.codex/config.toml:项目范围的配置(仅限受信任的项目)

AGENTS.md:仓库中最重要的文件

既然你已经有了一个可以工作的会话,下一步就是让每个未来的会话都从相同的质量水平开始。这就是 AGENTS.md 的作用。

  1. AGENTS.md 是区分平庸的 Codex 输出和持续高质量输出的单一文件。
  2. 它是一个位于仓库根目录下的纯 Markdown 文件。每次你的项目上启动 Codex 会话时,Agent 都会在执行其他操作之前自动读取它。
  3. 它是一个开放标准。Codex、Cursor、Gemini CLI、Windsurf 和 GitHub Copilot 都会读取它。只需编写一次,你工具链中的每个 Agent 都能读取同一个真实来源。

解析顺序:Codex 读取 ~/.codex/AGENTS.md(用户级别,所有项目)以及 <project>/AGENTS.md(项目级别)。AGENTS.override.md 文件在每个级别具有更高优先级。总大小限制为 32 KiB。

应包含的内容:

  • 技术栈、框架、语言版本、包管理器
  • 精确的构建、测试和开发命令;可复制粘贴,而不是“运行通常的测试”
  • 文件结构约定和命名规则
  • 风格和模式规则
  • 禁止区域:不要触碰的内容
  • 发布要求:CI、PR 约定、部署机制

不应包含的内容:

  • 秘密或凭证(文件在版本控制中)
  • 模糊的指导(“编写干净的代码”对 Agent 来说毫无意义)
  • 重复 README 的文档

保持在 500 词以内。过于冗长会将有用的上下文挤出模型的工作记忆。

一个可用的模板:

  • 验证 Codex 正在读取它:提示词 summarize the current instructions you have loaded
  • 对于大型单体仓库,将额外的 AGENTS.md 文件放在子目录中。
  • packages/api/AGENTS.md 文件中的内容对于该包内的任务会优先于根目录级别的文件。
  • 运行 codex trust . 以启用项目级别的 .codex/config.toml。这可以防止恶意的克隆仓库在你不知情的情况下配置 Codex。

CLI 深度解析

AGENTS.md 设置好后,接下来要掌握的是 CLI 本身。大多数用户只输入 codex 命令,错过了那些真正让它强大的命令。

有四个命令覆盖了 95% 的日常真实使用场景。

  • codex 打开交互模式,用于探索、迭代以及与你的代码库进行来回对话。
  • codex exec "<task>" 以非交互方式运行 Codex。它会将输出流式传输到 stdout 并在完成后退出。这是任何可脚本化任务的强力工具:

将 exec 命令接入 git hooks、CI 管道和 cron 作业。它是所有自动化工作的构建模块。

  • codex resume --last 会精确地从你上次中断的地方继续。每个会话都会被存储:
  • codex cloud 管理异步云任务,在下面的 Cloud 部分有详细介绍。

有用的标志:

  • --json:JSONL 事件流,用于管道传输到其他工具
  • --model <name>:选择 GPT-5.5 或 GPT-5.3-Codex
  • --reasoning <level>:低、中或高
  • --search:允许在任务期间进行网络搜索
  • -C <dir>:在不同的工作目录中运行
  • --sandbox <mode>:覆盖本次会话的沙箱模式
  • --approval <policy>:覆盖本次会话的审批策略

沙箱与审批

CLI 赋予你力量。沙箱则控制着 Codex 在不询问的情况下可以行使多大程度的权力。正确设置这一点可以保持你的工作流程快速,同时不会产生风险。

沙箱是一个边界,控制着 Codex 能做什么和不能做什么。正确设置它可以防止意外。

三种沙箱模式:

  1. workspace-write(默认):允许在工作区内读写,执行常规命令,除非允许否则不能访问网络。几乎始终使用此模式。
  2. read-only:只读,不能写入,不能运行 shell。用于代码审查和探索。
  3. danger-full-access:无限制。几乎从不使用。仅用于经过测试和验证的自动化任务。

两种审批策略:

  • untrusted — 在每个未经信任的命令之前询问。适合在初次学习或在陌生项目中使用。
  • on-request(默认)— 自动批准常规沙箱命令,在可能超出沙箱边界的操作之前询问。

auto_review 是一个审查子 Agent(reviewer sub-agent),它会根据你的 AGENTS.md 自动批准或拒绝。

在配置中启用它:approvals_reviewer = "auto_review"。对于长时间运行的异步任务和目标模式(Goal mode)非常有效,因为你不想监视每一步。

添加那些不断烦你请求批准的命令。切勿添加任何破坏性命令。

有效提示 Codex

沙箱配置好了,会话正在运行。下一个杠杆是提示词质量,它对输出质量的影响超过任何其他变量。

Codex 输出质量的唯一最大杠杆是提示词结构。模糊的提示词会产生模糊的代码。

框架:告诉(Tell)、展示(Show)、描述(Describe)、提醒(Remind)

  • 告诉它你想要的结果,而不是方法
  • 展示示例输入和预期输出
  • 描述要使用的 API、库和模式
  • 提醒它来自 AGENTS.md 的约定

并非每次都需要全部四个步骤。一个小错误修复可能只需要“告诉”和“提醒”。一个新功能通常需要全部四个。

  1. 单一更改规则:Codex 在处理一件事时的表现远优于处理五件事。像“修复认证错误、添加测试、重构用户仓库、更新 README”这样的任务,成败参半。将同样的工作分成四个提示词会更可靠。
  2. 对于任何非平凡任务,先强制制定计划:“先生成一个计划,在我批准之前不要写代码。”花三十秒审查计划,胜过花三十分钟调试错误的实现。
  3. 明确指定失败时的行为。如果不加说明,Codex 会不择手段地让测试通过:

明确限制上下文。指定要读取的具体文件。“不要读取或修改其他任何文件。如果你需要其他地方的信息,请询问我。”

推理努力级别:

  • :微不足道的编辑、格式化、简单重构
  • (默认):大多数功能开发和错误修复
  • :架构决策、困难调试、大型多文件重构

目标模式(Goal Mode)

当单任务提示变得自然之后,下一个层次是给 Codex 一个多天的目标,让它自己安排工作顺序。

目标模式适用于规模太大以至于无法逐个任务进行简要说明,但又足够连贯以实现单一目标的工作。它于 2026 年 5 月变得稳定。

使用以下命令管理正在运行的目标:

  1. codex goal status:查看活跃的目标及其进度
  2. codex goal logs <id>:检查 Codex 到目前为止做了什么
  3. codex goal pause <id>:暂停执行并等待你的输入
  4. codex goal resume <id>:从暂停处继续
  5. codex goal cancel <id>:停止并丢弃该目标

从有边界的目标开始。在你信任 Codex 如何解释你的目标之前,设定“最多 5 个 PR”。一个失控的目标自信地做错事是最糟糕的结果。

始终进行边界限制:最大 PR 数量、每个 PR 的最大代码行数、PR 之间的 CI 门控以及明确的停止条件。在遇到 AGENTS.md 未涵盖的任何架构决策时暂停。遇到任何破坏性的 API 变更时暂停。

技能(Skills):可重用工作流

目标模式处理大型项目。技能则处理每个项目中都会出现的重复性微工作流。如果你发现自己跨会话重复相同的指令,这就是需要编写一个技能的信号。

技能是一个可重复使用的工作流,打包成一个目录:SKILL.md 文件中的指令,加上可选的资源和脚本。

Codex 通过名称和描述发现技能。只有在任务触发该技能时,它才会加载完整的指令。你可以拥有 50 个技能,而无需承担任何上下文成本,直到其中一个被触发。

技能存放位置:

  • 个人$HOME/.agents/skills/:跨项目,反映你无论仓库如何的工作方式
  • 团队:仓库内的 .agents/skills/:项目特定,版本控制,与协作者共享

SKILL.md 格式:

每个高级用户应该首先编写的三个技能:

  1. `open-pr` 是标准的 PR 工作流:检查分支、推送、创建带有结构化正文的 PR、应用标签并请求审查。日常工作中最常用的技能。
  2. `new-feature` 读取 PRD 和 AGENTS.md,识别要复用的现有组件,输出计划,等待批准,实现,测试,并通过 open-pr 技能打开一个 PR。如果 PRD 中有任何含糊不清的地方,它会在生成代码之前询问。
  3. `investigate` 是一个“诊断但不修复”的技能。它确认重现步骤,读取相关代码路径,形成一个假设(“我认为 X 发生是因为 Y”),并以 Markdown 形式输出假设和验证计划。它不会实施修复。输出的是理解,而不是代码。

investigate 技能很重要,因为如果你允许,Codex 每次都会跳过根本原因分析。它会直接跳到修复,而这个修复往往是错误的。强制“先调查”是提高调试输出质量的最大单一改进。

验证你的技能已加载:list available skills

子 Agent 与并行处理

技能处理你的可重复工作流。子 Agent 处理你的并行工作流。这种区别很重要,因为做错的并行比带来的好处更糟。

子 Agent 是一个独立的隔离 Agent 实例。它在自己的上下文中运行,返回一个摘要,然后其上下文被丢弃。它与在主要 Agent 上下文中运行的技能不同。

使用子 Agent 的三种正确模式:

  1. 探索:生成一个子 Agent 读取 30 个文件并总结;读取操作在其上下文中进行,而不是在你的上下文中
  2. 并行实现:五个独立功能作为五个并发子 Agent,每个都有自己的上下文和计划
  3. 验证:一个全新的审查子 Agent 不会因为刚刚编写了代码而产生偏见

自定义子 Agent 在 .codex/agents/<name>.md 中定义:

  • 子 Agent 寻址功能于 2026 年 3 月发布。可以通过昵称 @<nickname> 与正在运行的子 Agent 对话。
  • 当多个子 Agent 并行运行时,想要在不干扰其他子 Agent 的情况下重定向其中一个,这非常有用。
  • 扇出模式:在独立的任务上并行生成 N 个子 Agent,然后将结果合并回来。
  • 五个任务完成的时间等于最慢的那个任务所需的时间。经验法则:如果一个任务在主上下文中不到 30 秒就能完成,就直接在那里做。

桌面应用:包罗万象的 Codex

子 Agent 和技能在 CLI、IDE 扩展和桌面应用上都能同样良好地运行。但桌面应用才是那些 CLI 无法替代的功能所在。

2026 年 4 月 16 日的“Codex for (almost) everything”更新将桌面应用从一个编码工具转变为一个完整的开发者工作站。

Computer Use

Codex 操作你的 Mac:点击、打字、滚动、打开应用、导航菜单,并且在你旁边运行而不会抢夺光标焦点。

  • 杀手级用途是行为验证。单元测试通过了,但 UI 仍然是坏的。
  • Computer Use 填补了这一空白,它让 Codex 打开开发服务器,点击相关流程,并截图结果。
  • 要激活它,请前往 Codex 设置 → Computer Use → 安装。当 macOS 提示时,授予屏幕录制和辅助功能权限。通过任何提示词调用它:

锁定电脑使用(Locked computer use)允许 Codex 在你的屏幕锁定后继续操作桌面应用。在设置中的 Computer Use 下启用它。睡觉前启动一个任务,锁定你的机器,早上审查结果。

Appshots

按下 Command-Command 组合键,最前面的 macOS 窗口会直接进入你的 Codex 线程。

Codex 捕获截图、可见文本和辅助功能文本;通常还包括屏幕外滚动的内容。

  • 没有 Appshots:看到一个错误,切换到 Codex,输入一个问题,截图,拖进去,输入更多上下文。半分钟的操作摩擦。
  • 有了 Appshots:看到错误,按下 Command-Command,提出你的问题。五秒钟。

如果你在最近 60 秒内与某个 Codex 线程互动过,Appshot 会进入该对话。

否则它会打开一个新线程。一个会话中的多个 Appshot 会堆叠到一个线程中。需要屏幕录制和辅助功能权限。

应用内浏览器

应用内浏览器是一个原生的智能浏览器,而不是页面预览。它可以打开你的本地开发服务器、点击、填写表单、检查 DOM 状态、捕获截图,并验证刚刚编写的补丁是否修复了视觉错误。

  1. 在浏览器中打开一个本地开发服务器,然后直接在渲染的元素上添加自然语言注释。
  2. 在元素上写“把这个按钮增高 20 像素”,Codex 就会在你的代码库中执行更改并重新加载页面。
  3. 应用内浏览器提供直接的 DOM 访问,没有窗口管理开销,并且与你的真实浏览器隔离。

记忆(Memory)

记忆功能让 Codex 能够跨会话保留上下文。

  • 每个会话结束后,Codex 会总结交互内容并写入 ~/.codex/memories/
  • 在下一个会话中,它会在加载你的提示词之前读取这些文件。
  • Codex 会学习你偏好的提交信息格式、测试框架、架构模式以及它上次犯的错误;无需你重复任何这些上下文。
  • 在设置中启用它,或者在 config.toml[features] 下添加 memories = true

90 多个插件的生态系统

插件是技能、MCP 和集成的精选捆绑包。使用 codex plugins install <name> 安装。

关键插件类别:

  • 项目管理:Linear、JIRA、GitHub
  • CI/CD:CircleCI、Vercel、GitHub Actions
  • 数据库:Neon、Postgres、PlanetScale
  • 代码质量:Sentry、CodeRabbit
  • 生产力:Notion、Remotion

只安装你每天使用的工具。尽可能在项目范围内进行限制。每季度审计一次。每个插件,无论你是否使用,都会消耗上下文令牌。

Codex Cloud:大规模异步工作

桌面应用负责你的本地和交互式工作。当你遇到无法在单个交互式会话中完成的工作,或者希望多个任务并行运行而你可以专注于其他事情时,Cloud 就是你的选择。

Codex Cloud 是将 Codex 从一个快速的编码助手转变为一个能够水平扩展的初级工程师团队的功能。

提交一个任务,Codex 会启动一个预装了你的仓库的沙箱,进行工作、运行测试,并打开一个 PR。不会阻塞你的本地机器。

提交单个任务:

并行任务,核心模式:

二十分钟后,四个 PR 已经打开。审查、分类、合并。

CSV 扇出功能允许你提交一个任务文件,Codex 会将其作为并行云 Agent 进行扇出,并提供进度跟踪:

codex cloud 浏览活动和已完成的任务。codex cloud apply <task-id> 在合并前将更改拉取到本地。

GitHub 集成

云任务以 PR 的形式落地到你的仓库中。GitHub 集成决定了这些 PR 如何被审查,以及 Codex 如何接入你现有的 CI/CD 管道。

Codex 和 GitHub 在三个级别上集成:仓库环境、拉取请求审查以及用于 CI/CD 的 codex-action。

仓库环境是基础。在 Codex 设置中链接一个 GitHub 仓库后,云任务会克隆该仓库,在沙箱容器中运行任务,并将结果以分支或 PR 的形式推送。每个云任务会自动读取 AGENTS.md

拉取请求审查有两种方式:

  • 在任何 PR 评论中提及 @codex review。Codex 会用一个眼睛表情符号响应以确认收到,然后发布一个结构化的审查,重点关注根据你的 AGENTS.md 检查出的严重问题。
  • 打开自动审查功能,让 Codex 在每个新 PR 上自动发布评论,无需手动触发。

在 Codex 发布审查后,可以直接在 PR 评论线程中要求它修复标记的问题。它会将修复提交到同一个分支并更新 PR。

codex-action 是一个官方的 GitHub Action,它可以在任何触发器(推送、计划、问题创建或 PR 打开)下在 CI/CD 管道内运行 Codex CLI。这是在完全自动化的管道中集成 Codex 的推荐方式,无需人工参与。

自动化:无人值守工作

GitHub 集成处理当有人打开 PR 时的情况。自动化处理当完全不需要人工参与时的情况。

自动化是在专用工作树中按计划运行的 Codex 任务。从自动化面板进行设置:名称、项目、提示词、时间表和执行环境。

线程复用功能于 2026 年 4 月发布。自动化可以跨运行复用同一个线程,不断积累上下文并随着时间的推移变得更智能。

每个项目都应该有的三个入门级自动化:

  1. 每周依赖审查(周一早上 6 点):运行 pnpm outdatedpnpm audit。报告关键、主要和次要发现。自动为安全的次要和补丁升级创建 PR。不要触碰关键或主要更新;这些需要人工决策。
  2. 每日 Sentry 分类(工作日早上 8 点):获取过去 24 小时内按指纹分组的错误。对于每组出现 3 次或以上的错误,确定文件和行号,读取相关代码,并识别根本原因。发布分类报告。仅诊断,不修复。
  3. 每周陈旧 PR 清理(周五下午 5 点):列出超过 7 天未更新的开放 PR。对于每个 PR,确定它是等待你、等待审查还是已经过时,并发布一个提醒评论。不要关闭或合并任何东西。

杀掉任何输出不再被阅读的自动化。一个好的自动化可以节省一个你肯定会做的重复性任务,产生一个单一的、可快速浏览的输出,并且不会在无人值守的情况下采取破坏性行动。

MCP 集成

自动化处理你仓库内已有的内容。MCP 服务器将 Codex 扩展到处理你仓库之外的所有内容。

MCP(模型上下文协议)是插件背后的开放规范。当有插件存在时,使用插件。对于自定义集成到内部工具,使用原始 MCP。

  • STDIO:Codex 启动一个本地进程并通过 stdin/stdout 进行通信。覆盖了 95% 的个人使用场景。
  • Streamable HTTP:Codex 连接到一个网络端点。用于托管的团队 MCP。

添加一个原始 MCP 服务器:

或者直接在 ~/.codex/config.toml 中:

好的,这是根据您的要求翻译的简体中文版本。


为每个工具配置审批:自动批准读取,写入前询问。每个 MCP 服务器都会向 Codex 的上下文添加工具定义,这会消耗 token 并分散注意力。仅启用你实际使用的工具。

Docker MCP Toolkit 可以用一个命令将 Codex 连接到 220 多个预构建的服务器:docker mcp-client configure codex

移动应用

MCP 服务器扩展了 Codex 能触及的范围。移动应用则扩展了你触及 Codex 的方式。

2026 年 5 月 14 日,Codex 登陆了 iOS 和 Android 上的 ChatGPT 移动应用。

移动端的 Codex 是一个远程控制和监控界面,而不是代码编辑器。典型的用例是,当你离开办公桌时,在手机上检查一个长时间运行的云任务或 Goal 模式运行的进度。

在你的手机上,你可以:

  • 实时查看跨笔记本电脑、开发环境或已连接的远程环境的运行情况
  • 浏览线程并在并行任务之间切换
  • 在合并到分支之前审查代码差异
  • 批准或拒绝 Codex 要在你硬件上运行的命令
  • 如果任务需要更强的模型,可以在任务中切换模型
  • 从新的提示或直接从 GitHub 问题开始新任务
  • 对 Codex 创建的 Pull Request 进行评论

要设置它,请将 ChatGPT 更新到 2026 年 5 月 13 日或更新的版本,使用与桌面端相同的账户登录,并确保在“设置”>“Codex”>“环境”中至少配置了一个云环境。移动端会自动继承所有现有的线程和已连接的主机。

这个功能带来的实用循环:早上出门前启动一个 Goal 模式运行,在通勤路上检查进度,在手机上批准一个暂停的决策,然后走到办公室时前两个 PR 已经提交了。

Chrome 扩展

移动应用扩展了你的触达范围。Chrome 扩展则将 Codex 的触达范围扩展到你已登录的任何网站。

  • 这意味着它可以访问经过身份验证的服务:LinkedIn、Salesforce、Gmail、Workday,以及任何需要登录的内部工具。
  • 安装方法:打开 Codex 桌面应用内的“插件”,添加 Chrome 插件,并按照引导设置进行操作。
  • 扩展程序激活后会显示“已连接”状态。你可以从任何 Codex 线程中调用它:

Codex 可以通过子 Agent 跨不同线程控制多个 Chrome 标签页,每个标签页相互隔离。

与无头浏览器自动化相比的一个主要优势:Chrome 扩展可以访问 Web 开发者工具。Codex 可以检查 DOM、读取控制台错误信息,并在实时浏览器会话中诊断运行时问题。适用于 macOS 和 Windows。

Codex SDK

Chrome 扩展处理浏览器自动化。SDK 则处理程序化自动化;将 Codex 作为基础设施嵌入到你自己的应用程序和流水线中。

Codex SDK 让开发者能够从自己的应用程序和 CI 流水线中以编程方式控制 Codex。

安装 JavaScript SDK:

基本用法:

  • 在同一线程上再次调用 run() 以继续对话。使用 codex.resumeThread(threadId) 恢复已保存的线程。
  • Python SDK 使用 from codex_app_server import Codex。启动时传递模型名称:thread = codex.thread_start(model="gpt-5.5")
  • SDK 目前处于实验阶段,需要本地安装 Codex CLI。
  • 它通过 JSON-RPC 与本地应用服务器通信;它控制着你与桌面应用交互的同一个 Agent。

验证:如何真正信任 Codex 的输出

上述所有工具都会产生输出结果。验证决定了你能真正将多少输出投入生产。

生成问题已经解决。验证是瓶颈。

五个并行的云端 PR 意味着五次引入 bug 的机会。没有验证层,你的吞吐量受限于你阅读 PR 的速度。

核心问题是谄媚(sycophancy)。编写代码的模型有偏见,认为自己的代码是正确的。让它审查自己的工作,你大多数时候只会得到一句“没问题”。

两个结构性修复方案:

  1. auto_review(在 Codex 内部)是 Codex 内置的审阅子 Agent。上下文全新,对之前的输出没有投入,更有可能标记出真正的问题。
  2. 跨服务商验证(黄金标准)意味着 Codex 编写代码,而 Claude Code 进行审查。跨服务商验证能捕捉特定模型家族的盲点。这是生产代码的最小可行验证习惯。

将“计算机使用”(Computer Use)用于行为验证,可以弥合“测试通过”和“东西真的能用”之间的差距。让 Codex 打开开发服务器,点击相关流程,截图结果,并与你的 PRD 进行比较。

对每个 PR 的最小可行习惯:在你亲自打开代码差异之前,先用不同的模型运行自动化审查。先阅读审查摘要。只有在审查结果为干净时,才打开差异;然后只为品味而读,不为正确性。对于 UI 变更,查看截图。

最佳实践:久经考验的模式

有了验证习惯,以下是为开发者最常通过 Codex 运行的任务提供的端到端模板。

  1. 实现一个功能:使用“新功能”技能。阅读 PRD 和 AGENTS.md。先计划,等待批准。为快乐路径和一个错误情况编写测试。如果任何地方有歧义,在生成代码前先提问。
  2. 修复一个 bug:首先使用“调查”技能。只进行诊断。输出重现步骤、根因假设和验证计划。在确认之前不要修复。
  3. 重构:用 grep 列出所有位置。输出迁移计划。等待批准。所有现有测试必须无修改通过。如果某个测试需要更新,则测试本身有问题;停止并报告。一个 PR。
  4. 第三方集成:封装在 /lib/integrations/[name].ts 中。将环境变量添加到 .env.example。此 PR 不涉及 UI。以草稿模式打开,以便针对外部服务进行手动测试。
  5. 补全测试:输出包含快乐路径、边缘情况和错误情况的测试计划。等待批准。所有测试必须针对现有生产代码通过。不要修改生产代码。
  6. 依赖项升级:阅读版本之间的发布说明。列出重大更改。等待批准。更新并应用代码更改。运行测试直到全部通过。
  7. Goal 模式倡议:设置最大 PR 数、每个 PR 的最大代码行数、PR 之间的 CI 关卡以及明确的停止条件。对 AGENTS.md 中未包含的架构决策暂停。对任何破坏性的 API 变更暂停。

常见错误

以上模式涵盖了常见的成功做法。以下部分涵盖了常见的失败做法;解释了大多数糟糕 Codex 体验的十个错误。

  1. 模糊的任务。指明具体的结果、文件和约束条件。如果你无法具体说明,那么任务还没有准备好进行简述。
  1. 没有 AGENTS.md。写一个。即便写得不好也比没有强。
  1. 跳过计划。对于任何非琐碎的任务,“先制定计划”。
  1. 多任务提示。一个提示只做一个任务。使用子 Agent 或云任务进行并行工作。
  1. 从一开始就给予“危险-完全访问”权限。除了经过测试的自动化任务外,workspace-writeon-request 是合适的默认设置。
  1. 过多的 MCP 和插件。保持列表精简。停用你当前不用的。
  1. 自我审查。使用 auto_review 或完全不同的工具。编写代码的模型对其有偏见。
  1. 信任编译成功即正确。包含行为验证。对 UI 变更使用“计算机使用”。
  1. 过度并行化。只并行化独立的工作。共享文件必须串行化。
  1. 无界的目标。设置最大 PR 数、最大代码行数、最大时间、明确的停止条件。Goal 模式在设置了你会给初级工程师的约束时最为有用。

快速参考备忘单

CLI 命令:

关键文件位置:

  • 全局配置:~/.codex/config.toml
  • 全局 AGENTS.md~/.codex/AGENTS.md
  • 项目 AGENTS.md<repo-root>/AGENTS.md
  • 覆盖文件:AGENTS.override.md
  • 记忆:~/.codex/memories/
  • 技能(个人):$HOME/.agents/skills/
  • 技能(团队):仓库内的 .agents/skills/
  • 子 Agent:.codex/agents/<name>.md

四部分提示结构:

  1. 告知:目标结果,而不是实现方法
  2. 展示:示例输入和预期输出
  3. 描述:要使用的 API、库和模式
  4. 提醒:来自 AGENTS.md 的约定

结论

在使用 Claude 12 个月后,突破点并非某一天特别糟糕。而是速率限制、工作流程摩擦以及不断妨碍工作的桌面应用体验这些因素的累积。

正是这种挫败感促使转向了 Codex。

  • 在过去的 90 天里,深入使用 OpenAI 生态系统让一件事变得清晰:作为一个用于严肃开发者工作流程的工作环境,Codex 感觉更完整。
  • 其 Agent 模型更强大,周边工具更广泛,一旦 AGENTS.md、技能、云和验证循环就位,系统也更容易被信任。
  • 这并不意味着 Claude Code 没有价值。而是意味着权衡得失后它不再合理。

如果 Claude Code 仍然适合你的工作流程,请继续使用它。但如果你厌倦了速率限制、脆弱的会话以及感觉在与你工作方式作斗争的工具,那么 Codex 已经足够好,值得认真切换一下。

本文就是为了让这次切换更容易而写。

希望你喜欢这篇文章,并开始构建 ❤️

免责声明

本文由作者根据其笔记、研究和个人经验撰写,并由 AI 模型(Sonnet 4.6)编辑。

缩略图取自 Pinterest 并使用 AI 修改。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章