名称: 提示工程 描述: 关于提示工程模式、最佳实践和优化技术的专家指南。当用户想要改进提示、学习提示策略或调试智能体行为时使用。
提示工程模式
先进的提示工程技术,以最大化LLM性能、可靠性和可控性。
核心能力
1. 少样本学习
通过展示示例而不是解释规则来教导模型。包括2-5个输入-输出对,展示所需行为。当需要一致的格式、特定的推理模式或处理边缘情况时使用。更多示例提高准确性但消耗令牌—根据任务复杂性平衡。
示例:
从支持票据中提取关键信息:
输入: "我的登录不起作用,一直出现错误403"
输出: {"issue": "authentication", "error_code": "403", "priority": "high"}
输入: "功能请求: 在设置中添加暗模式"
输出: {"issue": "feature_request", "error_code": null, "priority": "low"}
现在处理: "无法上传大于10MB的文件,出现超时"
2. 思维链提示
在最终答案前请求逐步推理。添加“让我们一步步思考”(零样本)或包括示例推理轨迹(少样本)。用于需要多步逻辑、数学推理或需要验证模型思维过程的复杂问题。在分析任务中提高准确性30-50%。
示例:
分析此错误报告并确定根本原因。
一步步思考:
1. 预期行为是什么?
2. 实际行为是什么?
3. 最近有什么变化可能导致此问题?
4. 涉及哪些组件?
5. 最可能的根本原因是什么?
错误: “缓存更新部署后,用户无法保存草稿”
3. 提示优化
通过测试和精炼系统化地改进提示。从简单开始,测量性能(准确性、一致性、令牌使用),然后迭代。在包括边缘情况在内的多样化输入上测试。使用A/B测试比较变体。对于生产提示,一致性和成本至关重要。
示例:
版本1(简单): “总结这篇文章”
→ 结果: 长度不一致,遗漏关键点
版本2(添加约束): “用3个要点总结”
→ 结果: 更好的结构,但仍遗漏细微差别
版本3(添加推理): “识别3个主要发现,然后总结每个”
→ 结果: 一致、准确,捕捉关键信息
4. 模板系统
构建可重用的提示结构,包含变量、条件部分和模块化组件。用于多轮对话、基于角色的交互,或当相同模式应用于不同输入时。减少重复并确保类似任务的一致性。
示例:
# 可重用的代码审查模板
template = """
审查此{language}代码的{focus_area}。
代码:
{code_block}
提供反馈:
{checklist}
"""
# 用法
prompt = template.format(
language="Python",
focus_area="安全漏洞",
code_block=user_code,
checklist="1. SQL注入
2. XSS风险
3. 身份验证"
)
5. 系统提示设计
设置跨对话持续的全局行为和约束。定义模型的角色、专业水平、输出格式和安全指南。使用系统提示用于不应逐轮更改的稳定指令,释放用户消息令牌用于可变内容。
示例:
系统: 您是一位专门从事API设计的高级后端工程师。
规则:
- 始终考虑可扩展性和性能
- 默认建议RESTful模式
- 立即标记安全问题
- 提供Python代码示例
- 使用早期返回模式
响应格式:
1. 分析
2. 建议
3. 代码示例
4. 权衡
关键模式
渐进式披露
从简单提示开始,仅在需要时添加复杂性:
-
级别1: 直接指令
- “总结这篇文章”
-
级别2: 添加约束
- “用3个要点总结这篇文章,聚焦关键发现”
-
级别3: 添加推理
- “阅读这篇文章,识别主要发现,然后用3个要点总结”
-
级别4: 添加示例
- 包括2-3个示例总结的输入-输出对
指令层次
[系统上下文] → [任务指令] → [示例] → [输入数据] → [输出格式]
错误恢复
构建优雅处理失败的提示:
- 包括后备指令
- 请求置信度分数
- 当不确定时,要求替代解释
- 指定如何表示缺失信息
最佳实践
- 具体: 模糊提示产生不一致结果
- 展示,而非告诉: 示例比描述更有效
- 广泛测试: 在多样化、代表性输入上评估
- 快速迭代: 小变化可能有大影响
- 监控性能: 在生产中跟踪指标
- 版本控制: 将提示视为代码,有适当版本管理
- 记录意图: 解释为什么提示这样结构
常见陷阱
- 过度工程: 在尝试简单提示前从复杂开始
- 示例污染: 使用不匹配目标任务的示例
- 上下文溢出: 过多示例超出令牌限制
- 模糊指令: 留出多解空间
- 忽略边缘情况: 不在异常或边界输入上测试