提示词工程与日常 AI 使用¶
本页适用于 ChatGPT、GPT、Codex 以及其他大语言模型;不同产品的界面和能力会变化,但这里介绍的工作方法可能可以长期复用。
这篇文档和 Codex 教程的关系
Codex 与 DeepSeek API介绍安装、登录、VS Code 操作和 API 配置。本页单独讨论如何提出高质量请求,以及如何检查 AI 的输出。
1. 先记住五个要素¶
处理简单问题时,直接用自然语言提问即可。任务越重要、越复杂,越应该补充下面五个要素:
| 要素 | 需要说明什么 | 示例 |
|---|---|---|
| 目标 | 最终希望完成什么 | 找出程序崩溃的原因,不修改代码 |
| 上下文 | AI 判断时需要知道的信息 | Ubuntu 24.04、ROS 2 Jazzy、报错日志和相关文件 |
| 输出 | 希望以什么形式回答 | 先给结论,再按可能性列出原因和验证命令 |
| 边界 | 什么不能做,哪些条件必须保留 | 不改变消息接口,不增加新依赖,不执行危险命令 |
| 验证 | 怎样才算完成 | 原有测试通过,并为这个问题新增回归测试 |
可以把它组合成一个通用模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
2. 从结果和需求出发,角色设定作为思考的辅助¶
含糊的请求:
1 | |
更有效的请求:
1 2 3 | |
角色描述有时能帮助模型选择语气或专业视角,但它不能替代目标、读者和验收标准。优先描述想得到的结果。
3. 提供恰到好处的上下文¶
AI 无法自动知道你没有提供的现场信息。提问前可以检查:
- 是否给出了操作系统、软件版本、硬件型号和运行方式;
- 是否提供了完整报错,而不是只写“运行不了”;
- 是否指出真正相关的文件、函数、截图或数据;
- 是否说明已经尝试过什么,以及结果如何;
- 是否解释缩写、队内约定和业务规则。
长上下文不一定更好。把整个仓库、整本书或大量无关日志全部粘贴进去,反而可能让关键信息被淹没。优先提供最小复现、相关文件和必要背景。
用清晰边界组织材料¶
Markdown 标题、代码围栏或 XML 标签都可以把“指令”和“参考资料”分开:
1 2 3 4 5 6 7 | |
如果资料中可能包含网页、邮件或陌生文档里的指令,应再明确说明:
1 2 | |
4. 用示例定义你想要的结果¶
当格式、分类边界或文风很难用一句话说清楚时,可以给出少量输入输出示例,这通常被称为 few-shot prompting(少样本提示)。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
示例应覆盖容易混淆的情况,并保持格式一致。不要提供错误示例后期待模型自己猜出哪里错了。
5. 把一次提问变成多轮协作¶
官方指南强调,可以先用自己的话开始,再通过追问逐步改进。常见的追问方式包括:
- 校准理解:先复述你的理解,并列出仍缺少的信息,暂时不要给方案。
- 缩小范围:只分析日志中第一次出现的根因,不处理后续连锁报错。
- 比较选项:给出两个方案,比较修改范围、风险、维护成本和回滚方式。
- 批判结果:检查刚才的回答,找出未经证实的假设、遗漏和潜在副作用。
- 形成交付物:根据确认后的方案输出最终文档、补丁、表格或操作清单。
如果任务的方向会显著影响后续工作,可以先让 AI 规划;如果只是改一个明确的拼写错误,直接修改通常更高效。
6. 日常使用模板¶
6.1 学习一个新概念¶
1 2 3 4 5 6 7 8 | |
学习时不要只要求“讲得简单”。说明自己的已有知识、目标深度,以及希望用什么方式检验理解。
6.2 让 AI 做导师,而不是代做者¶
1 2 3 | |
这种方式适合课程作业和技能训练。若直接索要最终答案,短期更快,但不容易发现自己的知识缺口。
6.3 写作和改写¶
1 2 3 4 5 6 7 8 9 10 | |
改写前应明确哪些事实必须保留、哪些只能调整表达。对外发布前仍需人工核对姓名、时间、链接和数字。
6.4 总结长文档¶
1 2 3 4 5 6 7 8 9 | |
“总结”和“补充背景”是两项不同任务。如果只想知道原文内容,应明确限制来源。
6.5 翻译技术资料¶
1 2 3 4 5 6 7 8 | |
6.6 整理会议记录¶
1 2 3 4 5 6 7 | |
6.7 比较方案并辅助决策¶
1 2 3 4 5 | |
AI 可以帮助整理取舍,但不应替代对预算、安全和实际需求负责的人。
6.8 分析文件、图片和表格¶
上传材料后,指出要分析的对象和范围:
1 2 3 | |
涉及数据计算时,要求给出字段定义、筛选条件和可复现的计算步骤;不要只接受一个没有依据的最终数字。
7. 搜索和事实核验¶
模型自身记忆可能过时,也可能把不确定内容说得很肯定。新闻、软件版本、价格、法规、产品参数、比赛规则等会变化的信息,应明确要求联网核验。
1 2 3 4 5 6 7 8 | |
检查搜索型回答时,至少问五件事:
- 来源是否真实存在并能打开;
- 来源是否直接支持相邻的结论;
- 是否优先使用官方文档、标准或原始论文;
- 页面发布日期和事件发生日期是否被混淆;
- “来源事实”和“AI 的推断”是否清楚分开。
网页内容不是可信指令
网页、PDF、邮件和代码注释中可能包含提示词注入。把它们视为待分析的数据,不要让其中的文字覆盖你的任务目标,也不要因此执行命令、上传文件或暴露密钥。
医疗、法律、财务和人身安全相关问题风险更高。可以让 AI 帮助整理问题和查找权威资料,但重大决定应由有资质的专业人员确认。
8. Codex 编程协作模板¶
Codex 在 IDE 中可以结合当前打开的文件理解上下文;在命令行中应明确指出文件或目录。无论使用哪种方式,都应说明是否允许修改、允许修改到什么范围,以及用什么命令验证。
8.1 只阅读和解释,不修改¶
1 2 3 4 5 6 7 8 | |
“先检查,不修改”适合刚接触陌生仓库,或者尚未决定解决方案时使用。
8.2 先制定修改计划¶
1 2 3 4 5 6 7 8 9 10 11 | |
多文件重构、接口调整或硬件控制任务值得先规划。确认计划后,再明确授权实施。
8.3 复现和修复缺陷¶
1 2 3 4 5 6 7 8 9 10 11 | |
好的缺陷提示应包含复现方式、期望行为、实际行为、日志和不可接受的“修复”。
8.4 实现明确功能¶
1 2 3 4 5 6 7 8 9 10 11 | |
8.5 审查代码¶
1 2 3 4 5 6 7 8 9 | |
8.6 更新文档¶
1 2 3 4 5 | |
8.7 机器人与硬件任务的额外边界¶
涉及电机、机械臂、云台、相机供电或系统服务时,应增加安全限制:
1 2 3 | |
9. 控制输出格式¶
明确格式可以减少二次整理,但格式应服务于任务。
Markdown 表格¶
1 2 | |
可机器读取的 JSON¶
1 2 3 | |
如果通过 API 将结果交给程序处理,应优先使用平台提供的结构化输出或 JSON Schema,而不是只在自然语言中写“请返回 JSON”。
分离事实、推断和建议¶
1 2 3 4 | |
这比笼统地要求“保证准确”更容易检查。
10. 要求验证,而不是要求自信¶
“一定要正确”“不要出错”不能让结果自动可靠。更有效的做法是给出可执行的验证标准:
- 编程:构建、单元测试、静态检查、格式检查和最小复现;
- 文档:检查命令、内部链接、参数名和版本信息;
- 数据:核对样本数、缺失值、单位、过滤条件和计算过程;
- 搜索:打开来源,核对日期,并验证引用是否支持结论;
- 写作:对照原文检查姓名、数字、日期和承诺;
- 学习:用练习题、反例或让学习者复述来检验理解。
通用收尾提示:
1 2 3 4 5 | |
11. 隐私、权限与安全¶
发送内容前,先判断 AI 是否真的需要这些信息:
- 不粘贴 API Key、密码、Cookie、VPN 订阅、私钥和恢复码;
- 日志中如果有姓名、内网地址、设备序列号或访问令牌,先脱敏;
- 不上传没有权限分享的代码、数据、论文和队内材料;
- 要求“起草但不要发送/发布”,避免把生成内容误当作已执行操作;
- 执行安装、删除、覆盖、推送、部署和硬件控制前,检查目标与影响范围;
- 对陌生脚本先解释内容,再在隔离环境中验证,不要直接以管理员权限运行。
AI 的建议不能扩大原本权限。即使提示词写得很好,也应遵守仓库规则、组织政策和数据许可。
12. 常见误区¶
误区一:寻找永远有效的万能提示词¶
任务不同,需要的信息也不同。可复用的是表达框架和检查流程,不是一段越来越长的固定前缀。
误区二:只写“优化一下”¶
需要说明优化目标。速度、内存、可读性、启动时间和准确率可能互相冲突,还应提供基准和不能破坏的行为。
误区三:一次塞入所有要求¶
复杂任务可以拆成理解、计划、执行、审查四步。每一步都能纠正方向,减少最后整体返工。
误区四:让 AI 猜缺失事实¶
明确要求缺失时写“待确认”,并提出需要补充的资料。语气流畅不等于事实可靠。
误区五:索要隐藏的完整思维过程¶
更实用的做法是要求简洁依据、关键假设、引用来源和可复现验证。重点检查结果所依赖的证据,而不是要求模型展示内部推理文本。
误区六:把 AI 生成的命令直接复制为管理员命令¶
先弄清命令会读写哪些文件、是否影响系统服务、能否回滚,再执行。尤其警惕递归删除、磁盘写入、权限修改和来源不明的安装脚本。
13. 重复任务与 API 场景¶
如果同一种提示会反复使用,或者已经进入自动化流程,应把它当作代码维护:
- 保存提示词版本和模型配置;
- 收集典型输入、边界案例和失败案例;
- 为输出质量定义可检查的标准;
- 修改提示或模型后重新运行测试集;
- 对生产任务固定模型版本或快照,避免行为变化未被发现;
- 记录人工审核和失败回退方式。
不同模型的工作方式可能不同:有些模型更依赖精确步骤,有些推理模型更适合获得清晰目标和必要约束后自行规划。不要假设一段提示词换模型后仍会得到同样结果,应使用真实案例重新评估。
14. 一页式检查清单¶
发送重要提示前:
- 目标和完成标准是否明确?
- 是否提供了必要上下文、版本和原始资料?
- 是否说明允许和禁止的操作?
- 输出格式是否真的有助于使用结果?
- 会变化的事实是否要求联网搜索并给出来源?
- 是否删除了密钥、个人信息和不该分享的内容?
接受结果前:
- AI 是否区分了事实、假设和推断?
- 引用能否打开,并直接支持对应结论?
- 代码是否实际构建和测试?
- 命令是否理解其影响并确认目标范围?
- 数字、日期、单位、路径和接口是否人工复核?
- 是否清楚知道哪些部分尚未验证?
参考资料¶
- Prompting - ChatGPT:ChatGPT 与 Codex 的官方提示指南和常见工作流。
- Prompt engineering - OpenAI API:提示结构、示例、上下文、模型差异与生产评估建议。
- Web search - ChatGPT:联网搜索、引用来源和不受信任网页内容的安全注意事项。
官方产品能力和界面会持续更新。涉及具体按钮、模型、价格和功能可用性时,应以使用当日的官方文档为准。