第 2 章 推理与工具使用 / MCP

CoT · Self-Consistency · ToT · ReAct · 测试时计算与推理模型 · 函数调用 · Model Context Protocol

一个反直觉的事实:模型往往不是不会推理,而是默认不去推理——只要引导它"把过程写出来"或"调用外部工具",复杂任务正确率就大幅跃升。本章先讲推理方法谱系,再讲"推理 → 行动"如何接入工具与 MCP。

3 推理(Reasoning)

3.1 提示层推理方法

Chain-of-Thought(CoT)(Wei et al., 2022)在示例中给出中间推理步骤,是一种涌现能力(约 100B 量级才显著);Zero-shot 版只需加一句"Let's think step by step"。Self-Consistency(Wang et al., 2022)采样多条路径再多数投票,把 PaLM-540B 的 GSM8K 从 56.5%→74.4%。Least-to-Most(Zhou et al., 2022)先把难题分解为由易到难的子问题再顺序求解,擅长组合泛化。Tree of Thoughts(Yao et al., 2023)把推理推广为可生成/自评/回溯的树搜索,Game of 24 上 GPT-4 从 CoT 的 4%→74%。ReAct(Yao et al., 2022)把推理与行动交织,接入外部工具抑制幻觉。Reflexion(Shinn et al., 2023)失败后做言语反思写入记忆,下次重试时读取——"测试时的语言强化学习"。

方法核心机制调工具开销最适场景主要短板
CoT生成中间推理步骤低(1×)通用多步推理单路径,一错全错
Self-Consistency多路径采样+投票中-高(N×)答案可归一化(数值/选择)成本随采样线性涨
Least-to-Most分解子问题+顺序解组合泛化、需规划分解质量决定上限
Tree of Thoughts生成+自评+搜索/回溯规划/试错(博弈/谜题)实现复杂;评估器可靠性
ReActThought→Action→Observation中-高知识问答、Agent、交互依赖工具可靠性
Reflexion失败后反思+写记忆,重试高(多轮)可重试任务(编码/游戏)需可重试环境

经验法则:简单题 CoT;可投票的题加 Self-Consistency;难分解用 Least-to-Most;需搜索/规划用 ToT;需外部信息用 ReAct;有重试机会再叠加 Reflexion。

3.2 范式转变:测试时计算与推理模型

传统 scaling 关注训练时算力;测试时计算(test-time compute)主张推理时"想得更久"也能换性能。Snell et al. (2024) 证明存在 compute-optimal 策略,按难度自适应分配推理算力,小模型 + 充足测试时计算可在部分问题上超过 14× 大的模型。推理型模型把"CoT/反思"内化进权重:OpenAI o1(2024)用大规模 RL 训练"回答前先产出长思维链",提出"训练与推理算力双扩张";DeepSeek-R1(2025)证明纯 RL(无需人工推理轨迹)即可激励出推理能力,开源且比肩 o1。这是从"会说话的 LLM"走向"会自主推理的 Agentic LLM"的关键一跃。

3.3 推理的局限与争议

是真推理还是模式匹配? Faith and Fate(Dziri et al., 2023)发现组合任务上 Transformer 倾向退化为"线性化子图匹配"。基准可能高估能力: Apple 的 GSM-Symbolic(2024)发现仅改数值或加无关从句,正确率即明显波动(该结论亦有方法学争议,宜正反并陈)。其余:CoT 忠实性(写出的推理链未必是真实决策依据)、过度思考(简单题长思考反而降准、增本)、误差级联(长链早期小错被放大)。

4 工具使用与 MCP

LLM 的权重是"冻结的世界快照":不会精确算术、不知实时信息、不能执行代码。工具使用把这些外置——与 3.1 的 ReAct 一脉相承:推理决定"用什么工具",工具返回"可信结果"。

用户问题 Thought 分析 / 规划下一步 Action 调用工具 + 生成参数 Observation 工具返回的事实/结果 信息不足 → 回到 Thought 继续循环 Final Answer 信息充分
图 2.1 ReAct 的 Thought → Action → Observation 循环(可叠加 Reflexion 记忆)

4.1 函数 / 工具调用机制

主流做法是结构化函数调用:① 用 JSON Schema 声明工具(名称/用途/参数);② 模型决策是否调用并输出结构化请求(工具名+JSON 参数);③ 运行时执行函数并回传结果;④ 模型把 observation 纳入上下文,生成回答或下一次调用(多轮即 ReAct 工程化)。关键:模型只负责"决定调用+生成参数+解释结果",执行与安全控制在模型之外

4.2 让模型学会用工具

Toolformer(Schick et al., 2023)自监督学会调用:只保留那些"能降低后续 token 困惑度"的 API 调用作为训练数据。Gorilla(Patil et al., 2023)针对海量、易变 API,用检索增强 + retriever-aware training,写 API 调用超过 GPT-4、抑制用法幻觉。ToolLLM / ToolBench(Qin et al., 2023)从 RapidAPI 收集 16,000+ 真实 API,把工具学习推向"真实、大规模、多步组合"。脉络:学会调用 → 在海量 API 上调对 → 真实大规模多步编排。

4.3 Model Context Protocol(MCP)

MCP 之前,"模型 ↔ 工具"是定制对接:N 模型 × M 工具 = N×M 套胶水代码。MCP(Anthropic,2024-11 开源)是开放标准,用统一协议把 N×M 降为 N+M——"AI 应用的 USB-C"。基于 JSON-RPC 2.0 的 host–client–server 架构,server 通过三类原语暴露能力:Tools(可调用动作)、Resources(可读数据)、Prompts(可复用模板),启动时做能力协商。生态上 Claude 已提供 75+ 连接器;MCP 已捐赠给 Agentic AI Foundation(Linux 基金会下),由 Anthropic/Block/OpenAI 发起、多家支持,走向中立治理。

HOST(Claude Desktop / IDE) 面向用户 · 管理授权与安全策略 · 编排 LLM 调用 Client 1(1:1) Client 2(1:1) Client 3(1:1) JSON-RPC 2.0 JSON-RPC 2.0 JSON-RPC 2.0 Server A · 文件系统 ToolsResourcesPrompts Server B · GitHub ToolsResourcesPrompts Server C · 数据库 ToolsResourcesPrompts 统一协议把 "N 应用 × M 工具" 的定制集成降为 "N + M"
图 2.2 MCP 的 Host / Client / Server 架构

4.4 工具使用的失败模式

无效/非法调用(工具名错、参数缺失、JSON 不合法)、参数/用法幻觉工具选择错误结果误读与误差级联(把上游错误当真,在多步链中层层放大——最危险)、多步编排失败(依赖顺序错、死循环)、安全对抗面(工具返回内容携带间接 prompt injection;恶意 MCP server 的供应链风险)。缓解:严格 schema 校验与重试、检索增强工具文档、自我验证、Reflexion 式反思、最小权限与人类确认、对 observation 做信任边界隔离(详见第 4 章安全)。

关键论文 / 资源(已核实)

  1. Chain-of-Thought Prompting (Wei et al., 2022) 2201.11903 | Self-Consistency (Wang et al., 2022) 2203.11171
  2. Least-to-Most Prompting (Zhou et al., 2022) 2205.10625 | Tree of Thoughts (Yao et al., 2023) 2305.10601
  3. ReAct (Yao et al., 2022) 2210.03629 | Reflexion (Shinn et al., 2023) 2303.11366
  4. Scaling LLM Test-Time Compute Optimally (Snell et al., 2024) 2408.03314
  5. OpenAI o1 — Learning to reason with LLMs (2024) 官方 | DeepSeek-R1 (2025) 2501.12948
  6. Faith and Fate (Dziri et al., 2023) 2305.18654 | GSM-Symbolic (Mirzadeh et al., 2024) 2410.05229
  7. Toolformer (Schick et al., 2023) 2302.04761 | Gorilla (Patil et al., 2023) 2305.15334 | ToolLLM (Qin et al., 2023) 2307.16789
  8. Introducing MCP (Anthropic, 2024) 官方 | MCP 规范 · 架构 modelcontextprotocol.io
← LLM 基础与适配 下一章:Agent 架构与多智能体 →