提示词(Prompting)
英文标题:OpenAI's Official Guide: 9 Copy-Ready Codex Prompt Workflows for Fixing Bugs, Turning Screenshots into Prototypes, and Cloud Refactors
本文介绍了如何通过清晰的目标、背景、输出格式和边界来编写有效的提示词,以引导ChatGPT生成更准确、可用的结果。
本文目录
提示词概述
提示词就是你告诉 ChatGPT 你想知道什么、想做什么或想改什么的方式。一个提示词可以是一个问题、一个指令或一个目标。你不需要用技术语法或固定格式。用你自己的话开始,看看回复,然后用后续消息来调整结果。
一个简短的提示词通常就够了。对于更大或更重要的任务,可以包含以下关键部分:
- 目标:ChatGPT 应该做什么?
- 背景:哪些信息或资料会有帮助?
- 输出:你需要什么格式、长度或详细程度?
- 边界:哪些内容必须保持不变?ChatGPT 应该避免什么,或者在行动前先跟你确认?
只用那些对你有帮助的部分。你不需要填满每一项,也不需要遵循固定格式。
描述你需要的成果
从成果开始,而不是列出一大堆步骤。当受众或格式会影响 ChatGPT 的输出时,记得说明这些细节。
把这份会议记录改成给项目团队的简短更新。
把决定和下一步行动放在最前面。
这个提示词说明了要创建什么以及谁会看它。当过程本身很重要时,再描述过程。否则,给 ChatGPT 留出空间,让它自己去搜索、比较信息并调整方法。
添加有用的背景信息
分享那些可能影响结果的信息。只添加重要的资料,并说明 ChatGPT 应该从每个资料中获取什么。
- 当你希望 ChatGPT 总结、比较、转换或创建供审阅的文件时,可以附上文档、电子表格、演示文稿或 PDF 文件。
- 当任务依赖于视觉背景时,可以添加截图、图表或其他图像输入。指出重要的区域,而不是只依赖图像本身。
- 当答案依赖于最新信息时,让 ChatGPT 使用网络搜索,并在你需要核实结果时要求提供来源。
- 当相关的聊天或任务需要共享文件、资料或本地文件夹时,使用项目。
使用连接的资料
当 ChatGPT 可以访问连接的资料时,告诉它应该去哪里找以及找什么。你不需要描述它应该执行的每一次搜索。
使用 Drive 中的最新项目计划以及项目 Slack 频道中的相关决定和更新,准备一份状态更新。
连接的资料需要匹配的插件,可用性取决于你的套餐和工作区设置。
使用插件
插件为 ChatGPT 提供可重复使用的指令以及与 Google Drive、Gmail、Slack 和 GitHub 等工具的连接。说出你需要的成果,让 ChatGPT 从可用的工具中选择。要选择特定插件,请在编辑器中输入 @。
个性化 ChatGPT
把适用于所有聊天和任务的偏好设置在“设置 > 个性化”中,作为自定义指令。把只与当前任务相关的细节放在提示词中。
设置边界,防止真正的问题
边界是 ChatGPT 需要的一些指令,以避免产生额外工作或执行你未预料的操作。当修改错误细节会导致结果不可用时,或者当你想在影响他人之前先审查某些内容时,添加一个边界。
- 保持已批准的日期和预算数字不变。
- 只使用提供的资料。标记缺失的信息,而不是猜测。
- 将建议控制在规定的预算内。
- 把消息准备成草稿。不要发送。
专注于最重要的一两个边界。你不需要控制 ChatGPT 的每一步。
让结果可以直接使用
告诉 ChatGPT 你打算如何使用结果。这有助于它选择合适的长度、详细程度和组织方式。
- 把它做成一份一页的摘要,让主管能在开会前快速浏览。把决定和下一步行动放在最前面。
- 把这些笔记改成一封后续邮件,包含决定、负责人和截止日期。
- 创建一个清晰的计划支出与实际支出对比表,并突出显示任何超过 10% 的差异。
对于重要的工作,让 ChatGPT 做一次最终检查,比如确认每个行动项都有负责人和截止日期,或者标记它无法核实的信息。然后在使用或分享之前,你自己再审查一遍结果。
用后续消息改进结果
你的第一个提示词不需要完美。先看看结果,然后提出你想要的特定修改。
让开头更直接,保留证据,把建议移到背景部分之前。
你可以添加缺失的资料、纠正方向、要求另一个选项或改变详细程度,而无需重新开始。
引导和排队
当 Codex 已经在工作时,你可以不等当前运行结束就发送另一条消息:
- 引导:将消息添加到当前运行中。用于改变方向、添加缺失的细节或分享新信息。
- 排队:将消息保存到下一次运行。用于应该等到当前工作完成后再进行的后续操作。
在 ChatGPT 桌面应用中,在设置 > 通用 > 后续行为下选择默认行为。排队的消息会出现在编辑器上方,你可以编辑、重新排序、发送或删除它们。该设置还显示了在不更改默认设置的情况下,对单条消息使用另一种行为的快捷键。
在 Codex CLI 中,当 Codex 正在工作时按 Enter 键可以引导当前轮次,或者按 Tab 键将消息排队到下一轮。详情请参见交互式快捷键。
把各部分组合起来
对于一个使用连接资料的项目更新,一个完整的提示词可能如下所示:
为周一的领导层会议准备一份一页的项目状态更新。使用 Drive 中的最新项目计划以及项目 Slack 频道中的相关决定和更新。
以领导层需要做的决定和下一步行动开头。总结进展、风险、负责人和截止日期。保持已批准的日期和预算数字不变。标记任何冲突或缺失的信息,不要发送或发布任何内容。
在完成之前,检查每个下一步行动是否有负责人和截止日期。
这个提示词涵盖了目标、背景、输出和边界,然后要求做一次最终检查,但没有列出每一步。
使用语音听写
在 ChatGPT 桌面应用中,当编辑器可见时,按住 Ctrl+M,然后开始说话。ChatGPT 会将你的语音转录到编辑器中,这样你可以在发送提示词之前查看和编辑。
聊天(Chat)的提示词示例
使用聊天功能来提问、构思、起草和日常决策。从你想要的结果开始,只在需要时才添加细节。
理解一个主题
向一个从未投资过的人解释复利是如何运作的。
用一个具体的例子,并定义你引入的任何金融术语。
起草和完善写作
起草一封友好的邮件,拒绝这个邀请,因为我将出差。
控制在 120 字以内,并为未来的活动留有余地。
比较选项
比较这两个手机套餐,针对一个每年出国旅行两次的人。
用表格显示重要的差异,然后推荐一个并解释权衡。
制定实用计划
计划五个工作日晚餐,每餐用时少于 30 分钟。
避免花生,在餐食之间重复使用食材,最后列出一份合并的购物清单。
工作(Work)的提示词
使用聊天功能进行快速提问、简短改写、头脑风暴和轻量级起草。使用工作功能来处理那些需要不同资料或工具、涉及一系列步骤、进行修改或产生较大交付物的任务。
对于工作任务,描述你需要的成果,提供源材料,说明受众,并解释你将如何审查工作。让 ChatGPT 制定计划、收集所需信息、创建文件并在完成前检查它们。
高效使用工作功能
工作功能对于耗时或重复性的任务,或者对于可以重复使用的成品文件很有用。一个使用更多积分的任务如果节省了时间、提高了质量或帮助你做出了重要决定,那仍然是值得的。
从一个你可以审查的结果开始:
- 只包含相关的资料,并在适当时限制日期范围。
- 定义受众、输出格式和期望的长度。
- 将必需的工作与可选的改进或润色分开。
- 当方法很重要时,要求制定计划。在 ChatGPT 发送、发布或更改他人依赖的信息之前,需要你的批准。
- 如果任务开始做你不再需要的工作,缩小范围或停止它。
审查第一个结果,完善指令,并在工作流程有效时重复使用。
将源材料转换为成品文件
使用附带的季度报告创建一份领导层简报和一份六页的演示文稿。
受众是执行团队。以他们需要做出的三个决定开头,区分报告的事实和你的分析,将每个数字引用到其源文件,并在完成前检查简报和演示文稿是否一致。
研究一个决策
为一家 50 人的公司研究三个客户支持平台。
使用当前资料比较定价、安全性、集成和迁移工作量。
交付一份建议备忘录,包含链接、假设以及我们在签署合同前应该回答的问题。
协调一次发布
为附带的产品简介创建一份发布计划。
包含时间线、负责人、依赖关系、风险、公告草稿、客户常见问题解答和发布日检查清单。
在生成最终文件之前,标记任何缺失的决定。
对于重复性工作,先在普通任务中完善提示词。在输出可靠之后,从该任务安排工作。当每次计划运行都应该开始一个新任务时,创建一个独立的计划任务。
Codex 的提示词
当你希望 ChatGPT 处理代码、代码库或开发者工具时,使用 Codex。一个有用的 Codex 提示词要说明你想要的行为,指向相关的代码或复现步骤,保留重要的约束条件,并说明如何验证更改。
对于多步骤任务,当你希望 Codex 在编辑之前先调查并提出方法时,在应用编辑器中输入 /plan。当目标模式可用时,在计划之后使用 /goal 来设置一个持久目标。请参见应用斜杠命令获取当前命令列表。
如何阅读这些示例
每个工作流程包括:
- 何时使用以及最适合哪个 Codex 界面(IDE、CLI 或云端)。
- 带有示例用户提示词的步骤。
- 背景说明:Codex 自动看到什么 vs 你应该附上什么。
- 验证:如何检查输出。
注意:IDE 扩展会自动包含你打开的文件作为背景。在 CLI 中,明确提及路径,或者使用 /mention 和 @ 路径自动补全来附加文件。
注意:IDE 扩展会自动包含你打开的文件作为背景。在 CLI 中,明确提及路径,或者使用 /mention 和 @ 路径自动补全来附加文件。
Codex 在沙箱中运行本地命令,该沙箱限制了文件和网络访问。如果任务需要跨越这个边界,Codex 会在继续之前遵循你的批准策略。
解释代码库
当你入职、接手一个服务,或者试图理解一个协议、数据模型或请求流程时使用。
- 打开最相关的文件。
打开最相关的文件。
- 选择你关心的代码(可选但推荐)。
选择你关心的代码(可选但推荐)。
- 提示 Codex: 解释请求如何流经所选代码。
包括:
- 每个涉及模块的职责的简短总结
- 哪些数据在何处被验证
- 更改此代码时需要注意的一两个“陷阱”
提示 Codex:
解释请求如何流经所选代码。
包括:
- 每个涉及模块的职责的简短总结
- 哪些数据在何处被验证
- 更改此代码时需要注意的一两个“陷阱”
验证:
- 要求提供一个你可以验证的图表或检查清单:
将请求流程总结为编号的步骤列表。然后列出涉及的文件。
- 启动一个交互式会话: codex
启动一个交互式会话:
codex
- 附加文件(可选)并提示: 我需要理解这个服务使用的协议。阅读 @foo.ts @schema.ts 并解释模式和请求/响应流程。重点关注必填字段与可选字段以及向后兼容规则。
附加文件(可选)并提示:
我需要理解这个服务使用的协议。阅读 @foo.ts @schema.ts 并解释模式和请求/响应流程。重点关注必填字段与可选字段以及向后兼容规则。
背景说明:
- 你可以在编辑器中使用 @ 来插入工作区中的文件路径,或者使用 /mention 来附加特定文件。
修复一个 Bug
当你有一个可以在本地复现的失败行为时使用。
- 在仓库根目录启动 Codex: codex
在仓库根目录启动 Codex:
codex
- 给 Codex 一个复现方法,加上你怀疑的文件: Bug:在设置屏幕上点击“保存”有时会显示“已保存”,但更改没有持久化。
复现步骤:
- 启动应用:npm run dev
- 转到 /settings
- 切换“启用警报”
- 点击保存
- 刷新页面:切换开关重置了
约束条件:
- 不要更改 API 形状。
- 保持修复最小化,如果可行的话添加一个回归测试。
先在本地复现这个 bug,然后提出补丁并运行检查。
给 Codex 一个复现方法,加上你怀疑的文件:
Bug:在设置屏幕上点击“保存”有时会显示“已保存”,但更改没有持久化。
复现步骤:
1) 启动应用:npm run dev
2) 转到 /settings
3) 切换“启用警报”
4) 点击保存
5) 刷新页面:切换开关重置了
约束条件:
- 不要更改 API 形状。
- 保持修复最小化,如果可行的话添加一个回归测试。
先在本地复现这个 bug,然后提出补丁并运行检查。
背景说明:
- 由你提供:复现步骤和约束条件(这些比高级描述更重要)。
- 由 Codex 提供:命令输出、发现的调用点以及它触发的任何堆栈跟踪。
验证:
- Codex 应该在修复后重新运行复现步骤。
- 如果你有标准的检查流程,让它运行:
修复后,运行 lint + 最小的相关测试套件。报告命令和结果。
- 打开你认为 bug 所在的文件,以及它的最近调用者。
打开你认为 bug 所在的文件,以及它的最近调用者。
- 提示 Codex: 找到导致“已保存”显示但更改没有持久化的 bug。在提出修复后,告诉我如何在 UI 中验证它。
提示 Codex:
找到导致“已保存”显示但更改没有持久化的 bug。在提出修复后,告诉我如何在 UI 中验证它。
编写测试
当你想要定义要测试的确切范围时使用。
- 打开包含函数的文件。
打开包含函数的文件。
- 选择定义函数的行。从命令面板中选择“添加到 Codex 线程”,将这些行添加到背景中。
选择定义函数的行。从命令面板中选择“添加到 Codex 线程”,将这些行添加到背景中。
- 提示 Codex: 为这个函数编写一个单元测试。遵循其他测试中使用的约定。
提示 Codex:
为这个函数编写一个单元测试。遵循其他测试中使用的约定。
背景说明:
-
由“添加到 Codex 线程”命令提供:选中的行(这是“行号”范围),加上打开的文件。
-
启动 Codex: codex
启动 Codex:
codex
- 用一个函数名提示: 为 @transform.ts 中的 invert_list 函数添加一个测试。覆盖正常路径和边界情况。
用一个函数名提示:
为 @transform.ts 中的 invert_list 函数添加一个测试。覆盖正常路径和边界情况。
从截图进行原型开发
当你想要将设计稿、截图或 UI 参考转换为可工作的原型时使用。
- 将你的截图保存在本地(例如 ./specs/ui.png)。
将你的截图保存在本地(例如 ./specs/ui.png)。
- 运行 Codex: codex
运行 Codex:
codex
- 将图像文件拖入终端以将其附加到提示词中。
将图像文件拖入终端以将其附加到提示词中。
- 用约束条件和结构跟进: 基于这个图像创建一个新的仪表板。
约束条件:
- 使用 react、vite 和 tailwind。用 typescript 编写代码。
- 尽可能匹配间距、排版和布局。
输出:
- 一个渲染 UI 的新路由/页面
- 任何需要的小组件
- 包含本地运行说明的 README.md
用约束条件和结构跟进:
基于这个图像创建一个新的仪表板。
约束条件:
- 使用 react、vite 和 tailwind。用 typescript 编写代码。
- 尽可能匹配间距、排版和布局。
输出:
- 一个渲染 UI 的新路由/页面
- 任何需要的小组件
- 包含本地运行说明的 README.md
背景说明:
- 图像提供了视觉需求,但你仍然需要指定实现约束条件(框架、路由、组件样式)。
- 在文本中包含图像未显示的行为,例如悬停状态、验证规则或键盘交互。
验证:
- 让 Codex 运行开发服务器(如果允许)并告诉你确切的位置:
启动开发服务器,并告诉我查看原型的本地 URL/路由。
- 在 Codex 任务中附加图像(拖放或粘贴)。
在 Codex 任务中附加图像(拖放或粘贴)。
- 提示 Codex: 创建一个新的设置页面。使用附带的截图作为目标 UI。 遵循此项目中其他文件的设计和视觉模式。
提示 Codex:
创建一个新的设置页面。使用附带的截图作为目标 UI。
遵循此项目中其他文件的设计和视觉模式。
使用实时更新迭代 UI
当你想要一个紧密的“设计 → 调整 → 刷新 → 调整”循环,同时 Codex 编辑代码时使用。
- 启动 Codex: codex
启动 Codex:
codex
- 在单独的终端窗口中启动开发服务器: npm run dev
在单独的终端窗口中启动开发服务器:
npm run dev
- 提示 Codex 进行更改: 为着陆页提出 2-3 个样式改进建议。
提示 Codex 进行更改:
为着陆页提出 2-3 个样式改进建议。
- 选择一个方向,并用小的、具体的提示词进行迭代: 选择选项 2。
只更改头部:
- 让排版更具编辑风格
- 增加空白
- 确保在移动设备上看起来也不错
选择一个方向,并用小的、具体的提示词进行迭代:
选择选项 2。
只更改头部:
- 让排版更具编辑风格
- 增加空白
- 确保在移动设备上看起来也不错
- 用有针对性的请求重复: 下一次迭代:减少视觉噪音。 保持布局,但简化颜色并移除任何多余的边框。
用有针对性的请求重复:
下一次迭代:减少视觉噪音。
保持布局,但简化颜色并移除任何多余的边框。
验证:
- 在 Codex 更新代码时,在浏览器中审查更改。
- 提交你喜欢的更改,并还原你不喜欢的更改。
- 如果你还原或修改了一个编辑,告诉 Codex,这样它就不会在处理下一个提示词时覆盖你的编辑。
将重构委托给云端
当你想要用本地背景设计一个方法,然后将长时间的实现委托给一个可以并行运行的云端任务时使用。
- 确保你当前的工作已提交或至少已暂存,这样你可以干净地比较更改。
确保你当前的工作已提交或至少已暂存,这样你可以干净地比较更改。
- 让 Codex 生成一个重构计划。如果你有 $plan 技能可用,显式调用它: $plan
我们需要重构 auth 子系统以:
- 拆分职责(令牌解析 vs 会话加载 vs 权限)
- 减少循环导入
- 提高可测试性
约束条件:
- 没有用户可见的行为更改
- 保持公共 API 稳定
- 包含一个逐步迁移计划
让 Codex 生成一个重构计划。如果你有 $plan 技能可用,显式调用它:
$plan
我们需要重构 auth 子系统以:
- 拆分职责(令牌解析 vs 会话加载 vs 权限)
- 减少循环导入
- 提高可测试性
约束条件:
- 没有用户可见的行为更改
- 保持公共 API 稳定
- 包含一个逐步迁移计划
- 审查计划并协商更改: 修改计划以:
- 明确指定每个里程碑中移动哪些文件
- 包含一个回滚策略
审查计划并协商更改:
修改计划以:
- 明确指定每个里程碑中移动哪些文件
- 包含一个回滚策略
背景说明:
- 当 Codex 可以在本地扫描当前代码(入口点、模块边界、依赖图提示)时,计划效果最好。
- 如果你还没有这样做,设置一个 Codex 云端环境。
如果你还没有这样做,设置一个 Codex 云端环境。
- 点击提示编辑器下方的云端图标,选择你的云端环境。
点击提示编辑器下方的云端图标,选择你的云端环境。
- 当你输入下一个提示词时,Codex 会在云端创建一个新任务,该任务会继承现有的任务背景(包括计划和任何本地源更改)。 实现计划中的里程碑 1。
当你输入下一个提示词时,Codex 会在云端创建一个新任务,该任务会继承现有的任务背景(包括计划和任何本地源更改)。
实现计划中的里程碑 1。
- 审查云端差异,如果需要则进行迭代。
审查云端差异,如果需要则进行迭代。
- 直接从云端创建 PR,或者将更改拉取到本地进行测试和收尾。
直接从云端创建 PR,或者将更改拉取到本地进行测试和收尾。
- 迭代计划中的其他里程碑。
迭代计划中的其他里程碑。
委托给云端的任务在隔离环境中运行。在代理阶段,互联网访问是关闭的,除非你为环境启用它。了解更多关于云端互联网访问的信息。
进行本地代码审查
当你希望在提交或创建 PR 之前获得第二双眼睛时使用。
- 启动 Codex: codex
启动 Codex:
codex
- 运行审查命令: /review
运行审查命令:
/review
- 可选:提供自定义关注指令: /review 关注边界情况和安全问题
可选:提供自定义关注指令:
/review 关注边界情况和安全问题
验证:
- 根据审查反馈应用修复,然后重新运行 /review 以确认你解决了问题。
审查 GitHub 拉取请求
当你希望在不拉取本地分支的情况下获得审查反馈时使用。
在使用之前,在你的仓库上启用 Codex 代码审查。请参见代码审查。
- 在 GitHub 上打开拉取请求。
在 GitHub 上打开拉取请求。
- 留下一条评论,用明确的关注点标记 Codex: @codex review
更新文档
当你需要准确、清晰的文档修改时,可以使用此方法。
- 确定要修改的文档文件,并在 IDE 中打开它们,或者在 IDE 或 CLI 中通过 @ 提及它们。
确定要修改的文档文件,并在 IDE 中打开它们,或者在 IDE 或 CLI 中通过 @ 提及它们。
- 向 Codex 提供范围和验证要求: 更新“高级功能”文档,提供身份验证故障排除指南。验证所有链接是否有效。
向 Codex 提供范围和验证要求:
更新“高级功能”文档,提供身份验证故障排除指南。验证所有链接是否有效。
- 在 Codex 起草修改后,审阅文档并根据需要迭代。
在 Codex 起草修改后,审阅文档并根据需要迭代。
验证:
- 阅读渲染后的页面。
在页面中展开原始 Markdown
---
title: "提示词(Prompting)"
title_en: "OpenAI's Official Guide: 9 Copy-Ready Codex Prompt Workflows for Fixing Bugs, Turning Screenshots into Prototypes, and Cloud Refactors"
source: "learn.chatgpt.com"
source_url: "https://learn.chatgpt.com/docs/prompting"
published_at: "2026-07-11T00:00:00.000Z"
language: "zh-CN"
topics: ["openai"]
tags: ["深度","提示词工程","ChatGPT","Codex"]
review_status: "unreviewed"
---
# 提示词(Prompting)
> 本文介绍了如何通过清晰的目标、背景、输出格式和边界来编写有效的提示词,以引导ChatGPT生成更准确、可用的结果。
## 内容摘要
本文详细讲解了编写提示词的核心要素:目标、背景、输出和边界,并强调从成果出发而非步骤。通过添加有用背景(如文档、图像、网络搜索)、设置边界(如保持关键数据不变)、明确输出格式和用途,可以提升结果质量。文章还介绍了如何用后续消息迭代改进,以及针对Chat、Work和Codex三种场景的提示词示例,包括理解主题、起草写作、比较选项、修复Bug、编写测试、从截图原型开发等实用案例。
## 为什么值得关注
掌握提示词编写技巧能显著提升与AI协作的效率和质量,避免无效沟通和错误输出,尤其对于需要精确结果的工作任务和代码开发至关重要。
## 核心要点
- 提示词应包含目标、背景、输出和边界四个关键部分,但无需全部使用。
- 从成果开始描述,而非步骤,让AI自主选择方法。
- 通过添加文档、图像、网络搜索等背景信息提升准确性。
- 设置边界(如保持关键数据不变)可防止意外操作。
- 用后续消息迭代改进结果,无需完美初稿。
- 针对Chat、Work和Codex不同场景有专用提示词策略。
# 提示词(Prompting)
## 提示词概述
提示词就是你告诉 ChatGPT 你想知道什么、想做什么或想改什么的方式。一个提示词可以是一个问题、一个指令或一个目标。你不需要用技术语法或固定格式。用你自己的话开始,看看回复,然后用后续消息来调整结果。
一个简短的提示词通常就够了。对于更大或更重要的任务,可以包含以下关键部分:
- **目标**:ChatGPT 应该做什么?
- **背景**:哪些信息或资料会有帮助?
- **输出**:你需要什么格式、长度或详细程度?
- **边界**:哪些内容必须保持不变?ChatGPT 应该避免什么,或者在行动前先跟你确认?
只用那些对你有帮助的部分。你不需要填满每一项,也不需要遵循固定格式。
## 描述你需要的成果
从成果开始,而不是列出一大堆步骤。当受众或格式会影响 ChatGPT 的输出时,记得说明这些细节。
```
把这份会议记录改成给项目团队的简短更新。
把决定和下一步行动放在最前面。
```
这个提示词说明了要创建什么以及谁会看它。当过程本身很重要时,再描述过程。否则,给 ChatGPT 留出空间,让它自己去搜索、比较信息并调整方法。
## 添加有用的背景信息
分享那些可能影响结果的信息。只添加重要的资料,并说明 ChatGPT 应该从每个资料中获取什么。
- 当你希望 ChatGPT 总结、比较、转换或[创建供审阅的文件](https://learn.chatgpt.com/codex/artifacts-viewer)时,可以附上文档、电子表格、演示文稿或 PDF 文件。
- 当任务依赖于视觉背景时,可以添加截图、图表或其他[图像输入](https://learn.chatgpt.com/codex/image-inputs)。指出重要的区域,而不是只依赖图像本身。
- 当答案依赖于最新信息时,让 ChatGPT 使用[网络搜索](https://learn.chatgpt.com/codex/web-search),并在你需要核实结果时要求提供来源。
- 当相关的聊天或任务需要共享文件、资料或本地文件夹时,使用[项目](https://learn.chatgpt.com/codex/projects)。
### 使用连接的资料
当 ChatGPT 可以访问连接的资料时,告诉它应该去哪里找以及找什么。你不需要描述它应该执行的每一次搜索。
```
使用 Drive 中的最新项目计划以及项目 Slack 频道中的相关决定和更新,准备一份状态更新。
```
连接的资料需要匹配的插件,可用性取决于你的套餐和工作区设置。
### 使用插件
插件为 ChatGPT 提供可重复使用的指令以及与 Google Drive、Gmail、Slack 和 GitHub 等工具的连接。说出你需要的成果,让 ChatGPT 从可用的工具中选择。要选择特定插件,请在编辑器中输入 @。
### 个性化 ChatGPT
把适用于所有聊天和任务的偏好设置在“设置 > 个性化”中,作为自定义指令。把只与当前任务相关的细节放在提示词中。
## 设置边界,防止真正的问题
边界是 ChatGPT 需要的一些指令,以避免产生额外工作或执行你未预料的操作。当修改错误细节会导致结果不可用时,或者当你想在影响他人之前先审查某些内容时,添加一个边界。
- 保持已批准的日期和预算数字不变。
- 只使用提供的资料。标记缺失的信息,而不是猜测。
- 将建议控制在规定的预算内。
- 把消息准备成草稿。不要发送。
专注于最重要的一两个边界。你不需要控制 ChatGPT 的每一步。
## 让结果可以直接使用
告诉 ChatGPT 你打算如何使用结果。这有助于它选择合适的长度、详细程度和组织方式。
- 把它做成一份一页的摘要,让主管能在开会前快速浏览。把决定和下一步行动放在最前面。
- 把这些笔记改成一封后续邮件,包含决定、负责人和截止日期。
- 创建一个清晰的计划支出与实际支出对比表,并突出显示任何超过 10% 的差异。
对于重要的工作,让 ChatGPT 做一次最终检查,比如确认每个行动项都有负责人和截止日期,或者标记它无法核实的信息。然后在使用或分享之前,你自己再审查一遍结果。
## 用后续消息改进结果
你的第一个提示词不需要完美。先看看结果,然后提出你想要的特定修改。
```
让开头更直接,保留证据,把建议移到背景部分之前。
```
你可以添加缺失的资料、纠正方向、要求另一个选项或改变详细程度,而无需重新开始。
### 引导和排队
当 Codex 已经在工作时,你可以不等当前运行结束就发送另一条消息:
- **引导**:将消息添加到当前运行中。用于改变方向、添加缺失的细节或分享新信息。
- **排队**:将消息保存到下一次运行。用于应该等到当前工作完成后再进行的后续操作。
在 ChatGPT 桌面应用中,在[设置 > 通用 > 后续行为](https://learn.chatgpt.com/codex/app/settings#general)下选择默认行为。排队的消息会出现在编辑器上方,你可以编辑、重新排序、发送或删除它们。该设置还显示了在不更改默认设置的情况下,对单条消息使用另一种行为的快捷键。
在 Codex CLI 中,当 Codex 正在工作时按 Enter 键可以引导当前轮次,或者按 Tab 键将消息排队到下一轮。详情请参见[交互式快捷键](https://learn.chatgpt.com/codex/developer-commands?surface=cli#cli-interactive-shortcuts)。
## 把各部分组合起来
对于一个使用连接资料的项目更新,一个完整的提示词可能如下所示:
```
为周一的领导层会议准备一份一页的项目状态更新。使用 Drive 中的最新项目计划以及项目 Slack 频道中的相关决定和更新。
以领导层需要做的决定和下一步行动开头。总结进展、风险、负责人和截止日期。保持已批准的日期和预算数字不变。标记任何冲突或缺失的信息,不要发送或发布任何内容。
在完成之前,检查每个下一步行动是否有负责人和截止日期。
```
这个提示词涵盖了目标、背景、输出和边界,然后要求做一次最终检查,但没有列出每一步。
## 使用语音听写
在 ChatGPT 桌面应用中,当编辑器可见时,按住 Ctrl+M,然后开始说话。ChatGPT 会将你的语音转录到编辑器中,这样你可以在发送提示词之前查看和编辑。
## 聊天(Chat)的提示词示例
使用聊天功能来提问、构思、起草和日常决策。从你想要的结果开始,只在需要时才添加细节。
### 理解一个主题
```
向一个从未投资过的人解释复利是如何运作的。
用一个具体的例子,并定义你引入的任何金融术语。
```
### 起草和完善写作
```
起草一封友好的邮件,拒绝这个邀请,因为我将出差。
控制在 120 字以内,并为未来的活动留有余地。
```
### 比较选项
```
比较这两个手机套餐,针对一个每年出国旅行两次的人。
用表格显示重要的差异,然后推荐一个并解释权衡。
```
### 制定实用计划
```
计划五个工作日晚餐,每餐用时少于 30 分钟。
避免花生,在餐食之间重复使用食材,最后列出一份合并的购物清单。
```
## 工作(Work)的提示词
使用聊天功能进行快速提问、简短改写、头脑风暴和轻量级起草。使用工作功能来处理那些需要不同资料或工具、涉及一系列步骤、进行修改或产生较大交付物的任务。
对于工作任务,描述你需要的成果,提供源材料,说明受众,并解释你将如何审查工作。让 ChatGPT 制定计划、收集所需信息、创建文件并在完成前检查它们。
### 高效使用工作功能
工作功能对于耗时或重复性的任务,或者对于可以重复使用的成品文件很有用。一个使用更多积分的任务如果节省了时间、提高了质量或帮助你做出了重要决定,那仍然是值得的。
从一个你可以审查的结果开始:
- 只包含相关的资料,并在适当时限制日期范围。
- 定义受众、输出格式和期望的长度。
- 将必需的工作与可选的改进或润色分开。
- 当方法很重要时,要求制定计划。在 ChatGPT 发送、发布或更改他人依赖的信息之前,需要你的批准。
- 如果任务开始做你不再需要的工作,缩小范围或停止它。
审查第一个结果,完善指令,并在工作流程有效时重复使用。
### 将源材料转换为成品文件
```
使用附带的季度报告创建一份领导层简报和一份六页的演示文稿。
受众是执行团队。以他们需要做出的三个决定开头,区分报告的事实和你的分析,将每个数字引用到其源文件,并在完成前检查简报和演示文稿是否一致。
```
### 研究一个决策
```
为一家 50 人的公司研究三个客户支持平台。
使用当前资料比较定价、安全性、集成和迁移工作量。
交付一份建议备忘录,包含链接、假设以及我们在签署合同前应该回答的问题。
```
### 协调一次发布
```
为附带的产品简介创建一份发布计划。
包含时间线、负责人、依赖关系、风险、公告草稿、客户常见问题解答和发布日检查清单。
在生成最终文件之前,标记任何缺失的决定。
```
对于重复性工作,先在普通任务中完善提示词。在输出可靠之后,[从该任务安排工作](https://learn.chatgpt.com/codex/automations#schedule-work-from-a-task)。当每次计划运行都应该开始一个新任务时,创建一个独立的计划任务。
## Codex 的提示词
当你希望 ChatGPT 处理代码、代码库或开发者工具时,使用 Codex。一个有用的 Codex 提示词要说明你想要的行为,指向相关的代码或复现步骤,保留重要的约束条件,并说明如何验证更改。
对于多步骤任务,当你希望 Codex 在编辑之前先调查并提出方法时,在应用编辑器中输入 /plan。当[目标模式](https://learn.chatgpt.com/codex/long-running-work)可用时,在计划之后使用 /goal 来设置一个持久目标。请参见[应用斜杠命令](https://learn.chatgpt.com/codex/reference/slash-commands)获取当前命令列表。
### 如何阅读这些示例
每个工作流程包括:
- 何时使用以及最适合哪个 Codex 界面(IDE、CLI 或云端)。
- 带有示例用户提示词的步骤。
- 背景说明:Codex 自动看到什么 vs 你应该附上什么。
- 验证:如何检查输出。
> 注意:IDE 扩展会自动包含你打开的文件作为背景。在 CLI 中,明确提及路径,或者使用 /mention 和 @ 路径自动补全来附加文件。
注意:IDE 扩展会自动包含你打开的文件作为背景。在 CLI 中,明确提及路径,或者使用 /mention 和 @ 路径自动补全来附加文件。
Codex 在[沙箱](https://learn.chatgpt.com/codex/sandboxing)中运行本地命令,该沙箱限制了文件和网络访问。如果任务需要跨越这个边界,Codex 会在继续之前遵循你的批准策略。
### 解释代码库
当你入职、接手一个服务,或者试图理解一个协议、数据模型或请求流程时使用。
- 打开最相关的文件。
打开最相关的文件。
- 选择你关心的代码(可选但推荐)。
选择你关心的代码(可选但推荐)。
- 提示 Codex:
解释请求如何流经所选代码。
包括:
- 每个涉及模块的职责的简短总结
- 哪些数据在何处被验证
- 更改此代码时需要注意的一两个“陷阱”
提示 Codex:
```
解释请求如何流经所选代码。
包括:
- 每个涉及模块的职责的简短总结
- 哪些数据在何处被验证
- 更改此代码时需要注意的一两个“陷阱”
```
验证:
- 要求提供一个你可以验证的图表或检查清单:
```
将请求流程总结为编号的步骤列表。然后列出涉及的文件。
```
- 启动一个交互式会话:
codex
启动一个交互式会话:
```
codex
```
- 附加文件(可选)并提示:
我需要理解这个服务使用的协议。阅读 @foo.ts @schema.ts 并解释模式和请求/响应流程。重点关注必填字段与可选字段以及向后兼容规则。
附加文件(可选)并提示:
```
我需要理解这个服务使用的协议。阅读 @foo.ts @schema.ts 并解释模式和请求/响应流程。重点关注必填字段与可选字段以及向后兼容规则。
```
背景说明:
- 你可以在编辑器中使用 @ 来插入工作区中的文件路径,或者使用 /mention 来附加特定文件。
### 修复一个 Bug
当你有一个可以在本地复现的失败行为时使用。
- 在仓库根目录启动 Codex:
codex
在仓库根目录启动 Codex:
```
codex
```
- 给 Codex 一个复现方法,加上你怀疑的文件:
Bug:在设置屏幕上点击“保存”有时会显示“已保存”,但更改没有持久化。
复现步骤:
1) 启动应用:npm run dev
2) 转到 /settings
3) 切换“启用警报”
4) 点击保存
5) 刷新页面:切换开关重置了
约束条件:
- 不要更改 API 形状。
- 保持修复最小化,如果可行的话添加一个回归测试。
先在本地复现这个 bug,然后提出补丁并运行检查。
给 Codex 一个复现方法,加上你怀疑的文件:
```
Bug:在设置屏幕上点击“保存”有时会显示“已保存”,但更改没有持久化。
复现步骤:
1) 启动应用:npm run dev
2) 转到 /settings
3) 切换“启用警报”
4) 点击保存
5) 刷新页面:切换开关重置了
约束条件:
- 不要更改 API 形状。
- 保持修复最小化,如果可行的话添加一个回归测试。
先在本地复现这个 bug,然后提出补丁并运行检查。
```
背景说明:
- 由你提供:复现步骤和约束条件(这些比高级描述更重要)。
- 由 Codex 提供:命令输出、发现的调用点以及它触发的任何堆栈跟踪。
验证:
- Codex 应该在修复后重新运行复现步骤。
- 如果你有标准的检查流程,让它运行:
```
修复后,运行 lint + 最小的相关测试套件。报告命令和结果。
```
- 打开你认为 bug 所在的文件,以及它的最近调用者。
打开你认为 bug 所在的文件,以及它的最近调用者。
- 提示 Codex:
找到导致“已保存”显示但更改没有持久化的 bug。在提出修复后,告诉我如何在 UI 中验证它。
提示 Codex:
```
找到导致“已保存”显示但更改没有持久化的 bug。在提出修复后,告诉我如何在 UI 中验证它。
```
### 编写测试
当你想要定义要测试的确切范围时使用。
- 打开包含函数的文件。
打开包含函数的文件。
- 选择定义函数的行。从命令面板中选择“添加到 Codex 线程”,将这些行添加到背景中。
选择定义函数的行。从命令面板中选择“添加到 Codex 线程”,将这些行添加到背景中。
- 提示 Codex:
为这个函数编写一个单元测试。遵循其他测试中使用的约定。
提示 Codex:
```
为这个函数编写一个单元测试。遵循其他测试中使用的约定。
```
背景说明:
- 由“添加到 Codex 线程”命令提供:选中的行(这是“行号”范围),加上打开的文件。
- 启动 Codex:
codex
启动 Codex:
```
codex
```
- 用一个函数名提示:
为 @transform.ts 中的 invert_list 函数添加一个测试。覆盖正常路径和边界情况。
用一个函数名提示:
```
为 @transform.ts 中的 invert_list 函数添加一个测试。覆盖正常路径和边界情况。
```
### 从截图进行原型开发
当你想要将设计稿、截图或 UI 参考转换为可工作的原型时使用。
- 将你的截图保存在本地(例如 ./specs/ui.png)。
将你的截图保存在本地(例如 ./specs/ui.png)。
- 运行 Codex:
codex
运行 Codex:
```
codex
```
- 将图像文件拖入终端以将其附加到提示词中。
将图像文件拖入终端以将其附加到提示词中。
- 用约束条件和结构跟进:
基于这个图像创建一个新的仪表板。
约束条件:
- 使用 react、vite 和 tailwind。用 typescript 编写代码。
- 尽可能匹配间距、排版和布局。
输出:
- 一个渲染 UI 的新路由/页面
- 任何需要的小组件
- 包含本地运行说明的 README.md
用约束条件和结构跟进:
```
基于这个图像创建一个新的仪表板。
约束条件:
- 使用 react、vite 和 tailwind。用 typescript 编写代码。
- 尽可能匹配间距、排版和布局。
输出:
- 一个渲染 UI 的新路由/页面
- 任何需要的小组件
- 包含本地运行说明的 README.md
```
背景说明:
- 图像提供了视觉需求,但你仍然需要指定实现约束条件(框架、路由、组件样式)。
- 在文本中包含图像未显示的行为,例如悬停状态、验证规则或键盘交互。
验证:
- 让 Codex 运行开发服务器(如果允许)并告诉你确切的位置:
```
启动开发服务器,并告诉我查看原型的本地 URL/路由。
```
- 在 Codex 任务中附加图像(拖放或粘贴)。
在 Codex 任务中附加图像(拖放或粘贴)。
- 提示 Codex:
创建一个新的设置页面。使用附带的截图作为目标 UI。
遵循此项目中其他文件的设计和视觉模式。
提示 Codex:
```
创建一个新的设置页面。使用附带的截图作为目标 UI。
遵循此项目中其他文件的设计和视觉模式。
```
### 使用实时更新迭代 UI
当你想要一个紧密的“设计 → 调整 → 刷新 → 调整”循环,同时 Codex 编辑代码时使用。
- 启动 Codex:
codex
启动 Codex:
```
codex
```
- 在单独的终端窗口中启动开发服务器:
npm run dev
在单独的终端窗口中启动开发服务器:
```
npm run dev
```
- 提示 Codex 进行更改:
为着陆页提出 2-3 个样式改进建议。
提示 Codex 进行更改:
```
为着陆页提出 2-3 个样式改进建议。
```
- 选择一个方向,并用小的、具体的提示词进行迭代:
选择选项 2。
只更改头部:
- 让排版更具编辑风格
- 增加空白
- 确保在移动设备上看起来也不错
选择一个方向,并用小的、具体的提示词进行迭代:
```
选择选项 2。
只更改头部:
- 让排版更具编辑风格
- 增加空白
- 确保在移动设备上看起来也不错
```
- 用有针对性的请求重复:
下一次迭代:减少视觉噪音。
保持布局,但简化颜色并移除任何多余的边框。
用有针对性的请求重复:
```
下一次迭代:减少视觉噪音。
保持布局,但简化颜色并移除任何多余的边框。
```
验证:
- 在 Codex 更新代码时,在浏览器中审查更改。
- 提交你喜欢的更改,并还原你不喜欢的更改。
- 如果你还原或修改了一个编辑,告诉 Codex,这样它就不会在处理下一个提示词时覆盖你的编辑。
### 将重构委托给云端
当你想要用本地背景设计一个方法,然后将长时间的实现委托给一个可以并行运行的云端任务时使用。
- 确保你当前的工作已提交或至少已暂存,这样你可以干净地比较更改。
确保你当前的工作已提交或至少已暂存,这样你可以干净地比较更改。
- 让 Codex 生成一个重构计划。如果你有 $plan 技能可用,显式调用它:
$plan
我们需要重构 auth 子系统以:
- 拆分职责(令牌解析 vs 会话加载 vs 权限)
- 减少循环导入
- 提高可测试性
约束条件:
- 没有用户可见的行为更改
- 保持公共 API 稳定
- 包含一个逐步迁移计划
让 Codex 生成一个重构计划。如果你有 $plan 技能可用,显式调用它:
```
$plan
我们需要重构 auth 子系统以:
- 拆分职责(令牌解析 vs 会话加载 vs 权限)
- 减少循环导入
- 提高可测试性
约束条件:
- 没有用户可见的行为更改
- 保持公共 API 稳定
- 包含一个逐步迁移计划
```
- 审查计划并协商更改:
修改计划以:
- 明确指定每个里程碑中移动哪些文件
- 包含一个回滚策略
审查计划并协商更改:
```
修改计划以:
- 明确指定每个里程碑中移动哪些文件
- 包含一个回滚策略
```
背景说明:
- 当 Codex 可以在本地扫描当前代码(入口点、模块边界、依赖图提示)时,计划效果最好。
- 如果你还没有这样做,设置一个 [Codex 云端环境](https://learn.chatgpt.com/codex/environments/cloud-environment)。
如果你还没有这样做,设置一个 [Codex 云端环境](https://learn.chatgpt.com/codex/environments/cloud-environment)。
- 点击提示编辑器下方的云端图标,选择你的云端环境。
点击提示编辑器下方的云端图标,选择你的云端环境。
- 当你输入下一个提示词时,Codex 会在云端创建一个新任务,该任务会继承现有的任务背景(包括计划和任何本地源更改)。
实现计划中的里程碑 1。
当你输入下一个提示词时,Codex 会在云端创建一个新任务,该任务会继承现有的任务背景(包括计划和任何本地源更改)。
```
实现计划中的里程碑 1。
```
- 审查云端差异,如果需要则进行迭代。
审查云端差异,如果需要则进行迭代。
- 直接从云端创建 PR,或者将更改拉取到本地进行测试和收尾。
直接从云端创建 PR,或者将更改拉取到本地进行测试和收尾。
- 迭代计划中的其他里程碑。
迭代计划中的其他里程碑。
委托给云端的任务在隔离环境中运行。在代理阶段,互联网访问是关闭的,除非你为环境启用它。了解更多关于[云端互联网访问](https://learn.chatgpt.com/codex/cloud/internet-access)的信息。
### 进行本地代码审查
当你希望在提交或创建 PR 之前获得第二双眼睛时使用。
- 启动 Codex:
codex
启动 Codex:
```
codex
```
- 运行审查命令:
/review
运行审查命令:
```
/review
```
- 可选:提供自定义关注指令:
/review 关注边界情况和安全问题
可选:提供自定义关注指令:
```
/review 关注边界情况和安全问题
```
验证:
- 根据审查反馈应用修复,然后重新运行 /review 以确认你解决了问题。
### 审查 GitHub 拉取请求
当你希望在不拉取本地分支的情况下获得审查反馈时使用。
在使用之前,在你的仓库上启用 Codex 代码审查。请参见[代码审查](https://learn.chatgpt.com/codex/third-party/github)。
- 在 GitHub 上打开拉取请求。
在 GitHub 上打开拉取请求。
- 留下一条评论,用明确的关注点标记 Codex:
@codex review
### 更新文档
当你需要准确、清晰的文档修改时,可以使用此方法。
- 确定要修改的文档文件,并在 IDE 中打开它们,或者在 IDE 或 CLI 中通过 @ 提及它们。
确定要修改的文档文件,并在 IDE 中打开它们,或者在 IDE 或 CLI 中通过 @ 提及它们。
- 向 Codex 提供范围和验证要求:
更新“高级功能”文档,提供身份验证故障排除指南。验证所有链接是否有效。
向 Codex 提供范围和验证要求:
```
更新“高级功能”文档,提供身份验证故障排除指南。验证所有链接是否有效。
```
- 在 Codex 起草修改后,审阅文档并根据需要迭代。
在 Codex 起草修改后,审阅文档并根据需要迭代。
验证:
- 阅读渲染后的页面。
---
英文原文:[OpenAI's Official Guide: 9 Copy-Ready Codex Prompt Workflows for Fixing Bugs, Turning Screenshots into Prototypes, and Cloud Refactors](https://learn.chatgpt.com/docs/prompting)