Skip to content

从提示和规划到测试审查、MCP、技能和自动化,全面掌握 Codex 的使用技巧。

如果你刚开始使用 Codex,或者刚开始使用 coding agents,本指南会帮助你更快获得更好的结果。它涵盖了让 Codex 在 CLIIDE extensionCodex app 中更有效的核心习惯,包括提示词、规划、验证、MCP、skills 和 automations。

当你把 Codex 当作一个可以持续配置和改进的队友,而不是一次性的助手时,它的效果最好。

一个有用的理解方式是:从正确的任务上下文开始,使用 AGENTS.md 存放持久化指导,配置 Codex 以匹配你的工作流,用 MCP 连接外部系统,把重复工作变成 skills,并将稳定的工作流自动化。

强力的首次使用:上下文和提示词

Section titled “强力的首次使用:上下文和提示词”

即使你的提示词并不完美,Codex 也已经足够强大,可以提供价值。你通常可以在最少设置的情况下交给它一个困难问题,并仍然得到不错的结果。清晰的 prompting 并不是获得价值的必要条件,但它确实会让结果更可靠,尤其是在更大的代码库或更高风险的任务中。

如果你在大型或复杂仓库中工作,最大的突破点是给 Codex 正确的任务上下文,并清楚描述你想完成的结构。

一个好的默认提示词应包含四件事:

  • 目标: 你想改变或构建什么?
  • 上下文: 哪些文件、文件夹、文档、示例或错误与这个任务相关?你可以通过 @ 提及某些文件作为上下文。
  • 约束: Codex 应该遵循哪些标准、架构、安全要求或约定?
  • 完成标准: 在任务完成前,什么应该为真?例如测试通过、行为发生变化,或者 bug 不再复现。

这可以帮助 Codex 保持范围明确、减少假设,并产出更容易审查的工作。

根据任务难度选择 reasoning level,并测试哪种设置最适合你的工作流。不同用户和任务适合不同设置。

  • Low 适合更快、范围明确的任务
  • Medium 或 High 适合更复杂的变更或调试
  • Extra High 适合长时间、agentic、推理密集型任务

如果任务复杂、模糊,或者很难描述清楚,请先让 Codex 制定计划,再开始写代码。

有几种方法很有效:

使用 Plan mode: 对大多数用户来说,这是最简单也最有效的选择。Plan mode 可以让 Codex 收集上下文、提出澄清问题,并在实现前构建更强的计划。可以通过 /planShift+Tab 切换。

让 Codex 先采访你: 如果你对想要的东西有一个粗略想法,但不确定如何准确描述,可以让 Codex 先向你提问。告诉它挑战你的假设,并在写代码之前把模糊想法变成具体方案。

使用 PLANS.md 模板: 对于更高级的工作流,你可以配置 Codex 遵循 PLANS.md 或执行计划模板,以处理更长时间运行或多步骤的工作。更多细节请参见 execution plans guide

一旦某个提示词模式有效,下一步就是停止手动重复它。这就是 AGENTS.md 的作用。

可以把 AGENTS.md 理解为面向 agents 的开放格式 README。它会自动加载到上下文中,是编码你和团队希望 Codex 在仓库中如何工作的最佳位置。

一个好的 AGENTS.md 会覆盖:

  • 仓库布局和重要目录
  • 如何运行项目
  • 构建、测试和 lint 命令
  • 工程约定和 PR 期望
  • 约束和禁止事项
  • 什么算完成,以及如何验证工作

CLI 中的 /init 斜杠命令是快速启动命令,可以在当前目录中搭建一个初始 AGENTS.md。这是一个很好的起点,但你应该编辑生成结果,让它匹配你团队实际构建、测试、审查和发布代码的方式。

你可以在不同层级创建 AGENTS.md 文件:位于 ~/.codex 的全局 AGENTS.md 用于个人默认规则;仓库级文件用于共享标准;子目录中的更具体文件用于局部规则。如果有一个更靠近当前目录的更具体文件,则该指导优先。

保持实用。一个简短、准确的 AGENTS.md 比一个充满模糊规则的长文件更有用。从基础内容开始,然后只在你发现重复错误之后添加新规则。

如果 AGENTS.md 开始变得过大,请保持主文件简洁,并引用任务专用的 markdown 文件,例如规划、代码审查或架构相关文件。

配置是让 Codex 在不同会话和界面中表现更一致的主要方式之一。例如,你可以为模型选择、reasoning effort、sandbox mode、approval policy、profiles 和 MCP 设置默认值。

一个好的起始模式是:

  • 将个人默认值放在 ~/.codex/config.toml 中:Codex app 中进入 Settings → Configuration → Open config.toml
  • 将仓库特定行为放在 .codex/config.toml
  • 仅在一次性场景中使用命令行覆盖项,如果你使用 CLI

config.toml 是定义持久化偏好的位置,例如 MCP servers、多代理设置和 feature flags。特定 profile 的覆盖项位于单独的 $CODEX_HOME/profile-name.config.toml 文件中。

Codex 自带操作级别的沙盒机制,并有两个你可以控制的关键旋钮。Approval mode 决定 Codex 什么时候请求你允许它运行命令;sandbox mode 决定 Codex 是否可以读取或写入目录,以及 agent 可以访问哪些文件。

如果你刚开始使用 coding agents,请从默认权限开始。默认情况下保持审批和沙盒严格,只有在需求明确之后,才为可信仓库或特定工作流放宽权限。

请注意,CLI、IDE 和 Codex app 共享相同的配置层。可以在 sample configuration 页面了解更多信息。

不要只让 Codex 做变更就停止。需要时让它创建测试、运行相关检查、确认结果,并在你接受之前审查工作。

Codex 可以为你完成这个循环,但前提是它知道什么才算 “好”。这些指导可以来自提示词,也可以来自 AGENTS.md

这可以包括:

  • 为变更编写或更新测试
  • 运行正确的测试套件
  • 检查 lint、格式化或类型检查
  • 确认最终行为符合请求
  • 审查 diff,查找 bug、回归或高风险模式

这里一个有用的选项是斜杠命令 /review,它提供几种代码审查方式:

  • 基于 base branch 做 PR 风格审查
  • 审查未提交变更
  • 审查某个 commit
  • 使用自定义审查指令

如果你和团队有一个 code_review.md 文件,并且从 AGENTS.md 中引用它,Codex 在审查期间也可以遵循该指导。对于希望审查行为在不同仓库和贡献者之间保持一致的团队来说,这是一个强模式。

Codex 不应该只是生成代码。通过正确指令,它也可以帮助你 测试代码、检查代码和审查代码

如果你使用 GitHub Cloud,可以设置 Codex 为你的 PR 运行 code reviews。在 OpenAI,Codex 会审查 100% 的 PR。你可以启用自动审查,也可以在 @Codex 时让它响应式审查。

当 Codex 需要的上下文位于仓库之外时,请使用 MCPs。它可以让 Codex 连接到你已经使用的工具和系统,这样你就不需要不断把实时信息复制粘贴到提示词中。

Model Context Protocol,即 MCP,是一种开放标准,用于将 Codex 连接到外部工具和系统。

当出现以下情况时使用 MCP:

  • 所需上下文位于仓库之外
  • 数据频繁变化
  • 你希望 Codex 使用工具,而不是依赖粘贴的指令
  • 你需要跨用户或项目的可重复集成

Codex 支持 STDIO 和带 OAuth 的 Streamable HTTP servers。

在 Codex App 中,进入 Settings → MCP servers 可以查看自定义和推荐 servers。通常,Codex 可以帮助你安装所需 servers。你只需要提出请求。你也可以在 CLI 中使用 codex mcp add 命令,带上名称、URL 和其他细节来添加自定义 servers。

一旦某个工作流变得可重复,就不要再依赖长提示词或重复来回沟通。使用 Skill 将指令打包到 SKILL.md 文件中,并附带上下文和 Codex 应该稳定应用的支持逻辑。Skills 可用于 CLI、IDE extension 和 Codex app。

让每个 skill 的范围只聚焦一项工作。从 2 到 3 个具体用例开始,定义清楚输入和输出,并编写 description,使它说明该 skill 做什么以及什么时候使用它。包括用户实际会说的触发短语。

不要一开始就试图覆盖所有边界情况。从一个有代表性的任务开始,让它运行良好,然后把该工作流变成 skill,再持续改进。只有当脚本或额外 assets 能提高可靠性时才添加它们。

一个好的经验法则是:如果你一直重复使用同一个提示词,或者一直纠正同一个工作流,它很可能应该变成一个 skill。

Skills 尤其适合以下重复性工作:

  • 日志分诊
  • 发布说明起草
  • 按清单做 PR 审查
  • 迁移规划
  • 遥测或事故摘要
  • 标准调试流程

$skill-creator skill 是搭建第一个 skill 版本的最佳起点。迭代期间先把第一个版本保持在本地。当它准备好广泛共享时,再将其打包为 plugin。skill 最重要的部分之一是 description。它应该说明该 skill 做什么以及什么时候使用它。

一旦某个工作流稳定下来,你就可以安排 Codex 在后台为你定期运行它。在 Codex app 中,automations 可以让你为周期性任务选择项目、提示词、频率和执行环境。

一旦某个任务对你来说变得重复,你就可以在 Codex app 的 Automations 标签页中创建 automation。你可以选择它在哪个项目中运行、运行的提示词是什么,也可以调用 skills,以及运行频率。你还可以选择 automation 是在专用 git worktree 中运行,还是在你的本地环境中运行。了解更多关于 git worktrees 的信息。

好的候选任务包括:

  • 总结最近 commits
  • 扫描可能的 bug
  • 起草发布说明
  • 检查 CI failures
  • 生成站会摘要
  • 按计划运行可重复分析工作流

一个有用的规则是:skills 定义方法,automations 定义时间表。如果某个工作流仍然需要大量引导,先把它变成 skill。一旦它可预测,automation 就会成为放大器。

使用会话控制组织长时间运行的工作

Section titled “使用会话控制组织长时间运行的工作”

Codex sessions 不只是聊天历史。它们是工作线程,会随着时间积累上下文、决策和操作,因此良好管理它们会显著影响质量。

Codex app UI 让线程管理最简单,因为你可以 pin threads 和创建 worktrees。如果你使用 CLI,这些 slash commands 尤其有用:

  • /experimental:切换实验性功能并添加到你的 config.toml
  • /resume:恢复已保存的对话
  • /fork:在保留原始 transcript 的同时创建新线程
  • /compact:当线程变长,并且你想要早期上下文的摘要版本时使用。请注意,Codex 也会自动为你压缩对话
  • /agent:当你运行并行 agents,并想在活跃 agent 线程之间切换时使用
  • /theme:选择语法高亮主题
  • /apps:直接在 Codex 中使用 ChatGPT apps
  • /status:检查当前会话状态

每个连贯的工作单元使用一个线程。如果工作仍然属于同一个问题,留在同一个线程通常更好,因为它会保留推理轨迹。只有当工作真正分支时才 fork。

刚开始使用 Codex 时,需要避免一些常见错误:

  • 在提示词中塞入过多持久化规则,而不是把它们移到 AGENTS.md 或 skill 中
  • 没有让 agent 看见自己的工作,也就是没有提供如何最好运行构建和测试命令的细节
  • 在多步骤和复杂任务中跳过规划
  • 在理解工作流之前,就给 Codex 你的电脑的完整权限
  • 没有使用 git worktrees,就在相同文件上运行实时线程
  • 在工作流还没有手动可靠运行前,就把重复任务变成 automation
  • 把 Codex 当成你必须一步一步盯着看的东西,而不是把它和你自己的工作并行使用
  • 每个项目只使用一个线程,而不是每个任务使用一个线程。这会导致上下文膨胀,并随着时间推移让结果变差
-
0:000:00