<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Chain-of-Thought on Tarragon</title><link>https://tarrragon.github.io/blog/tags/chain-of-thought/</link><description>Recent content in Chain-of-Thought on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/chain-of-thought/index.xml" rel="self" type="application/rss+xml"/><item><title>3.8 Reasoning models：test-time compute paradigm</title><link>https://tarrragon.github.io/blog/llm/03-theoretical-foundations/reasoning-models/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/llm/03-theoretical-foundations/reasoning-models/</guid><description>&lt;p>&lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/reasoning-model/" data-link-title="Reasoning Model" data-link-desc="訓練成自然輸出長 reasoning trace 的 LLM 變體、o1 / DeepSeek-R1 / Claude thinking 為代表">Reasoning model&lt;/a> 把「LLM 該想多久」從固定的 forward pass 數變成&lt;strong>可訓練、可在推論時動態擴展&lt;/strong>的維度。OpenAI o1（2024 年底）跟 DeepSeek-R1（2025 年初）是這條路線的兩個里程碑、後續 Qwen-QwQ、Claude thinking、Gemini thinking 等都跟上。本章把 reasoning model 的訓練原理、推論行為、本地可跑選項、適用 / 不適用任務拆成可操作的判讀。&lt;/p>
&lt;p>本章不重複 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/chain-of-thought/" data-link-title="Chain-of-Thought（CoT）" data-link-desc="讓 LLM 先輸出推理步驟再給最終答案的 prompting / 訓練方式、reasoning model 的基礎機制">chain-of-thought&lt;/a> 跟 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/test-time-compute/" data-link-title="Test-Time Compute" data-link-desc="推論時動態增加計算量換取答案品質的 paradigm、reasoning model 跟 best-of-N 的共同基底">test-time compute&lt;/a> 卡片的定義、聚焦「reasoning model 怎麼運作、怎麼跟本地工作流結合」。&lt;/p>
&lt;h2 id="本章目標">本章目標&lt;/h2>
&lt;p>讀完本章後、你應該能：&lt;/p>
&lt;ol>
&lt;li>解釋「reasoning model」相對 instruct model 的訓練差異。&lt;/li>
&lt;li>看到 &lt;code>&amp;lt;think&amp;gt;...&amp;lt;/think&amp;gt;&lt;/code> 標記或「extended thinking」field 時、知道是 reasoning trace、怎麼解讀。&lt;/li>
&lt;li>判斷一個任務該用 reasoning model 還是 instruct model。&lt;/li>
&lt;li>對自己的硬體預算估算「能不能本地跑 reasoning model」、選哪個。&lt;/li>
&lt;/ol>
&lt;h2 id="paradigm-shift從-scaling-pretrain-到-scaling-test-time">Paradigm shift：從 scaling pretrain 到 scaling test-time&lt;/h2>
&lt;p>LLM 能力提升的兩條歷史路徑：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">2020-2023 時期：scale pretrain compute
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> GPT-3 → GPT-4：模型大 5-10×、訓練 compute 大 50-100×
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> 策略：更多參數 + 更多訓練 token = 更好的 base model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">2024-2026 時期：scale test-time compute
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> GPT-4 → o1：模型大小接近、但推論時花 5-50× 算力
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> 策略：base model 不變、訓練「推理能力」+ 推論時動態擴展 reasoning trace&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>兩條路線&lt;strong>不對立&lt;/strong>、是疊加：reasoning model 本身仍跑在大 base model 上、reasoning RL 是再加一層後訓練。Cost trade-off 對比的 framing 跟對使用者錢包的影響、見 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/test-time-compute/" data-link-title="Test-Time Compute" data-link-desc="推論時動態增加計算量換取答案品質的 paradigm、reasoning model 跟 best-of-N 的共同基底">test-time compute 卡片&lt;/a>。本章接下來聚焦「reasoning model 的訓練流程」跟「本地選型」、不重複 paradigm 層的對比。&lt;/p>
&lt;p>關鍵理解：reasoning model 不是「更聰明的 GPT-4」、是「同等聰明 base model + 學會把算力花在 reasoning 上」。底層 base model 依然是 Transformer、所有前面章節（attention、FFN、sampling）原理不變。&lt;/p>
&lt;h2 id="reasoning-model-的訓練流程">Reasoning model 的訓練流程&lt;/h2>
&lt;p>DeepSeek-R1 是第一個公開細節的開源 reasoning model、其 paper 揭示的訓練流程具有代表性：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">Stage 1: Cold-start SFT
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> 用幾千份「高品質 long reasoning trace」資料 fine-tune base model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl"> 目標：讓模型學會「該怎麼想」的 format
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">Stage 2: Reasoning-focused RL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> Reward：最終答案正確（math / code / logic 等可機械驗證的任務）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> Policy：把 reasoning trace 越拉越長、越能正確、reward 越高
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> 約束：保留語言流暢度（不能 reasoning trace 變成亂碼）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> → 模型自發學會「困難問題想更久」
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">Stage 3: SFT on reasoning + non-reasoning data
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> 把 reasoning RL 學到的能力跟一般 instruct 能力 mix
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> 避免「只會 reasoning、不會聊天」
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">Stage 4: Final RLHF / DPO（可選）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl"> 跟 instruct model 同樣的 alignment 階段、refine helpfulness&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>關鍵特性：&lt;/p></description><content:encoded><![CDATA[<p><a href="/blog/llm/knowledge-cards/reasoning-model/" data-link-title="Reasoning Model" data-link-desc="訓練成自然輸出長 reasoning trace 的 LLM 變體、o1 / DeepSeek-R1 / Claude thinking 為代表">Reasoning model</a> 把「LLM 該想多久」從固定的 forward pass 數變成<strong>可訓練、可在推論時動態擴展</strong>的維度。OpenAI o1（2024 年底）跟 DeepSeek-R1（2025 年初）是這條路線的兩個里程碑、後續 Qwen-QwQ、Claude thinking、Gemini thinking 等都跟上。本章把 reasoning model 的訓練原理、推論行為、本地可跑選項、適用 / 不適用任務拆成可操作的判讀。</p>
<p>本章不重複 <a href="/blog/llm/knowledge-cards/chain-of-thought/" data-link-title="Chain-of-Thought（CoT）" data-link-desc="讓 LLM 先輸出推理步驟再給最終答案的 prompting / 訓練方式、reasoning model 的基礎機制">chain-of-thought</a> 跟 <a href="/blog/llm/knowledge-cards/test-time-compute/" data-link-title="Test-Time Compute" data-link-desc="推論時動態增加計算量換取答案品質的 paradigm、reasoning model 跟 best-of-N 的共同基底">test-time compute</a> 卡片的定義、聚焦「reasoning model 怎麼運作、怎麼跟本地工作流結合」。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本章後、你應該能：</p>
<ol>
<li>解釋「reasoning model」相對 instruct model 的訓練差異。</li>
<li>看到 <code>&lt;think&gt;...&lt;/think&gt;</code> 標記或「extended thinking」field 時、知道是 reasoning trace、怎麼解讀。</li>
<li>判斷一個任務該用 reasoning model 還是 instruct model。</li>
<li>對自己的硬體預算估算「能不能本地跑 reasoning model」、選哪個。</li>
</ol>
<h2 id="paradigm-shift從-scaling-pretrain-到-scaling-test-time">Paradigm shift：從 scaling pretrain 到 scaling test-time</h2>
<p>LLM 能力提升的兩條歷史路徑：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">2020-2023 時期：scale pretrain compute
</span></span><span class="line"><span class="ln">2</span><span class="cl">  GPT-3 → GPT-4：模型大 5-10×、訓練 compute 大 50-100×
</span></span><span class="line"><span class="ln">3</span><span class="cl">  策略：更多參數 + 更多訓練 token = 更好的 base model
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl">2024-2026 時期：scale test-time compute
</span></span><span class="line"><span class="ln">6</span><span class="cl">  GPT-4 → o1：模型大小接近、但推論時花 5-50× 算力
</span></span><span class="line"><span class="ln">7</span><span class="cl">  策略：base model 不變、訓練「推理能力」+ 推論時動態擴展 reasoning trace</span></span></code></pre></div><p>兩條路線<strong>不對立</strong>、是疊加：reasoning model 本身仍跑在大 base model 上、reasoning RL 是再加一層後訓練。Cost trade-off 對比的 framing 跟對使用者錢包的影響、見 <a href="/blog/llm/knowledge-cards/test-time-compute/" data-link-title="Test-Time Compute" data-link-desc="推論時動態增加計算量換取答案品質的 paradigm、reasoning model 跟 best-of-N 的共同基底">test-time compute 卡片</a>。本章接下來聚焦「reasoning model 的訓練流程」跟「本地選型」、不重複 paradigm 層的對比。</p>
<p>關鍵理解：reasoning model 不是「更聰明的 GPT-4」、是「同等聰明 base model + 學會把算力花在 reasoning 上」。底層 base model 依然是 Transformer、所有前面章節（attention、FFN、sampling）原理不變。</p>
<h2 id="reasoning-model-的訓練流程">Reasoning model 的訓練流程</h2>
<p>DeepSeek-R1 是第一個公開細節的開源 reasoning model、其 paper 揭示的訓練流程具有代表性：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">Stage 1: Cold-start SFT
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  用幾千份「高品質 long reasoning trace」資料 fine-tune base model
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">  目標：讓模型學會「該怎麼想」的 format
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">Stage 2: Reasoning-focused RL
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">  Reward：最終答案正確（math / code / logic 等可機械驗證的任務）
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">  Policy：把 reasoning trace 越拉越長、越能正確、reward 越高
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">  約束：保留語言流暢度（不能 reasoning trace 變成亂碼）
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">  → 模型自發學會「困難問題想更久」
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl">Stage 3: SFT on reasoning + non-reasoning data
</span></span><span class="line"><span class="ln">12</span><span class="cl">  把 reasoning RL 學到的能力跟一般 instruct 能力 mix
</span></span><span class="line"><span class="ln">13</span><span class="cl">  避免「只會 reasoning、不會聊天」
</span></span><span class="line"><span class="ln">14</span><span class="cl">
</span></span><span class="line"><span class="ln">15</span><span class="cl">Stage 4: Final RLHF / DPO（可選）
</span></span><span class="line"><span class="ln">16</span><span class="cl">  跟 instruct model 同樣的 alignment 階段、refine helpfulness</span></span></code></pre></div><p>關鍵特性：</p>
<ol>
<li><strong>Stage 2 的 reward 機械可驗證</strong>：math 答案、code unit test、logic 答案 — 不需要 human preference、所以可大量擴展訓練資料</li>
<li><strong>Reasoning trace 是「emerge」出來的</strong>：訓練不直接告訴模型「該怎麼想」、只給「答案對不對」、模型自己摸索出最佳 reasoning strategy</li>
<li><strong>跨任務 transfer 有限</strong>：reasoning model 在訓練分佈內任務（math、coding）強、跨到開放域對話、提升較小</li>
</ol>
<p><a href="/blog/llm/knowledge-cards/reasoning-model/" data-link-title="Reasoning Model" data-link-desc="訓練成自然輸出長 reasoning trace 的 LLM 變體、o1 / DeepSeek-R1 / Claude thinking 為代表">DeepSeek-R1 distill 系列</a> 是另一條路：用 R1 full 模型產生 reasoning trace、再 SFT 一個小 base model（如 Qwen2.5-32B）— 讓較小模型也有 reasoning 能力、但跳過昂貴的 RL 階段。</p>
<h2 id="reasoning-trace-的格式">Reasoning trace 的格式</h2>
<p>主流 reasoning model 在推論時輸出 reasoning trace 的格式：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">DeepSeek-R1 / Qwen-QwQ：用特殊 token 標記
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  &lt;think&gt;
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">  讓我先列出已知條件...先試 case 1...結果矛盾、改試 case 2...
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">  &lt;/think&gt;
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">  最終答案：X
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">OpenAI o1：對使用者隱藏
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">  API 只回最終答案、但計費 reasoning token
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">  使用者看不到 reasoning trace 內容
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl">Claude 3.7 thinking：extended thinking field
</span></span><span class="line"><span class="ln">12</span><span class="cl">  API response 含 `extended_thinking` 跟 `text` 兩個 field
</span></span><span class="line"><span class="ln">13</span><span class="cl">  IDE / chat 介面通常折疊顯示 thinking 內容</span></span></code></pre></div><p>實作層的關鍵考量：</p>
<ol>
<li><strong>Tokenizer 對 reasoning token 的處理</strong>：<code>&lt;think&gt;</code> 等特殊 token 在 vocab 中被保留、tokenizer 識別後不切碎</li>
<li><strong>Context budget 分配</strong>：reasoning trace 通常 1000-10000 token、要預留 <a href="/blog/llm/knowledge-cards/context-window/" data-link-title="Context Window" data-link-desc="模型一次能處理的最大 token 數量：prompt 加生成的總和上限">context window</a> 容量</li>
<li><strong>Streaming 行為</strong>：reasoning trace streaming 時、使用者看到「模型在想」、TTFT 變短但「first useful output」變長</li>
<li><strong>Stop sequence</strong>：sampling 階段 <code>&lt;/think&gt;</code> 或對應結束 token 是 reasoning trace 的 terminator</li>
</ol>
<h2 id="本地可跑的-reasoning-model">本地可跑的 reasoning model</h2>
<p>2026/5 時、本地寫 code 工作流可考慮的 reasoning model：</p>
<table>
  <thead>
      <tr>
          <th>模型</th>
          <th>大小</th>
          <th>Q4 量化後記憶體</th>
          <th>適合硬體</th>
          <th>reasoning trace 平均 token</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>DeepSeek-R1-Distill-Qwen-7B</td>
          <td>7B</td>
          <td>~4 GB</td>
          <td>16GB+ Mac / 16GB+ VRAM</td>
          <td>500-2000</td>
      </tr>
      <tr>
          <td>DeepSeek-R1-Distill-Qwen-14B</td>
          <td>14B</td>
          <td>~8 GB</td>
          <td>24GB+ Mac / 16GB+ VRAM</td>
          <td>1000-3000</td>
      </tr>
      <tr>
          <td>DeepSeek-R1-Distill-Qwen-32B</td>
          <td>32B</td>
          <td>~18 GB</td>
          <td>32GB+ Mac / 24GB+ VRAM</td>
          <td>1500-5000</td>
      </tr>
      <tr>
          <td>QwQ-32B</td>
          <td>32B</td>
          <td>~18 GB</td>
          <td>32GB+ Mac / 24GB+ VRAM</td>
          <td>2000-8000</td>
      </tr>
      <tr>
          <td>DeepSeek-R1（full）</td>
          <td>671B（MoE）</td>
          <td>~140 GB</td>
          <td>不實際本地跑</td>
          <td>5000-30000</td>
      </tr>
  </tbody>
</table>
<blockquote>
<p><strong>事實查核註</strong>：模型大小、量化體積、reasoning trace 長度是 2026/5 主流版本的常見數量級；具體數字隨量化等級、context 配置、任務類型而變、引用前以對應 model card 跟自己 <code>llama-bench</code> 跑為準。</p></blockquote>
<p>選型判讀（個人 dev 場景）：</p>
<ol>
<li><strong>24GB Mac（M4 Pro）</strong>：可跑 14B distill、或 32B distill Q4 緊張、context 開小</li>
<li><strong>32GB Mac（M4 Pro 升級）</strong>：跑 32B distill 舒服、context 32K+ 可開</li>
<li><strong>48GB+ Mac（M4 Max）</strong>：跑 32B distill 寬鬆、可考慮 QwQ-32B 配 64K context</li>
<li><strong>16GB+ VRAM PC</strong>：跑 14B distill；32B distill 屬 dense 架構（不是 MoE）、要用 dense CPU offload（部分層放 RAM、靠 PCIe 走、tok/s 受 PCIe 頻寬限制）、跟 <a href="/blog/llm/knowledge-cards/moe-cpu-offload/" data-link-title="MoE CPU 卸載" data-link-desc="把 Mixture-of-Experts 模型不活躍的專家層權重放在系統 RAM、用到再走 PCIe 拉回 GPU、讓有限 VRAM 跑得了更大模型">MoE CPU offload</a> 是不同的戰術</li>
<li><strong>24GB+ VRAM PC（5090）</strong>：跑 32B distill 寬鬆</li>
</ol>
<h2 id="適合-reasoning-model-的任務">適合 reasoning model 的任務</h2>
<p>Reasoning model 的優勢任務有明確 pattern：</p>
<table>
  <thead>
      <tr>
          <th>任務類型</th>
          <th>為什麼適合</th>
          <th>案例</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>複雜 algorithm design</td>
          <td>需要多步推理 + 探索多個解法</td>
          <td>Leetcode hard、設計 sliding window 解法</td>
      </tr>
      <tr>
          <td>棘手 debug</td>
          <td>需要排除多種可能、追蹤跨檔案邏輯</td>
          <td>「為什麼這個 race condition 偶爾出現」</td>
      </tr>
      <tr>
          <td>Math / 量化分析</td>
          <td>機械可驗證、模型訓練分佈內</td>
          <td>估算系統 capacity、複雜利率計算</td>
      </tr>
      <tr>
          <td>Multi-step refactor 規劃</td>
          <td>需要看到整體影響、分階段</td>
          <td>「把這個 service 拆成 3 個 microservice 的步驟」</td>
      </tr>
      <tr>
          <td>系統設計取捨</td>
          <td>多 dimension 比較、需要展開論證</td>
          <td>「DB 該選 Postgres 還是 Cassandra」</td>
      </tr>
      <tr>
          <td>解 obscure error</td>
          <td>需要 reason about 多個可能根因</td>
          <td>「kernel panic 訊息 X 可能來源」</td>
      </tr>
  </tbody>
</table>
<p>不適合用 reasoning model 的任務（用 instruct model 即可）：</p>
<table>
  <thead>
      <tr>
          <th>任務類型</th>
          <th>為什麼不適合</th>
          <th>改用</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Autocomplete</td>
          <td>reasoning trace 拉長 TTFT、體感變慢</td>
          <td>Instruct 小模型（如 Qwen3-Coder-7B）</td>
      </tr>
      <tr>
          <td>簡單 docstring / comment</td>
          <td>過度推理、浪費 token</td>
          <td>Instruct model</td>
      </tr>
      <tr>
          <td>純翻譯 / 風格改寫</td>
          <td>不需要 reasoning</td>
          <td>Instruct model</td>
      </tr>
      <tr>
          <td>高頻短查詢</td>
          <td>每次 reasoning overhead 累積</td>
          <td>Instruct model + KV cache</td>
      </tr>
      <tr>
          <td>已知答案的查表</td>
          <td>reasoning 反而引入錯誤</td>
          <td>Instruct model</td>
      </tr>
      <tr>
          <td>探索性 brainstorming</td>
          <td>不需要「正確答案」、reasoning 反而限制創意</td>
          <td>Instruct model + 高 temperature</td>
      </tr>
  </tbody>
</table>
<p>判讀反射：先問「這任務有沒有客觀正確答案 + 是否需要多步推理」、兩者都 yes 才用 reasoning model。</p>
<h2 id="reasoning-model--tool-use">Reasoning model + tool use</h2>
<p>Reasoning model 跟 <a href="/blog/llm/knowledge-cards/tool-use/" data-link-title="Tool Use" data-link-desc="LLM 透過結構化呼叫外部工具（讀檔、查資料庫、發 API request）來擴展能力的設計、function calling 跟 MCP 是常見實作">tool use</a> 結合是 2026 新趨勢、典型形態：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">模型在 reasoning trace 中發現「需要驗證一個事實」
</span></span><span class="line"><span class="ln">2</span><span class="cl">  ↓
</span></span><span class="line"><span class="ln">3</span><span class="cl">呼叫 tool（calculator / web search / code interpreter）
</span></span><span class="line"><span class="ln">4</span><span class="cl">  ↓
</span></span><span class="line"><span class="ln">5</span><span class="cl">拿到結果、繼續 reasoning
</span></span><span class="line"><span class="ln">6</span><span class="cl">  ↓
</span></span><span class="line"><span class="ln">7</span><span class="cl">最終答案</span></span></code></pre></div><p>代表場景：</p>
<ol>
<li><strong>Coding agent + reasoning</strong>：reasoning 階段規劃 refactor 步驟、tool use 階段執行 file edit、reasoning 階段檢查結果</li>
<li><strong>Math / data analysis</strong>：reasoning 階段拆問題、code interpreter 跑 calculation、reasoning 階段解讀</li>
<li><strong>Web 研究</strong>：reasoning 階段列出該查的事實、web search、reasoning 階段彙整</li>
</ol>
<p>挑戰：</p>
<ol>
<li><strong>Reasoning trace + tool result 都進 context</strong>：context 用量爆炸快、需要 long context 模型（見 <a href="/blog/llm/04-applications/long-context-engineering/" data-link-title="4.11 Long context engineering" data-link-desc="128K / 1M context 模型怎麼用：claimed vs effective context、lost-in-the-middle、context 設計策略、Long context vs RAG 取捨">4.11 Long context engineering</a>）</li>
<li><strong>Tool use 訓練跟 reasoning 訓練是兩件事</strong>：本地 distill 模型 tool use 能力 = 對應 base model 的 tool use 能力、不一定強</li>
<li><strong>Error recovery</strong>：reasoning 階段假設錯了、tool 回 error、模型要會 backtrack（<a href="/blog/llm/knowledge-cards/agent-loop/" data-link-title="Agent Loop" data-link-desc="LLM agent 自我循環的工作流：LLM 規劃下一步、執行 tool、看結果、再規劃下一步、直到任務完成或停止條件觸發">agent loop</a> 失敗模式）</li>
</ol>
<p>實務上、本地 reasoning + agent 是「值得試、但仍處早期」階段；雲端 R1 / o3 / Claude thinking + Claude Code / Cursor 是現階段更穩的組合。</p>
<h2 id="跟-instruct-model-共存的混用策略">跟 instruct model 共存的混用策略</h2>
<p>寫 code 場景的合理混用配置：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">Default model（Continue.dev primary）：instruct model
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  Qwen3-Coder-30B-Instruct / Gemma 4 31B Instruct
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">  日常 autocomplete、解釋、簡單 refactor
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">Reasoning model（Continue.dev secondary、手動切）：local reasoning
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">  DeepSeek-R1-Distill-Qwen-32B / QwQ-32B
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">  困難 bug、algorithm、複雜 refactor 規劃
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">Cloud fallback（手動切）：雲端旗艦
</span></span><span class="line"><span class="ln">10</span><span class="cl">  Claude 3.7 Sonnet thinking / GPT-5 / o3
</span></span><span class="line"><span class="ln">11</span><span class="cl">  本地 reasoning 卡住、或極困難任務</span></span></code></pre></div><p>Continue.dev 的 multi-model config 可同時設多個、UI 下拉切換、不用重啟 server。安全 / 隱私面：reasoning trace 可能含敏感推理過程、跨雲端 / 本地邊界判讀同 <a href="/blog/llm/06-security/cross-cloud-local-data-boundary/" data-link-title="6.4 跨雲端 / 本地的資料邊界" data-link-desc="個人 dev 場景下混用雲端 LLM 跟本地 LLM 時的 prompt 洩漏點：Continue.dev 多 provider 設定、隱私資料流、按敏感度分流的判讀">6.4</a>。</p>
<h2 id="何時過時--何時不過時">何時過時 / 何時不過時</h2>
<p><strong>不會過時的部分</strong>：</p>
<ul>
<li>Test-time compute 作為一個獨立 scaling 維度的概念</li>
<li>Reasoning trace 結構（pre-answer reasoning + answer）</li>
<li>「適合 reasoning vs instruct」的判讀框架</li>
<li>「機械可驗證的 reward + RL」是 reasoning training 的核心</li>
<li>Reasoning model + tool use 的設計取捨</li>
</ul>
<p><strong>會變的部分</strong>：</p>
<ul>
<li>具體 reasoning model（R1 → R2 → &hellip;、o1 → o3 → &hellip;、會持續迭代）</li>
<li>Reasoning trace 的具體格式（<code>&lt;think&gt;</code>、extended thinking field、未來可能標準化）</li>
<li>本地可跑的模型選項（distill 系列會持續更新）</li>
<li>Reasoning 跟 agent 結合的最佳實踐（仍在演化）</li>
<li>是否會出現 reasoning paradigm 的下一個替代（如 neurosymbolic、multi-agent reasoning）</li>
</ul>
<p>新 reasoning model 出來時、回到本章的 framing：訓練流程是否同 R1 pattern、reasoning trace 怎麼產出、本地能否跑、適用任務是否同樣 pattern — 多數新模型仍會 fit 進這個框架。</p>
<h2 id="下一章">下一章</h2>
<p>下一章：<a href="/blog/llm/03-theoretical-foundations/speculative-decoding-internals/" data-link-title="3.9 Speculative decoding 內部：drafter / 驗證 / 加速上限" data-link-desc="speculative decoding 的演算法細節、drafter 跟 target 怎麼配對、acceptance rate 怎麼決定實際加速、MTP 跟 EAGLE 等變體">3.9 Speculative decoding 內部</a>、看另一個推論時加速的技術細節。</p>
]]></content:encoded></item></channel></rss>