高级Prompt技术与优化策略
在掌握了Zero-shot、Few-shot和Chain-of-Thought等基础技巧后,本讲将介绍更高级的提示词工程技术。 我们将学习Self-Consistency(自洽性)、Tree of Thoughts(思维树)等前沿方法, 探讨如何系统地优化和评估提示词效果,以及在实际应用中的常见问题和解决方案。 通过本讲学习,你将能够设计出更加强大和可靠的提示词系统。
Self-Consistency(自洽性)是一种通过多次采样来提高答案可靠性的技术。 核心思想是:对同一个问题生成多个推理路径,然后通过投票或其他方法选择最一致的答案。 这种方法特别适用于有多个合理推理路径的复杂问题。
工作流程
多次采样
对同一问题使用CoT生成多个(如5-10个)推理路径
提取答案
从每个推理路径中提取最终答案
多数投票
选择出现频率最高的答案作为最终结果
示例:数学推理问题
问题:
一个数字减去5,然后乘以3,结果是21。这个数字是多少?
推理路径1:
设数字为x,则(x-5)×3=21 → x-5=7 → x=12 ✓
推理路径2:
反向推理:21÷3=7,7+5=12 ✓
推理路径3(错误):
(x-5)×3=21 → x×3-5=21 → x=8.67 ✗
推理路径4:
先除后加:21÷3=7,原数=7+5=12 ✓
推理路径5:
设减5后为y,则y×3=21 → y=7 → 原数=12 ✓
投票结果:
答案"12"出现4次,答案"8.67"出现1次
最终答案:12(多数投票)
✅优点
⚠️局限性
Tree of Thoughts(ToT)是Chain-of-Thought的升级版,允许模型探索多个推理分支, 并在每一步评估不同路径的质量。ToT将问题求解过程建模为树状搜索, 可以回溯、剪枝,最终找到最优解。特别适用于需要探索和规划的复杂任务。
核心机制
在每一步生成多个可能的思考路径(分支)
评估每个分支的质量和成功可能性
选择最有希望的路径继续探索(BFS/DFS)
当路径不可行时,返回上层尝试其他分支
示例:24点游戏
问题:
使用数字4、5、6、10和加减乘除运算,如何得到24?
步骤1:生成初始思维分支
分支A: 4 + 5 = 9 (剩余: 9, 6, 10)
分支B: 4 × 5 = 20 (剩余: 20, 6, 10)
分支C: 6 × 5 = 30 (剩余: 4, 30, 10)
分支D: 10 - 6 = 4 (剩余: 4, 4, 5)
步骤2:评估并选择最优分支
评估:分支D (10-6=4) 让我们有两个4,可能有用
选择:继续探索分支D
步骤3:继续分支D
从 (4, 4, 5) 出发:
4 + 4 = 8,然后 8 × 5 = 40 ✗ (太大)
4 × 4 = 16,然后 16 + 5 = 21 ✗ (接近但不对)
(4 + 4) × 5 = 40 ✗
回溯!
步骤4:回溯并尝试分支B
从 (20, 6, 10) 出发:
20 + 6 = 26 ✗
20 - 6 = 14 ✗
6 - 10 = -4,然后 20 + (-4) = 16 ✗
步骤5:尝试新组合
(10 - 4) = 6,然后 6 × (6 - 5) = 6 ✗
(10 - 6) = 4,然后 4 × (5 + 4) = 36 ✗
6 ÷ (5 - 4) = 6,然后 6 × 10 = 60 ✗
(6 - 5/4) × 10 不符合规则
步骤6:找到解!
(10 - 4) × 5 - 6 = 6 × 5 - 6 = 30 - 6 = 24 ✓
ToT优势体现:
• 系统地探索了多个可能的路径
• 能够评估中间步骤的价值
• 当路径不可行时及时回溯
• 最终找到正确解:(10-4)×5-6 = 24
🎯ToT vs CoT vs Self-Consistency
CoT:单一推理链,线性思考
Self-Consistency:多条独立推理链,并行投票
ToT:树状探索,可回溯和剪枝,更系统化
✅优点
⚠️局限性
好的提示词不是一蹴而就的,需要系统地测试和优化。 以下是一套经过验证的提示词优化流程和技巧。
将模糊的指令改写为清晰、具体、可操作的描述。
"分析这段文字"
"从情感倾向、主题和关键论点三个维度分析这段文字,每个维度用2-3句话总结"
明确指定输出格式,提高结果的可预测性和可解析性。
"列出优缺点"
"用以下格式列出:\n优点:\n1. [第一个优点]\n2. [第二个优点]\n缺点:\n1. [第一个缺点]"
为模型设定专业角色,引导其采用特定视角和专业水平。
"解释量子计算"
"你是一位量子物理学教授,用高中生能理解的方式解释量子计算的基本原理"
将复杂任务分解为多个步骤,逐步完成。
"写一篇产品分析报告"
"步骤1:总结产品核心功能\n步骤2:分析目标用户群\n步骤3:列出竞争优势\n步骤4:给出改进建议"
通过高质量示例展示期望的输出风格和质量标准。
示例输入:"快速交付"
示例输出:"Rapid Delivery - 快速、高效地向客户交付价值"
现在翻译:"持续改进"
明确指出需要避免的内容和特殊情况的处理方式。
"总结文章,限制在150字以内。
如果文章包含敏感话题,请标注'需人工审核'。
避免使用行业黑话和缩写。"
💡迭代优化流程
1. 建立基准:用简单提示词测试,记录效果
2. 单点优化:每次只改变一个方面(如添加示例)
3. 效果对比:在多个测试用例上比较前后效果
4. 保留改进:只保留确实有效的修改
5. 持续迭代:重复2-4步,直到满意
如何知道提示词是否有效?需要建立系统的评估方法。 根据任务类型,我们可以采用不同的评估策略。
准确率
适用于分类、问答等有标准答案的任务
示例:情感分析的正确分类比例
完整性
检查输出是否包含所有必要信息
示例:信息提取任务的字段覆盖率
格式一致性
输出是否符合指定格式
示例:JSON输出的解析成功率
稳定性
多次运行结果的一致性
示例:同一输入的输出变异度
相关性评分
1-5分评价输出与问题的相关程度
质量评分
评估输出的专业性、深度和实用性
A/B测试
对比两个提示词版本,选择更好的一个
📋评估实践建议
问题1:输出格式不稳定
有时候模型返回JSON,有时候返回纯文本,难以解析。
解决方案:
问题2:模型理解偏差
模型没有按照预期理解任务,输出与需求不符。
解决方案:
问题3:输出过于冗长或简短
模型生成的内容长度不符合预期。
解决方案:
问题4:处理边缘案例失败
模型在特殊输入或罕见情况下表现不佳。
解决方案:
问题5:成本过高
提示词太长或使用了过多的Few-shot示例,导致token消耗大。
解决方案:
Self-Consistency和ToT提供了更强大的推理能力,适用于复杂问题
系统化的优化和评估方法是提升提示词质量的关键
识别常见问题并应用对应解决方案,积累实战经验
完整的讲义PDF,包含所有图表和详细内容