跳转到内容

最佳实践

身份 非官方简体中文镜像
翻译状态 AI 翻译
来源版本 官方未提供
同步日期 2026-07-31
官方原文 learn.chatgpt.com

如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加 .md 来获取 URL。

如果你刚开始使用 Codex,或刚接触编码 Agent,这份指南可以帮助你更快获得更好的结果。它涵盖了让 Codex 在 CLIIDE extensionChatGPT desktop app 中更高效的核心习惯,包括提示、规划、验证、MCP、技能和计划任务。

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

可以这样理解:先为任务提供正确的上下文,使用 AGENTS.md 保存持久化指导,将 Codex 配置为适合你的工作流,通过 MCP 连接外部系统,把重复性工作转化为技能,并自动化稳定的工作流。

良好的首次使用:上下文与提示

Section titled “良好的首次使用:上下文与提示”

即使你的提示并不完美,Codex 也已经足够强大,可以提供帮助。你通常只需进行少量设置,就可以把棘手的问题交给它,并获得良好的结果。清晰的提示并不是获得价值的必要条件,但它可以让结果更加可靠,尤其是在大型代码库或高风险任务中。

如果你在大型或复杂的代码库中工作,最大的突破是为任务提供 Codex 合适的上下文,以及清晰说明你希望完成的事项结构。

一个不错的默认做法是在提示中包含以下四项内容:

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

这有助于 Codex 保持任务范围明确、减少假设,并产出更易于审查的成果。

根据任务难度选择推理级别,并测试哪种设置最适合你的工作流。不同用户和任务适合的设置可能不同。

  • Low:适用于更快完成、范围明确的任务
  • Medium 或 High:适用于更复杂的更改或调试
  • Extra High:适用于耗时较长、Agent 自主性较强且需要大量推理的任务

为了更快提供上下文,可以尝试在 ChatGPT desktop app 中使用语音听写,直接口述你希望 Codex 完成的任务,而不是手动输入。

如果任务复杂、含糊不清,或难以准确描述,请先让 Codex 制定计划,再开始编写代码。

以下几种方法效果不错:

使用 Plan mode: 对大多数用户来说,这是最简单、最有效的选项。Plan mode 允许 Codex 收集上下文、提出澄清性问题,并在实现前制定更完善的计划。使用 /planShift+Tab 切换。

让 Codex 采访你: 如果你对想要的结果只有一个粗略想法,但不确定如何清晰描述,可以先让 Codex 向你提问。告诉它先挑战你的假设,在编写代码前把模糊的想法转化为具体方案。

使用 PLANS.md 模板: 对于更高级的工作流,你可以配置 Codex 遵循 PLANS.md 或执行计划模板,以处理运行时间较长或包含多个步骤的工作。有关更多详情,请参阅执行计划指南

当一种提示模式发挥作用后,下一步就是停止手动重复它。这正是AGENTS.md的用途。

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

一份好的 AGENTS.md 应涵盖:

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

/init 斜杠命令位于 CLI 中,是用于在当前目录搭建初始 AGENTS.md 的快速入门命令。它是一个很好的起点,但你应该编辑生成结果,使其符合团队实际构建、测试、评审和发布代码的方式。

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

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

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

当 Codex 两次犯下同一个错误时,让它进行回顾,并更新 AGENTS.md。这样,指导会始终实用,并以真实的摩擦点为基础。

配置是让 Codex 在不同会话和界面中表现更加一致的主要方式之一。例如,你可以设置模型选择、推理强度、沙箱模式、审批策略、配置文件和 MCP 设置的默认值。

一个不错的起始模式是:

  • 将个人默认设置保存在 ~/.codex/config.toml设置 > 配置 > 打开 config.toml 在 ChatGPT 桌面应用中)
  • 将仓库特定行为保存在 .codex/config.toml
  • 只在一次性场景中使用命令行覆盖(如果你使用 CLI)

config.toml 用于定义持久化偏好,例如 MCP 服务器、多 Agent 设置和功能标志。特定配置文件的覆盖设置位于单独的 $CODEX_HOME/profile-name.config.toml 文件中。

Codex 提供操作系统级别的沙箱机制,并且有两个可由你控制的关键开关。审批模式决定 Codex 何时请求你许可其运行命令;沙箱模式决定 Codex 是否可以在目录中读取或写入,以及 Agent 可以访问哪些文件。

如果你刚开始使用编码 Agent,请从默认权限开始。默认情况下保持严格的审批和沙箱限制,只有在明确需要时,才针对受信任的仓库或特定工作流放宽权限。

请注意,CLI、IDE extension 和 ChatGPT desktop app 共享相同的配置层。详情请参阅示例配置页面。

尽早为你的真实环境配置 Codex 。许多质量问题 其实是设置问题,例如工作目录错误、缺少写入权限、 模型默认值错误,或缺少工具和连接器。

不要只让 Codex 完成更改。在需要时让它创建测试、运行相关检查、确认结果,并在你接受成果前审查工作。

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

这可以包括:

  • 为更改编写或更新测试
  • 运行正确的测试套件
  • 检查 lint、格式化或类型检查
  • 确认最终行为符合请求
  • 审查差异,检查错误、回归或有风险的模式

在 ChatGPT 桌面应用中切换差异面板,以便直接 评审 变更 本地内容。点击某一具体行即可 提供反馈,该反馈会作为上下文传递给下一 Codex 轮。

这里有一个实用选项:斜杠命令 /review 提供了多种代码审查方式:

  • 针对基础分支进行 PR 风格的审查
  • 审查未提交的更改
  • 审查某个提交
  • 使用自定义审查说明

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

Codex 不应只是生成代码。在适当的指令下,它还可以帮助你测试、检查和审查代码

如果你使用 GitHub Cloud,可以设置 Codex 来运行 针对你的 PRs的代码评审。在 OpenAI, Codex 会评审 100% 的 PRs。你可以启用自动评审,或让 Codex 在你 @Codex时被动进行评审。

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

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

以下情况适合使用 MCP:

  • 所需上下文位于仓库之外
  • 数据经常变化
  • 你希望 Codex 使用工具,而不是依赖粘贴的指令
  • 你需要在不同用户或项目之间复用某种集成

Codex 同时支持 STDIO 和 Streamable HTTP 服务器,使用 OAuth。

在 ChatGPT 桌面应用中,前往 设置 > MCP 服务器 以查看自定义和推荐服务器。通常, Codex 可以帮助你安装所需服务器。你只需要提出请求。你也可以使用 codex mcp add 中的 CLI 命令,通过名称、 URL和其他详细信息添加自定义服务器。

只有在工具能够解锁真实工作流时才添加工具。不要一开始就接入 你使用的每个工具。先从一两个能明确消除你经常执行的手动 循环的工具开始,然后再逐步扩展。

当工作流变得可重复后,不要再依赖冗长的提示或反复来回沟通。使用技能,将指令打包到 SKILL.md 文件、上下文和 Codex 应持续应用的辅助逻辑中。技能可跨 CLI、IDE extension 和 ChatGPT desktop app 使用。

让每项技能只负责一项工作。先从 2 到 3 个具体用例开始,定义清晰的输入和输出,并编写描述,说明技能的功能和使用时机。加入用户实际可能说出的触发短语。

不要一开始就试图覆盖所有边界情况。先从一个具有代表性的任务开始,将其完善,然后把该工作流转化为技能,再逐步改进。只有在确实能够提高可靠性时,才加入脚本或额外资源。

一个实用的经验法则是:如果你不断重复使用同一个提示,或不断纠正同一个工作流,它可能就应该成为一项技能。

技能尤其适用于以下重复性工作:

  • 日志分诊
  • 发布说明起草
  • PR 根据清单进行评审
  • 迁移规划
  • 遥测或事件摘要
  • 标准调试流程

$skill-creator 技能是为技能搭建第一个版本的最佳起点。在迭代期间,先将第一个版本保存在本地。准备好广泛共享时,将其打包为一个插件。技能最重要的部分之一是描述,它应说明技能的功能和使用时机。

个人技能存储在 $HOME/.agents/skills,共享团队技能 可以提交到 .agents/skills 仓库中。这对于新队友入职尤其 有帮助。

当工作流稳定后,你可以安排 Codex 在后台为你运行。在 ChatGPT desktop app 中,计划任务允许你选择项目、提示、执行频率和重复性工作的执行环境。

计划任务 页面创建计划任务。选择项目、提示词、 执行频率,以及任务是在专用 Git 工作树中运行,还是在你的本地 环境中运行。提示词可以调用技能。了解更多关于 Git 工作树的信息。

适合的候选工作包括:

  • 汇总近期提交
  • 扫描可能存在的错误
  • 起草发行说明
  • 检查 CI 失败
  • 生成站会摘要
  • 按计划运行可重复的分析工作流

一个实用的规则是:技能定义方法,计划任务定义时间安排。如果工作流仍然需要大量引导,请先将其转化为技能。等它变得可预测后,再安排计划任务可以节省时间。

将计划任务用于反思和维护,而不仅仅是执行。回顾 最近的聊天,总结反复出现的阻碍,并随着时间改进提示词、说明 或工作流设置。

聊天会随着时间积累上下文、决策和操作,因此妥善管理聊天会对质量产生很大影响。

ChatGPT desktop app 允许你置顶聊天并创建 worktree。如果你使用 CLI,以下斜杠命令尤其有用:

  • /experimental 用于切换实验性功能并添加到你的 config.toml
  • /resume 用于恢复已保存的聊天
  • /fork 用于在保留原始转录内容的同时创建新聊天
  • /compact 当聊天变长,而你希望获得早期上下文的摘要版本时使用。 Codex 也会自动压缩聊天
  • /agent 当你运行并行 Agent,并想在活跃 Agent 线程之间切换时使用
  • /theme 用于选择语法高亮主题
  • /apps 用于使用 ChatGPT 应用直接在 Codex
  • /status 用于检查当前会话状态

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

使用 Codex的 子 Agent 工作流来 从主线程卸载有边界的工作。让主 Agent 专注于 核心问题,并将探索、测试或分诊等任务交给子 Agent。

初次使用 Codex 时,应避免以下几种常见错误:

  • 在提示中堆积持久化规则,而不是将其移入 AGENTS.md 或技能
  • 不提供如何最佳运行构建和测试命令的详细信息,导致 Agent 无法查看自己的工作
  • 在多步骤和复杂任务中跳过规划
  • 在了解工作流之前就授予 Codex 计算机的完整权限
  • 不使用 Git worktrees,却在相同文件上运行实时任务
  • 在手动执行尚不可靠之前,就安排重复性任务
  • 把 Codex 当作必须逐步监看的工具,而不是与自己的工作并行使用
  • 为整个项目使用一个聊天,而不是每个连贯成果使用一个聊天。这会导致上下文随时间膨胀,结果变差