AI 推理提示工程技术

概述

本文档总结了四种主要的 AI 推理提示工程技术:CoT、Self-Consistency、ToT 和 ReAct。


1. Chain of Thought (CoT) - 思维链

核心思想

让 AI 模型逐步展示推理过程,而不是直接给出答案。

工作原理

复制代码
传统方式:问题 → 答案
CoT方式:问题 → 步骤1 → 步骤2 → 步骤3 → 答案

实现方式

Zero-Shot CoT(零样本)
python 复制代码
prompt = "问题...\n请一步步思考并解答。"
Few-Shot CoT(少样本)
python 复制代码
prompt = """
示例:
问题:小明有5个苹果,吃了2个,又买了3个,现在有几个?
解答:
- 开始有5个苹果
- 吃了2个:5-2=3个
- 又买了3个:3+3=6个
答案:6个

问题:[新问题]
解答:
"""

优势

  • ✅ 提高复杂问题的准确性
  • ✅ 增强可解释性
  • ✅ 便于发现推理错误
  • ✅ 简单易用,无需额外工具

适用场景

  • 数学计算题
  • 逻辑推理题
  • 代码生成
  • 问题分析

示例代码

参考文件:2.CoT.py


2. Self-Consistency - 自洽性

核心思想

多次采样 + 投票决策 = 更高准确率

对同一问题进行多次独立推理,选择出现频率最高的答案。

工作流程

复制代码
问题 → 第1次调用 → 答案A
     → 第2次调用 → 答案B
     → 第3次调用 → 答案A
     → 第4次调用 → 答案A
     → 第5次调用 → 答案C

投票:答案A(3票) > 答案B(1票) > 答案C(1票)
最终结果:答案A ✓

关键参数

  • num_samples: 采样次数(通常 3-10 次)
  • temperature: 温度参数(0.5-0.8,增加多样性)

优势

  • ✅ 显著提高准确性
  • ✅ 减少单次调用的随机错误
  • ✅ 实现相对简单
  • ✅ 特别适合有确定答案的问题

代价

  • ❌ API 调用次数增加(成本更高)
  • ❌ 响应时间变长
  • ❌ 需要设计答案提取逻辑

适用场景

  • 数学计算(有唯一正确答案)
  • 事实性问题
  • 逻辑推理
  • 代码正确性验证

不适用场景

  • 创意写作(需要多样性)
  • 开放式问答
  • 主观性问题

示例代码

参考文件:3.Self-Consistency.py


3. Tree of Thoughts (ToT) - 思维树

核心思想

像下棋一样探索多种可能性 → 评估每条路径 → 回溯优化 → 选择最优解

工作流程

复制代码
                    问题
                   / | \
              思路A  思路B  思路C
              / | \    |
           A1  A2  A3  B1
           |
          A1a
          
评估所有路径 → 选择最优解

关键组件

  1. ThoughtNode - 树中的思考节点
  2. generate_thoughts() - 生成多个可能的下一步
  3. evaluate_state() - 评估当前路径质量(0-10分)
  4. is_solution() - 判断是否解决问题
  5. 搜索策略 - BFS(广度优先)或 DFS(深度优先)

参数配置

  • max_depth: 树的最大深度(通常 3-5)
  • branch_factor: 每层分支数(通常 2-4)
  • search_strategy: 搜索策略('bfs' 或 'dfs')

优势

  • ✅ 最灵活全面的探索
  • ✅ 可以回溯放弃差的路径
  • ✅ 适合复杂规划和决策
  • ✅ 可解释性强

代价

  • ❌ API 调用次数 = 节点数 × 2(生成+评估)
  • ❌ 实现复杂度高
  • ❌ 运行时间长
  • ❌ 成本高

适用场景

  • 24点游戏、数独等组合问题
  • 写作大纲规划
  • 商业策略决策
  • 代码架构设计
  • 需要"三思而后行"的复杂任务

与其他技术对比

特性 CoT Self-Consistency ToT
思维方式 线性 并行多条 树状探索
可回溯
成本
灵活性

示例代码

参考文件:4.ToT.py


4. ReAct (Reasoning + Acting) - 推理与行动

核心思想

推理 + 行动 = 突破知识限制

让 AI 通过与外部工具交互来解决需要实时信息或执行操作的问题。

工作流程

复制代码
Thought: 我需要查询北京的天气
Action: weather[北京]
Observation: 晴,25°C
Thought: 现在可以回答了
Final Answer: 北京今天天气晴朗,气温25°C

关键要素

  1. Thought(思考) - 分析问题,决定下一步
  2. Action(行动) - 调用工具执行操作
  3. Observation(观察) - 获取工具返回结果
  4. 循环迭代 - 重复直到得到答案

常用工具类型

  • 🔍 搜索引擎/知识库查询
  • 🧮 计算器
  • 🌐 API 调用(天气、股票等)
  • 📅 日期时间查询
  • 💾 数据库查询
  • 📝 文件读写

优势

  • 突破训练数据限制 - 可访问实时信息
  • 减少幻觉 - 基于实际观察而非猜测
  • 可扩展性强 - 轻松添加新工具
  • 实际应用广泛 - 最实用的技术

注意事项

  • 设置合理的 max_iterations(通常 3-10)
  • 确保工具有明确的输入输出格式
  • 处理工具执行失败的情况
  • 考虑 API 成本和延迟

如何扩展工具

python 复制代码
# 1. 定义工具函数
def my_tool(argument):
    # 实现功能
    return result

# 2. 注册到 TOOLS 字典
TOOLS["my_tool"] = {
    "function": my_tool,
    "description": "工具描述",
    "usage": "my_tool[参数]"
}

适用场景

  • 需要实时信息的查询
  • 需要执行计算的任务
  • 需要访问外部 API
  • 多步推理的复杂问题
  • Agent 系统开发

与其他技术对比

技术 特点 独特优势
CoT 纯推理 简单快速
Self-Consistency 多次投票 提高准确率
ToT 树状探索 全面灵活
ReAct 推理+工具 能访问外部信息,最实用

示例代码

参考文件:5.ReAct.py


技术对比总结

复杂度对比

复制代码
CoT < Self-Consistency < ToT ≈ ReAct

成本对比(API 调用次数)

复制代码
CoT (1次) < Self-Consistency (N次) < ToT (节点数×2) < ReAct (迭代次数×2)

选择指南

场景 推荐技术 原因
简单推理题 CoT 简单高效
有确定答案的复杂题 Self-Consistency 提高准确率
需要探索多种方案 ToT 全面搜索
需要实时信息/工具 ReAct 唯一能调用外部工具的
创意写作 CoT 保持流畅性
数学竞赛题 Self-Consistency + CoT 结合两者优势
复杂规划任务 ToT 可回溯优化
智能助手/Agent ReAct 实用性强

组合使用

这些技术可以组合使用以获得更好的效果:

  • CoT + Self-Consistency: 每次采样都使用思维链,然后投票
  • ToT + CoT: 在树的每个节点使用思维链推理
  • ReAct + CoT: 在 ReAct 的思考步骤中使用思维链
  • ReAct + ToT: 在 ReAct 的每个行动选择时使用树状搜索

最佳实践

1. 从简单开始

先使用 CoT,如果效果不好再尝试更复杂的技术。

2. 明确问题类型

  • 有确定答案 → Self-Consistency
  • 需要外部信息 → ReAct
  • 需要探索多种方案 → ToT

3. 控制成本

  • 设置合理的采样次数/迭代次数
  • 监控 API 调用费用
  • 考虑缓存重复查询的结果

4. 设计好的 Prompt

  • 清晰的指令和格式要求
  • 提供足够的示例(Few-Shot)
  • 明确的输出格式规范

5. 评估和优化

  • 建立测试集评估不同技术的效果
  • 根据实际表现调整参数
  • 持续优化工具和提示词

相关推荐
鱼干~2 小时前
【全栈知识点】全栈开发知识点
前端·人工智能·c#
白小筠2 小时前
自然语言处理之迁移学习
人工智能·自然语言处理·迁移学习
语戚2 小时前
Stable Diffusion 核心模块深度拆解:CLIP、U-Net 与 VAE 原理全解析
人工智能·ai·stable diffusion·aigc·模型
枫叶林FYL2 小时前
【自然语言处理 NLP】8.3 长文本推理评估与针在大海堆任务
人工智能·算法
TDengine (老段)2 小时前
TDengine IDMP 事件 —— 事件模板
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
skywalk81632 小时前
DuMate帮着在Windows10 编译安装Whisper-CPP
人工智能·whisper
Sonhhxg_柒2 小时前
【LLM】DeepAgents实战教程及DeepResearch代码分析
人工智能·深度学习·语言模型
黑金IT2 小时前
*Qwen3-V2**与 **Gemini 4o**区别
人工智能·prompt
海兰2 小时前
【实战】MemPalace 完整安装与使用指南
人工智能·openclaw