Prompt Engineering最佳实践
是与AI模型有效沟通的艺术。
·
Prompt Engineering(提示工程) 是与AI模型有效沟通的艺术。以下是最佳实践:
🎯 1. 明确指令 - 最重要原则
不好的示例:
"写一篇关于人工智能的文章"
好的示例:
"""
写一篇800字关于人工智能在医疗领域应用的技术文章。
要求:
1. 包含3个具体应用案例
2. 使用专业但易懂的语言
3. 分为引言、主体、结论三部分
4. 目标读者是医疗行业从业者
"""
📝 2. 提供上下文和角色设定
设定AI角色:
messages = [
{
"role": "system",
"content": "你是一位资深软件架构师,有15年Java和微服务经验。用专业但易懂的方式回答技术问题。"
},
{
"role": "user",
"content": "如何设计一个高可用的电商系统?"
}
]
🏗️ 3. 使用结构化输出
要求JSON格式:
response = client.chat.completions.create(
model="gpt-4o",
response_format={"type": "json_object"},
messages=[
{
"role": "system",
"content": "你是一个API接口,始终返回JSON格式数据"
},
{
"role": "user",
"content": "提取以下文本的关键信息:{文本内容}"
}
]
)
📊 4. 提供示例(Few-Shot Learning)
给出输入输出示例:
"""
请将以下英文翻译成中文,保持技术文档的风格:
示例1:
输入: "Configure the database connection pool settings"
输出: "配置数据库连接池设置"
示例2:
输入: "Implement error handling middleware"
输出: "实现错误处理中间件"
现在请翻译:
输入: "Optimize database query performance"
输出:
"""
⚙️ 5. 控制生成参数
调整温度和长度:
response = client.chat.completions.create(
model="gpt-4o",
temperature=0.3, # 创造性:0-1,技术内容用低值
max_tokens=500, # 控制输出长度
top_p=0.9, # 多样性控制
messages=[...]
)
🔄 6. 迭代优化Prompt
第一次尝试:
"帮我写代码"
第二次改进:
"""
用Python编写一个函数,功能:
- 输入:整数列表
- 输出:列表的平均值
- 要求:处理空列表异常
- 包含文档字符串和类型注解
"""
第三次优化:
"""
编写一个Python函数 calculate_average(numbers: List[int]) -> float:
1. 计算整数列表的平均值
2. 如果列表为空,抛出ValueError异常
3. 添加详细的docstring
4. 包含示例用法
请输出完整可运行的代码
"""
🎭 7. 使用思维链(Chain-of-Thought)
引导推理过程:
"""
请逐步解决以下数学问题:
问题:如果一本书原价80元,打8折后再减免10元,最终价格是多少?
请按步骤思考:
1. 首先计算8折后的价格:80 × 0.8 = 64元
2. 然后减去优惠:64 - 10 = 54元
3. 所以最终价格是54元
现在请解决:
问题:一件衣服原价200元,先打7折,再使用20元优惠券,最终价格是多少?
"""
📋 8. 明确约束条件
设置边界限制:
"""
生成5个创业公司名称,要求:
1. 每个名称不超过3个单词
2. 包含科技相关词汇
3. 易于记忆和拼写
4. 可用的域名(.com)
5. 不要使用已有知名品牌名称
请以JSON格式输出:
{
"names": ["名称1", "名称2", ...],
"explanations": ["解释1", "解释2", ...]
}
"""
🔍 9. 分步骤处理复杂任务
分解大任务:
"""
请分步骤完成以下研究任务:
步骤1:概述人工智能的主要分支领域
步骤2:为每个领域提供2个实际应用案例
步骤3:分析当前发展趋势
步骤4:预测未来5年可能的发展方向
每个步骤请用清晰的标题分隔。
"""
🎨 10. 创意生成的Prompt技巧
使用启发式提示:
"""
假设你是科幻作家刘慈欣,为以下概念写一个短篇故事开头:
概念:人类发现了平行宇宙的通信方式
要求:
1. 保持硬科幻风格
2. 包含科学细节
3. 设置悬念
4. 500字左右
"""
💡 实用模板
技术文档生成:
"""
为以下API端点编写文档:
{API信息}
格式要求:
## 端点名称
- **URL**:
- **方法**:
- **参数**:
- 名称: 类型, 是否必需, 描述
- **响应**:
- 成功: 示例
- 错误: 示例
- **使用示例**:
代码审查:
"""
审查以下Python代码,提供:
1. 潜在bug
2. 性能优化建议
3. 代码风格改进
4. 安全漏洞
5. 重构建议
代码:
{代码内容}
"""
🚫 避免常见错误
不要:
- ❌ 使用模糊的语言
- ❌ 一次性要求太多不同任务
- ❌ 忽略上下文设置
- ❌ 使用歧义词汇
要:
- ✅ 明确具体
- ✅ 提供示例
- ✅ 设定角色和格式
- ✅ 迭代优化
📊 Prompt优化检查表
- 指令是否明确?
- 是否提供了足够上下文?
- 输出格式是否指定?
- 是否有示例参考?
- 约束条件是否清晰?
- 角色设定是否恰当?
- 长度和创造性参数是否合适?
记住:好的Prompt就像给AI一张清晰的地图,越详细准确,越容易到达目的地!
更多推荐


所有评论(0)