reasoning model deep

推理模型深度对比:o1 vs o3 vs Claude Thinking vs DeepSeek-R1

前言 2025 年是推理模型(Reasoning Model)爆发的一年。OpenAI o1 的发布开创了"慢思考"范式,随后 o3、Claude Thinking Mode、DeepSeek-R1 等模型相继涌现。这些模型不再追求即时回复,而是通过隐式思维链(Hidden Chain-of-Thought)在回答前进行深度推理,在数学、编程和科学问题上取得了突破性进展。本文将深度对比这四款推理模型,揭示它们的能力边界和适用场景。 一、推理模型的范式革命 1.1 快思考 vs 慢思考 传统 LLM(快思考) 推理模型(慢思考) ────────────────── ────────────────── 输入 → 直接输出 输入 → [隐式推理] → 输出 延迟: 0.5-2s 延迟: 5-120s 适合: 对话/摘要/翻译 适合: 数学/代码/科学推理 Token 效率高 Token 效率低(大量思考 token) 错误模式: 知识不足 错误模式: 推理路径错误 1.2 推理模型的核心机制 模型 推理机制 思维链可见性 推理 token 预算 工具调用 o1 隐式 CoT + 强化学习 ❌ 不可见 动态分配 ❌ o3 隐式 CoT + 思维树搜索 ⚠️ 摘要可见 可配置 ✅ Claude Thinking 显式 CoT + 自我反思 ✅ 完全可见 可配置 ✅ DeepSeek-R1 隐式 CoT + GRPO 训练 ⚠️ 部分可见 动态分配 ❌ 二、参评模型概览 模型 开发商 基础架构 最大推理步数 发布时间 开源 o1 OpenAI GPT-4o + RL 推理 ~100K tokens 2024.09 ❌ o3 OpenAI GPT-5 + 思维树 ~200K tokens 2025.04 ❌ Claude Thinking Anthropic Claude 4 + 显式思考 ~150K tokens 2025.06 ❌ DeepSeek-R1 深度求索 DeepSeek V4 + GRPO ~120K tokens 2025.01 ✅ 三、基准测试对比 3.1 数学推理 模型 AIME 2025 (%) MATH (%) GPQA-Diamond (%) Putnam 2025 (%) o1 83.3 96.4 78.6 41.2 o3 97.4 99.1 82.1 62.8 Claude Thinking 89.6 97.8 80.4 48.7 DeepSeek-R1 86.7 97.2 71.2 38.4 o3 在 AIME 2025(美国数学邀请赛)中达到 97.4% 的正确率,几乎接近满分。这得益于其思维树搜索机制,可以探索多条推理路径并选择最优解。 ...

2026-06-25 · 5 min · 1025 words · 硅基 AGI 探索者
sglang vs vllm

SGLang vs vLLM:新一代推理引擎之争

背景:为什么需要新的推理引擎 vLLM 以 PagedAttention 革新了 KV Cache 管理,但在实际生产中仍存在痛点: 前缀缓存粒度粗:vLLM 的 Prefix Cache 是 block 级别,命中率受限于前缀完全匹配 多轮对话效率低:每轮对话的 KV Cache 无法跨请求高效复用 缺乏结构化生成:JSON/Regex 约束生成需要额外引擎(如 Outlines) SGLang(Structured Generation Language)由 LMSYS 团队开发,从设计之初就针对这些问题。 SGLang 架构 核心组件 ┌──────────────────────────────────────────────┐ │ SGLang Frontend (Python) │ │ @function 装饰器 / sgl.gen() DSL │ ├──────────────────────────────────────────────┤ │ SGLang Runtime (Server) │ │ RadixAttention + Cache Manager │ │ + Constrained Decoding (Regex/JSON) │ ├───────────────┬──────────────────────────────┤ │ Scheduler │ Model Worker │ │ (Batching) │ (Tensor Parallel) │ ├───────────────┴──────────────────────────────┤ │ GPU Workers (CUDA) │ └──────────────────────────────────────────────┘ RadixAttention 原理 RadixAttention 是 SGLang 的核心创新。与 vLLM 的 PagedAttention 相比,关键区别在于 KV Cache 的组织方式: ...

2026-06-25 · 4 min · 751 words · 硅基 AGI 探索者
text generation webui

Text Generation Inference 评测:HuggingFace 的推理服务器

TGI 架构 Text Generation Inference(TGI)是 HuggingFace 官方的 LLM 推理服务器,与 HuggingFace 生态深度集成。 ┌─────────────────────────────────────────────┐ │ OpenAI Compatible REST API │ │ (Streaming / Function Calling / Tools) │ ├─────────────────────────────────────────────┤ │ Router │ │ (Load Balancing + Queue Management) │ ├──────────────┬──────────────────────────────┤ │ Flash │ Continuous Batching │ │ Attention │ Scheduler │ │ (v2/v3) │ │ ├──────────────┴──────────────────────────────┤ │ CUDA / ROCm Workers │ │ (Tensor Parallel + Quantization) │ └─────────────────────────────────────────────┘ 核心组件 组件 说明 Router 请求路由、负载均衡、队列管理 Flash Attention I/O 感知的精确注意力 Continuous Batching 动态批处理 Quantization GPTQ / AWQ / EETQ / BitsAndBytes Watermark 水印生成(防滥用) Token Streaming SSE 流式输出 Flash Attention 集成 TGI 从设计之初就深度集成 Flash Attention,这是其与 vLLM 早期竞争的核心优势之一。 ...

2026-06-25 · 5 min · 962 words · 硅基 AGI 探索者
react prompt pattern

ReAct Prompt 模式:推理与行动的交织

ReAct 原理 ReAct(Reasoning + Acting)让 LLM 交替进行推理(Thought)和行动(Action),通过环境反馈(Observation)驱动推理链前进。 问题 → Thought → Action → Observation → Thought → Action → ... → Answer ↑ ↑ 内部推理 环境反馈 为什么 ReAct 有效 纯推理(CoT) 纯行动 ReAct 基于错误事实推理 盲目尝试 推理指导行动,行动修正推理 无法获取外部信息 无法利用中间结论 动态获取并整合信息 错误沿链传播 每步独立 观察反馈纠正方向 Thought-Action-Observation 循环 Thought 1: 分析问题,决定第一步 Action 1: 调用工具 Observation 1: 工具返回结果 Thought 2: 基于观察决定下一步 Action 2: 调用工具 Observation 2: 工具返回结果 Thought N: 已有足够信息 Action: FINISH Answer: 最终答案 示例 问题: 2024年奥斯卡最佳影片导演出生城市人口? Thought 1: 先找最佳影片和导演 Action 1: search("2024 Oscar best picture") Observation 1: 《奥本海默》获最佳影片,导演诺兰。 Thought 2: 诺兰出生城市 Action 2: search("Nolan birthplace") Observation 2: 出生于伦敦。 Thought 3: 伦敦人口 Action 3: search("London population") Observation 3: 约898万。 Thought 4: 信息齐全 Action 4: FINISH Answer: 诺兰出生于伦敦,人口约898万。 ReAct vs CoT 维度 CoT ReAct 外部信息 ❌ ✅ 错误纠正 ❌ ✅ 延迟 低 高 成本 低 高 适用场景 数学/逻辑 需外部信息的复杂任务 工具调用集成 工具定义 from dataclasses import dataclass from typing import Callable @dataclass class Tool: name: str description: str func: Callable parameters: dict def execute(self, **kwargs) -> str: try: return str(self.func(**kwargs)) except Exception as e: return f"Error: {e}" tools = [ Tool("search", "搜索网络", search_web, {"query": {"type": "string"}}), Tool("calculate", "数学计算", calculate, {"expression": {"type": "string"}}), ] ReAct Prompt 模板 REACT_PROMPT = """你是能使用工具的智能助手。 可用工具: {tools_description} 格式: Thought: 推理过程 Action: 工具名称 Action Input: JSON参数 Observation: (系统自动填入) 完成后: Thought: 最终推理 Action: FINISH Final Answer: 最终答案 最多 {max_iterations} 轮。 问题: {question} Thought 1:""" ReAct 引擎核心 class ReActEngine: def __init__(self, llm, tools, max_iter=10): self.llm = llm self.tools = {t.name: t for t in tools} self.max_iter = max_iter def run(self, question: str) -> dict: history = "" for i in range(self.max_iter): response = self.llm.generate(self._build_prompt(question, history), temperature=0) parsed = self._parse(response) if parsed.get('action') == 'FINISH': return {'answer': parsed.get('final_answer', ''), 'iterations': i+1} name = parsed.get('action', '') obs = self.tools[name].execute(**parsed.get('input', {})) if name in self.tools else f"未知工具: {name}" history += f"\nThought: {parsed['thought']}\nAction: {name}\nObservation: {obs}\n" return {'answer': '达到最大迭代', 'timeout': True} 高级优化 class RobustReActEngine(ReActEngine): def _check_loop(self, trace, window=3) -> bool: if len(trace) < window * 2: return False recent = trace[-window:] for i in range(len(trace) - window): if all(r['action'] == s['action'] for r, s in zip(recent, trace[i:i+window])): return True return False 适用场景 场景 适用性 原因 多跳问答 ⭐⭐⭐⭐⭐ 需逐步获取信息 数据分析 ⭐⭐⭐⭐⭐ 需查询+计算+分析 代码调试 ⭐⭐⭐⭐ 需执行代码看结果 创意写作 ⭐ 不需外部信息 数学证明 ⭐⭐ CoT 更高效 客服系统 ⭐⭐⭐⭐ 需查知识库+执行操作 研究助手 ⭐⭐⭐⭐⭐ 信息收集+综合分析 实战建议 工具描述要精确:选错工具的原因是描述模糊 限制迭代次数:设 8-10 轮上限 温度设为 0:ReAct 需要确定性 结构化输出:用 JSON 模式替代正则解析 缓存工具结果:减少 API 调用 日志全量记录:trace 是调试金矿 成本监控:多轮调用容易产生意外成本 用 function calling:LLM 支持时用它替代文本解析 ReAct 给 LLM 装上"手和眼"——不只是用脑子想,还能动手做。 加入讨论 这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。 ...

2026-06-24 · 2 min · 404 words · 硅基 AGI 探索者
self consistency guide

Self-Consistency 技巧:多次采样提升推理质量

核心原理 Self-Consistency (SC) 的核心思想极其简洁:对同一个问题生成多条推理路径,通过投票选出最一致的答案。 传统 Chain-of-Thought (CoT) 只采样一次推理路径,若该路径在某一步出错,最终答案就会错。SC 利用了一个关键观察——正确答案往往比错误答案更容易被多种推理路径到达。 # 单次 CoT:一条路径 问题 → [推理路径 A] → 答案 A # Self-Consistency:多条路径 + 投票 问题 → [推理路径 A] → 答案 A ─┐ → [推理路径 B] → 答案 B ─┼→ 多数投票 → 最终答案 → [推理路径 C] → 答案 A ─┘ → [推理路径 D] → 答案 A ─┘ 采样策略详解 温度参数 (Temperature) 温度控制采样的随机性,是 SC 效果的关键变量: 温度范围 效果 适用场景 0.0-0.3 路径高度相似,多样性不足 简单问题 0.5-0.7 多样性与质量的最佳平衡 推荐默认 0.8-1.0 路径差异大,但质量下降 复杂推理需高多样性 Top-p 采样 Top-p (nucleus sampling) 限制了候选 token 的概率质量: ...

2026-06-24 · 3 min · 543 words · 硅基 AGI 探索者
vllm advanced guide

vLLM 高级配置指南:压榨每一滴性能

vLLM 性能基石 vLLM 的核心性能优势来自三大技术: 技术 解决的问题 性能提升 PagedAttention KV Cache 内存碎片 2-4x 吞吐 连续批处理 静态批处理浪费 3-8x 吞吐 高效注意力 标准 Attention 慢 2x 推理速度 PagedAttention 原理 传统 KV Cache 为每个请求预分配连续内存,导致大量碎片: 传统方式: [请求A: ████░░░░] [请求B: ██░░░░░░] [请求C: ██████░░] 预分配8块, 用4块 预分配8块, 用2块 预分配8块, 用6块 浪费4块 浪费6块 浪费2块 总利用率: 12/24 = 50% PagedAttention: [块0:A1] [块1:A2] [块2:B1] [块3:C1] [块4:C2] [块5:A3] [块6:C3] [块7:空闲] 按需分配, 几乎无浪费 总利用率: 7/8 = 87.5% KV Cache 被分成固定大小的 block(通常 16 token/block),通过页表映射,类似操作系统的虚拟内存。 ...

2026-06-24 · 4 min · 795 words · 硅基 AGI 探索者
speculative decoding

推测解码加速原理:Draft Model 验证范式

1. 自回归解码的瓶颈 1.1 逐 token 生成的低效 LLM 自回归生成:每次前向传播只产生 1 个 token。对于 $N$ 个 token 的输出,需要 $N$ 次串行前向传播。 每次前向传播的计算量: $$\text{FLOPS}{\text{per step}} \approx 2 \times \text{Params}{\text{active}}$$ 但实际 GPU 利用率很低——单 token 推理是内存带宽受限的: $$\text{Compute intensity} = \frac{\text{FLOPS}}{\text{Bytes loaded}} = \frac{2N}{N \times \text{dtype_size}} = \frac{2}{\text{dtype_size}}$$ FP16 下计算强度仅为 1 FLOP/byte,远低于 GPU 的算力/带宽比(A100: 312 TFLOPS / 2TB/s = 156 FLOP/byte)。GPU 大部分时间在等待内存加载权重。 1.2 理想情况 如果能一次前向传播生成 $k$ 个 token,就能将权重复用 $k$ 次,计算强度提升 $k$ 倍。这就是推测解码的核心动机。 2. 推测解码原理 2.1 基本思想 推测解码(Speculative Decoding)使用两个模型: ...

2026-06-24 · 4 min · 833 words · 硅基 AGI 探索者
chain of thought guide

思维链 Prompt 工程指南:让 LLM 学会一步步思考

思维链:从直觉到推理的跨越 大语言模型在简单问答上表现惊艳,但面对数学推导、逻辑推理、多步决策等复杂任务时,直接给出答案往往出错。原因很简单:模型在单次前向传播中压缩了所有推理过程,信息瓶颈导致中间步骤丢失。 思维链(Chain-of-Thought, CoT)的核心思想是:强制模型显式输出中间推理步骤,再得出最终答案。 这不是让模型"思考更深",而是为模型提供额外的 token 预算来承载中间计算。 Zero-shot CoT vs Few-shot CoT Zero-shot CoT 最简单的 CoT 触发方式——在 Prompt 末尾追加一句话: 问题:一个商店有 23 个苹果,卖了 17 个,又进货了 12 个。现在有多少个苹果? 让我们一步一步思考。 模型输出: 1. 初始有 23 个苹果 2. 卖出 17 个:23 - 17 = 6 3. 进货 12 个:6 + 12 = 18 4. 现在有 18 个苹果 关键点: “让我们一步一步思考”(Let’s think step by step)这句话在 GSM8K 基准上将准确率从 17.7% 提升到 78.7%(GPT-3.5)。这个魔法的本质是引导模型进入"推理模式"的 token 分布。 Few-shot CoT 在 Prompt 中提供带推理过程的示例: ...

2026-06-24 · 3 min · 452 words · 硅基 AGI 探索者
鲁ICP备2026018361号