高级提示技巧 - 实用指南
提示AILLM技巧优化最佳实践
By sko X opus 4.1•9/21/2025•8 min read
核心原则
使用清晰、无歧义的语言
- ❌ 错误示例:"考虑一下总结这个"
- ✅ 正确示例:"用3个要点总结以下文本"
保持指令简洁直接
- ❌ 错误示例:"如果可能的话,您能否翻译我提供的这段文本"
- ✅ 正确示例:"将此文本翻译成法语:"
使用强有力的动作动词
(分析、创建、提取、总结、比较、生成、评估)
- ❌ 错误示例:"您能看看这些数据吗?"
- ✅ 正确示例:"分析这些数据并识别趋势"
以积极指令而非限制的形式表达
- ❌ 错误示例:"不要使用技术术语"
- ✅ 正确示例:"用普通读者能理解的简单术语解释"
迭代并记录提示尝试
- ❌ 错误示例:不测试就使用初稿
- ✅ 正确示例:测试 → 分析输出 → 改进 → 记录结果
基础技巧
简单任务从零样本开始
- ❌ 错误示例:为基础任务提供过多示例
- ✅ 正确示例:"法国的首都是什么?"
需要特定格式/风格时添加一个示例
- ❌ 错误示例:一个足够时提供多个示例
- ✅ 正确示例:展示一个翻译示例,然后请求类似翻译
少样本提示使用3-5个多样化示例
- ❌ 错误示例:使用相似或有偏见的示例
- ✅ 正确示例:为分类混合正面、负面和中性情感示例
分类示例中随机化类别顺序
- ❌ 错误示例:先是所有正面示例,然后所有负面示例
- ✅ 正确示例:在不同类别间随机交替
提示结构
在开头设置系统上下文
- ❌ 错误示例:混合系统指令和用户查询
- ✅ 正确示例:"您是一个有帮助的AI助手。请始终礼貌回应。"
需要时分配特定角色
- ❌ 错误示例:"写一下罗马"
- ✅ 正确示例:"作为旅游博主,写一下罗马的隐藏景点"
使用清晰的分隔符
(三重反引号、XML标签、破折号)
- ❌ 错误示例:指令与内容混合
- ✅ 正确示例:
<instruction>总结这个</instruction> <article>[内容]</article>
明确请求结构化输出
- ❌ 错误示例:"给我信息"
- ✅ 正确示例:"以JSON格式返回,包含键:name、date、location"
推理增强
复杂问题添加"让我们逐步思考"
- ❌ 错误示例:"847293 × 652847等于多少?"
- ✅ 正确示例:"847293 × 652847等于多少?让我们逐步思考。"
确定性推理设置temperature为0
- ❌ 错误示例:数学问题使用高temperature
- ✅ 正确示例:计算和逻辑任务使用Temperature=0
特定任务前询问一般原则(Step-Back)
- ❌ 错误示例:"写一个侦探故事"
- ✅ 正确示例:"好侦探故事的要素是什么?现在用这些原则写一个"
关键任务生成多条推理路径(Self-Consistency)
- ❌ 错误示例:重要决策依赖单一输出
- ✅ 正确示例:用较高temperature运行3-5次,采用多数投票
工具使用和操作
提供带参数的清晰工具描述
- ❌ 错误示例:"您可以搜索网络"
- ✅ 正确示例:"工具:web_search(query: string) - 搜索最新信息"
多步骤任务使用ReAct模式
- ❌ 错误示例:单次处理复杂查询
- ✅ 正确示例:思考 → 行动 → 观察 → 循环直到完成
将工具输出作为下一步的上下文
- ❌ 错误示例:忽略工具结果
- ✅ 正确示例:"基于搜索结果:[数据],现在分析..."
高级优化
将复杂任务分解为子任务
- ❌ 错误示例:"写一篇关于AI的完整研究论文"
- ✅ 正确示例:大纲 → 章节 → 结论的单独提示
当前/专业信息使用RAG
- ❌ 错误示例:没有上下文询问最近事件
- ✅ 正确示例:先检索相关文档,然后作为上下文包含
明确指定目标受众(角色模式)
- ❌ 错误示例:"解释量子物理"
- ✅ 正确示例:"向高中生解释量子物理"
使用LLM改进您的提示
- ❌ 错误示例:仅手动试错
- ✅ 正确示例:"分析此提示并建议改进:[提示]"
代码和技术任务
指定语言和版本
- ❌ 错误示例:"写代码排序列表"
- ✅ 正确示例:"写Python 3.9代码排序列表"
调试提供上下文和错误消息
- ❌ 错误示例:"修复这个代码"
- ✅ 正确示例:"修复出现NameError的Python代码:[代码 + 追踪]"
质量控制
用边缘案例测试提示
- ❌ 错误示例:仅用理想输入测试
- ✅ 正确示例:用不完整、模糊或异常输入测试
程序化验证结构化输出
(使用Pydantic等模式进行JSON验证)
- ❌ 错误示例:假设JSON总是有效的
- ✅ 正确示例:用模式强制解析和验证
在版本控制中保存成功的提示
- ❌ 错误示例:仅在聊天历史中保留提示
- ✅ 正确示例:在代码库的.txt/.md文件中存储
用自动化测试监控提示性能
- ❌ 错误示例:仅手动检查
- ✅ 正确示例:创建具有预期输出的测试套件
模型更改时更新提示
- ❌ 错误示例:假设提示在所有版本中都有效
- ✅ 正确示例:为新模型发布重新测试和调整
快速参考 - 提示动作动词
分析:分析、评估、评价、比较、对比、检查 创建:生成、创建、产生、设计、开发、构成 提取:提取、识别、查找、定位、检索、分离 转换:转换、变换、翻译、重新格式化、适应 总结:总结、压缩、抽象、概述、突出 组织:分类、分类、排序、分组、组织、结构化
模板示例
基础任务模板
角色:[可选:特定角色]
任务:[清晰的动作动词 + 具体要求]
输入:[清晰分隔的内容]
输出:[预期格式/结构]
复杂推理模板
上下文:[背景信息]
任务:[主要目标]
步骤:
1. [第一个子任务]
2. [第二个子任务]
3. [最终综合]
格式:[输出要求]
工具使用模板
可用工具:
- tool_name(参数):描述
任务:[需要工具的复杂查询]
过程:使用ReAct模式
预期:[最终交付物]