提示词工程 · 进阶技巧具体举例
进阶提示词技巧 · 具体举例
Self-Consistency · ReAct · Tree of Thoughts · 分层提示 · 迭代优化
1. 自我一致性(Self-Consistency)
原理 让模型多次独立生成答案,再通过“投票”选出最一致的结果,显著提升准确率,尤其适合数学、逻辑、事实类问题。
完整提示词示例
请解决以下问题,并给出最终答案。问题:一个班有40名学生,其中60%是女生。后来转来5名男生,现在女生占比是多少?
请按以下要求回答:
先写出详细的推理过程
最后给出答案
我会让你回答3次,请每次都独立思考
实际使用方法
- 将 temperature 设置为 0.7 ~ 1.0(增加多样性)
- 连续调用模型 3~5 次
- 收集每次的最终答案,选择出现次数最多的那个作为最终结果
预期多次结果示例
第1次:50%第2次:50%
第3次:48.7%(计算错误)最终采用:50%(多数投票)
适用场景:数学计算、逻辑推理、事实问答、需要高准确率的封闭性问题。
2. ReAct 框架(Reasoning + Acting)
原理 让模型在「思考 → 行动 → 观察」之间循环,适合需要调用工具、搜索信息、多步决策的任务。
完整提示词示例
你是一个智能助手,可以使用工具来获取信息。请使用 ReAct 格式回答问题。可用工具:
- Search[关键词]:搜索相关信息
- Calculate[表达式]:进行计算
请严格按以下格式输出:
Thought: 你的思考
Action: 工具名称[参数]
Observation: (这里由系统返回结果,你先空着)
...(可重复多次)
Thought: 我已经有足够信息了
Final Answer: 最终答案
问题:2023年诺贝尔物理学奖得主是谁?他的主要贡献是什么?
模型可能输出的完整过程
Thought: 我需要查找2023年诺贝尔物理学奖的信息
Action: Search[2023年诺贝尔物理学奖]
Observation: 2023年诺贝尔物理学奖授予Pierre Agostini、Ferenc Krausz和Anne L'Huillier,以表彰他们在产生阿秒光脉冲方面的贡献。Thought: 我已经获得了足够信息
Final Answer: 2023年诺贝尔物理学奖得主是Pierre Agostini、Ferenc Krausz和Anne L'Huillier,主要贡献是产生阿秒光脉冲,用于研究电子动力学。
关键点:Thought 负责推理,Action 负责调用工具,Observation 由外部系统填充,形成闭环。实际应用中需要配合工具调用接口。
3. 思维树(Tree of Thoughts, ToT)
原理 让模型生成多个不同的思考路径,再对路径进行评估和选择,适合开放性强、需要探索和规划的问题。
完整提示词示例
请用思维树方法解决以下问题。问题:如何提高一个电商网站的转化率?
请按以下步骤进行:
- 生成3个不同的解决方向(Branch)
- 对每个方向进行简要评估(可行性、效果、成本)
- 选择最优的1-2个方向进行深入展开
- 最终给出具体可执行的建议
输出格式:
Branch 1: ...
评价:...
Branch 2: ...
评价:...
Branch 3: ...
评价:...选定方向:...
深入方案:...
预期输出结构示例
Branch 1: 优化落地页加载速度和移动端体验
评价:可行性高,成本中等,见效快Branch 2: 增加社交证明和用户评价展示
评价:可行性高,成本低,对信任转化效果好Branch 3: 引入AI个性化推荐
评价:效果潜在高,但开发和数据成本较高选定方向:Branch 1 + Branch 2
深入方案:
压缩图片与启用CDN,目标加载时间<2秒
在商品页显著位置展示真实用户评价和销量
A/B测试不同评价展示方式
监控转化率变化并持续优化
4. 提示词分层与优先级
原理 把系统指令、任务要求、用户输入、输出格式清晰分层,避免指令互相冲突,提升模型对核心规则的遵循度。
完整提示词模板
# 系统角色(最高优先级)
你是一个专业的法律顾问,回答必须严谨、客观,不提供法律意见之外的建议。任务指令
请根据用户提供的案情,分析可能涉及的法律问题,并给出分析思路。
输出格式要求
请严格使用以下结构:
【案情摘要】
【可能涉及的法律条文】
【分析思路】
【风险提示】用户输入
(此处放入用户的具体问题)
分层说明
- 系统角色:最高优先级,定义身份与底线行为
- 任务指令:明确当前要完成的具体工作
- 输出格式:强制结构,方便后续处理
- 用户输入:放在最后,避免污染上层指令
效果:模型会优先遵守最上层的角色和格式约束,大幅减少跑题和格式混乱。
5. 迭代优化方法论(实操流程)
原理 提示词很少一次完美,需要通过「测试 → 发现问题 → 针对性优化」的循环持续改进。
实战案例:简历信息抽取
第一版(简单版)
请从简历中提取姓名、电话、邮箱、工作经历,输出JSON。
测试后常见问题:
- 有时会多输出解释文字
- 工作经历格式不统一
- 电话和邮箱偶尔识别错误
第二版(增加约束 + 格式)
你是一个简历解析专家。请从以下简历文本中提取信息,严格输出JSON,不要任何其他内容。输出格式:
{
"name": "",
"phone": "",
"email": "",
"work_experience": [
{
"company": "",
"title": "",
"duration": ""
}
]
}注意事项:
- 如果某字段无法提取,填null
- 工作经历按时间倒序排列
- 只输出JSON
简历内容:
{{resume_text}}
第三版(针对失败 case 继续细化)
- 加入 1~2 个完整 Few-shot 示例
- 增加细规则:「电话必须是11位数字,否则填 null」
- 要求模型先判断文本是否为简历,再决定是否提取
- 对工作经历增加「开始时间-结束时间」标准化格式要求
核心原则:每次只针对真实失败案例优化,避免过度设计。建立小测试集,量化每次改动的效果。

浙公网安备 33010602011771号