名称: openai-prompt-engineer 描述: 使用OpenAI GPT-5和其他大语言模型(LLMs)的最佳实践生成和改进提示。应用先进技术如思维链、少样本提示和渐进披露。
OpenAI 提示工程师
一个全面的技能,用于为OpenAI的GPT-5和其他现代大语言模型(LLMs)设计、分析和改进提示,专注于GPT-5特定优化和通用提示技术。
这个技能做什么
帮助您使用尖端技术创建和优化提示:
- 生成新提示 - 从零开始构建有效的提示
- 改进现有提示 - 增强清晰度、结构和结果
- 应用最佳实践 - 为每个模型使用经过验证的技术
- 为特定模型优化 - GPT-5、Claude特定策略
- 实现高级模式 - 思维链、少样本、结构化提示
- 分析提示质量 - 识别问题并建议改进
为什么提示工程重要
没有好提示:
- 不一致或不正确的输出
- 指令遵循能力差
- 浪费令牌和API成本
- 需要多次尝试
- 不可预测的行为
优化提示后:
- 准确、一致的结果
- 更好的指令遵循
- 更低的成本和延迟
- 首次尝试成功
- 可预测、可靠的输出
支持的模型与方法
GPT-5 (OpenAI)
- 结构化提示(角色 + 任务 + 约束)
- 推理努力校准
- 代理行为控制
- 冗长管理
- 提示优化器集成
Claude (Anthropic)
- XML标签结构化
- 逐步思考
- 清晰、具体的指令
- 示例驱动提示
- 渐进披露
通用技术
- 思维链提示
- 少样本学习
- 零样本提示
- 自一致性
- 基于角色的提示
核心提示原则
1. 清晰具体
坏: “写关于AI” 好: “写一篇500字的技术文章,为有2-3年经验的软件工程师解释Transformer架构。包括Python代码示例,并专注于实际实现。”
2. 提供结构
使用清晰的格式化组织指令:
角色: 您是一名高级Python开发人员
任务: 审查此代码的安全漏洞
约束:
- 专注于OWASP Top 10
- 提供具体的行号
- 用代码示例建议修复
输出格式: 带有严重性评级的Markdown
3. 使用示例(少样本)
展示模型您想要的内容:
输入: "用户点击登录"
输出: "USER_LOGIN_CLICKED"
输入: "支付处理成功"
输出: "PAYMENT_PROCESSED_SUCCESS"
输入: "邮件验证失败"
输出: [您的回合]
4. 启用推理
添加短语如:
- “逐步思考”
- “让我们分解一下”
- “首先,分析…然后…”
- “展示您的推理”
5. 定义输出格式
精确指定您想要的响应方式:
<输出格式>
<摘要>一句话概述</摘要>
<详情>
<点>关键发现1</点>
<点>关键发现2</点>
</详情>
<推荐>要采取的具体行动</推荐>
</输出格式>
提示工程工作流程
1. 定义您的目标
- 您在解决什么任务?
- 理想的输出是什么?
- 受众是谁?
- 您将使用什么模型?
2. 选择您的技术
- 简单任务? → 直接指令
- 复杂推理? → 思维链
- 模式匹配? → 少样本示例
- 需要一致性? → 结构化格式 + 示例
3. 构建您的提示
使用此模板:
[角色/上下文]
您是 [具有相关专业知识的特定角色]
[任务]
[清晰、具体的任务描述]
[约束]
- [限制1]
- [限制2]
[格式]
输出应为 [精确的格式规范]
[示例 - 如果使用少样本]
[示例1]
[示例2]
[逐步思考 - 如果复杂推理]
在回答前,[思考指令]
4. 测试和迭代
- 运行提示
- 分析输出质量
- 识别问题
- 优化并重试
- 记录有效内容
高级技术
思维链(CoT)提示
何时使用: 复杂推理、数学、多步问题
如何工作: 要求模型展示中间步骤
示例:
问题: 一家商店有15个苹果。他们上午卖出60%,下午卖出剩余的一半。还剩多少?
请逐步解决:
1. 计算上午销售额
2. 计算上午后剩余
3. 计算下午销售额
4. 计算最终剩余
结果: 通过明确推理得到更准确的答案
少样本提示
何时使用: 模式匹配、分类、风格转换
如何工作: 提供2-5个示例,然后是实际任务
示例:
将休闲文本转换为专业商务语调:
输入: "嘿!谢谢您联系我。我们很快聊聊吧!"
输出: "感谢您的来信。我期待我们的对话。"
输入: "这是个好主意!我完全支持这个。"
输出: "感谢您的建议,我完全支持此倡议。"
输入: "听起来不错,待会儿见!"
输出: [模型完成]
零样本思维链
何时使用: 没有示例的复杂问题
如何工作: 只需添加“让我们逐步思考”
示例:
问题: 在localStorage中存储JWTs的安全影响是什么?
让我们逐步思考:
神奇短语: “让我们逐步思考” → 显著改善推理
结构化输出与XML
何时使用: 与Claude合作或需要解析输出
示例:
分析此代码的问题。将响应结构化为:
<分析>
<安全问题>
<问题 严重性="高|中|低">
<描述>问题所在</描述>
<位置>文件和行号</位置>
<修复>如何修复</修复>
</问题>
</安全问题>
<性能问题>
<!-- 相同结构 -->
</性能问题>
<最佳实践>
<建议>改进建议</建议>
</最佳实践>
</分析>
渐进披露
何时使用: 大型上下文、多步工作流
如何工作: 将任务分成阶段,只请求当前所需内容
示例:
阶段1: "分析此代码库结构并列出主要组件"
[获取响应]
阶段2: "现在,对于您识别出的认证组件,向我展示安全审查"
[获取响应]
阶段3: "基于该审查,为高严重性问题生成修复"
模型特定最佳实践
GPT-5 优化
结构化提示:
角色: 高级TypeScript开发人员
任务: 实现用户认证服务
约束:
- 使用带刷新令牌的JWT
- TypeScript启用严格模式
- 包含全面的错误处理
- 遵循SOLID原则
输出: 完整的TypeScript类,带JSDoc注释
推理努力: 高(针对复杂业务逻辑)
控制代理行为:
"逐步实现此功能,在每个重大决策前请求确认"
或
"端到端完成此任务,无需指导。坚持到完全处理。"
管理冗长:
"提供简洁实现(少于100行),仅专注于核心功能"
Claude 优化
使用XML标签:
<指令>
审查此拉取请求的安全问题
</指令>
<代码>
[要审查的代码]
</代码>
<聚焦区域>
- SQL注入漏洞
- XSS攻击向量
- 认证绕过
- 数据暴露风险
</聚焦区域>
<输出格式>
对于每个发现的问题,提供:
1. 严重性(严重/高/中/低)
2. 位置
3. 解释
4. 修复建议
</输出格式>
逐步思考:
逐步思考此架构决策:
1. 首先,识别需求
2. 然后,列出可能方法
3. 评估每个的权衡
4. 做出推荐并附推理
清晰具体性:
坏: "使响应专业"
好: "使用正式商务语言,避免缩写,以‘您’称呼用户,保持句子少于20词"
提示改进清单
使用此清单改进任何提示:
- [ ] 清晰定义角色 - 是否指定了AI的专业知识?
- [ ] 具体任务 - 要做什么是否无歧义?
- [ ] 列出约束 - 限制是否清晰?
- [ ] 指定格式 - 输出结构是否定义?
- [ ] 提供示例 - 是否展示了您想要的内容(如果需要)?
- [ ] 启用推理 - 是否要求逐步思考(如果复杂)?
- [ ] 包含上下文 - AI是否有必要背景?
- [ ] 覆盖边缘情况 - 是否处理了例外?
- [ ] 指定长度 - 输出长度是否清晰?
- [ ] 定义语调/风格 - 是否指定了期望的声音?
常见提示问题与修复
问题: 模糊指令
之前:
"写些用户认证的代码"
之后:
"写一个名为AuthService的TypeScript类,要求:
- 接受邮箱/密码凭据
- 针对用户仓库验证
- 成功时返回JWT令牌
- 失败时抛出AuthenticationError
- 包含全面的JSDoc注释
- 遵循依赖注入模式"
问题: 无示例(当需要时)
之前:
"将这些变量名转换为驼峰命名法"
之后:
"将这些变量名转换为驼峰命名法:
user_name → userName
total_count → totalCount
is_active → isActive
现在转换:
order_status →
created_at →
max_retry_count →"
问题: 缺失输出格式
之前:
"分析此代码的问题"
之后:
"分析此代码并以以下格式输出:
## 安全问题
- [问题]: [描述](第X行)
## 性能问题
- [问题]: [描述](第X行)
## 代码质量
- [问题]: [描述](第X行)
## 推荐
1. [优先级1修复]
2. [优先级2修复]"
问题: 过于复杂(单次尝试)
之前:
"构建一个完整的电子商务后端,带认证、支付、库存和运输"
之后(渐进):
"分阶段构建此项目:
阶段1: 设计认证系统架构
[获取响应,审查]
阶段2: 实现认证服务
[获取响应,审查]
阶段3: 添加支付处理
[继续...]"
使用此技能
生成新提示
询问:
"使用提示工程师技能,为此创建提示:
[描述您的任务和需求]"
您将得到:
- 结构化提示模板
- 推荐技术
- 如果适用,示例少样本
- 模型特定优化
改进现有提示
询问:
"使用提示工程师技能,改进此提示:
[您当前的提示]
目标: [您想实现什么]
模型: [GPT-5 / Claude / 其他]"
您将得到:
- 当前问题分析
- 改进版本
- 更改解释
- 预期结果改善
分析提示质量
询问:
"使用提示工程师技能,分析此提示:
[您的提示]"
您将得到:
- 质量评分
- 识别弱点
- 具体改进建议
- 最佳实践违规
实际示例
示例1: 代码审查提示
任务: 获得彻底、一致的代码审查
优化提示:
角色: 进行PR审查的高级软件工程师
审查此代码:
[代码块]
审查标准:
1. 安全漏洞(OWASP Top 10)
2. 性能问题
3. 代码质量和可读性
4. 最佳实践合规性
5. 测试覆盖缺口
输出格式:
对于每个发现的问题:
- 严重性: [严重/高/中/低]
- 类别: [安全/性能/质量/测试]
- 位置: [文件:行]
- 问题: [清晰描述]
- 影响: [为何重要]
- 修复: [具体代码推荐]
最后,提供:
- 总体评估(通过/请求更改/评论)
- 必须修复的关键项摘要
示例2: 技术文档
任务: 生成清晰的API文档
优化提示:
角色: 具有API文档专业知识的技术作者
任务: 为此端点生成API文档
端点详情:
[代码/规范]
文档要求:
- 目标受众: 初级到中级开发人员
- 包括curl和JavaScript示例
- 清晰解释所有参数
- 显示带描述的示例响应
- 包括常见错误案例
- 添加故障排除部分
格式:
# [端点名称]
## 概述
[一段描述]
## 端点
`[HTTP方法] /路径`
## 参数
| 名称 | 类型 | 必填 | 描述 |
|------|------|----------|-------------|
## 请求示例
```bash
[curl示例]
响应
成功(200)
[带内联注释的示例]
错误
- 400: [描述和修复]
- 401: [描述和修复]
常见问题
[故障排除指南]
### 示例3: 数据分析
**任务:** 分析数据并提供见解
**优化提示:**
角色: 具有业务指标专业知识的数据分析师
数据: [数据集]
分析请求: 逐步分析此数据:
- 首先: 识别关键指标和趋势
- 然后: 计算:
- 增长率(月环比)
- 平均值
- 异常或离群值
- 下一步: 得出业务见解
- 最后: 提供可行动推荐
输出格式:
执行摘要
[2-3句话]
关键指标
| 指标 | 值 | 变化 | 趋势 |
见解
- [带支持数据的见解]
- [带支持数据的见解]
推荐
方法论
[分析方法的简要解释]
## 最佳实践摘要
### 做 ✅
- **具体** - 精确需求,非模糊请求
- **使用结构** - 用清晰部分组织
- **提供示例** - 展示您想要的内容(少样本)
- **请求推理** - "逐步思考"处理复杂任务
- **定义格式** - 指定确切的输出结构
- **迭代测试** - 基于结果优化
- **匹配模型** - 使用模型特定技术
- **包含上下文** - 给予必要背景
- **处理边缘情况** - 指定异常处理
- **设置约束** - 清晰定义限制
### 不 ❌
- **模糊** - "写些关于X的东西"
- **跳过示例** - 当需要匹配模式时
- **假设格式** - 模型将不可预测地选择
- **过载单次提示** - 将复杂任务分阶段
- **忽略模型差异** - GPT-5和Claude需要不同方法
- **过早放弃** - 在提示上迭代
- **混合指令** - 保持关注点分离
- **忘记约束** - 指定所有需求
- **使用歧义术语** - 未定义的“好”、“专业”、“更好”
- **跳过测试** - 始终验证输出
## 快速参考
### 提示模板(通用)
[角色] 您是 [具体专业知识]
[上下文] [背景信息]
[任务] [清晰、具体的任务]
[约束]
- [限制1]
- [限制2]
[格式] [确切的输出结构]
[示例 - 可选] [2-3个示例]
[推理 - 可选] 逐步思考此问题: [思考指导]
### 何时使用每种技术
| 技术 | 最适合 | 示例用例 |
|-----------|----------|------------------|
| 思维链 | 复杂推理 | 数学、逻辑谜题、多步分析 |
| 少样本 | 模式匹配 | 分类、风格转换、格式化 |
| 零样本 | 简单、清晰任务 | 直接问题、基本转换 |
| 结构化(XML) | 解析输出 | 数据提取、API响应 |
| 渐进披露 | 大型任务 | 完整实现、研究 |
| 基于角色 | 专家知识 | 代码审查、架构决策 |
### 模型选择指南
**使用GPT-5当:**
- 需要强推理
- 代理行为有帮助
- 代码生成焦点
- 需要最新知识
**使用Claude当:**
- 非常长上下文(100K+令牌)
- 详细指令遵循
- 安全关键应用
- 偏好XML结构化
## 资源
包含所有参考资料:
- GPT-5特定技术模式
- Claude优化策略
- 高级提示模式
- 优化和改进框架
## 摘要
有效提示工程:
- **节省时间** - 更快获得正确结果
- **降低成本** - 需要更少API调用
- **提高质量** - 更准确、一致的输出
- **实现复杂性** - 处理更难问题
- **扩展知识** - 捕捉最佳实践
使用此技能创建提示:
- 清晰具体
- 使用经过验证的技术
- 匹配您的模型
- 获得一致结果
- 实现您的目标
---
**记住:** 一个精心设计的提示抵得上十个糟糕尝试的提示。为获得更好结果,前期投入时间。