<?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>Local-vs-Cloud on Tarragon</title><link>https://tarrragon.github.io/blog/tags/local-vs-cloud/</link><description>Recent content in Local-vs-Cloud on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 11 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/local-vs-cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>1.5 期望管理：本地 LLM 的擅長領域與分工</title><link>https://tarrragon.github.io/blog/llm/01-local-llm-services/expectation-management/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/llm/01-local-llm-services/expectation-management/</guid><description>&lt;p>本地 LLM 用得順不順、九成取決於「期待對齊現實」。把本地當成「免費、永遠在線的初階 pair programmer」、它的表現會超出預期、變成日常雜事的得力幫手；把它當成 Claude Sonnet / GPT-5 替代品、跨檔案重構失敗、規劃 multi-step 任務（把模糊目標拆成多個可執行步驟依序執行）崩潰、深度 debug 給平庸答案的場景就會接連出現、第一週體感很差。本地 vs 雲端的能力分工背景見 &lt;a href="https://tarrragon.github.io/blog/llm/00-foundations/local-vs-cloud/" data-link-title="0.0 本地 vs 雲端 LLM" data-link-desc="從隱私、成本、速度、能力四個維度建立本地與雲端 LLM 的基本對照">0.0 本地 vs 雲端 LLM&lt;/a>。&lt;/p>
&lt;p>本章把期待校準到現實。讀完後你會清楚知道：哪些任務交本地、哪些交雲端、本地 LLM 一週後該怎麼判斷去留、什麼時候硬體升級才有意義。&lt;/p>
&lt;h2 id="本章目標">本章目標&lt;/h2>
&lt;p>讀完本章後，你應該能：&lt;/p>
&lt;ol>
&lt;li>區分本地擅長領域、雲端擅長領域、模糊地帶三類任務。&lt;/li>
&lt;li>建立「本地 vs 雲端」的切換反射、減少每次糾結。&lt;/li>
&lt;li>用一週實測決定本地 LLM 是否留在工作流。&lt;/li>
&lt;li>識別本地 LLM 對你個人是「日常主力」「偶爾備援」還是「整體無用」。&lt;/li>
&lt;/ol>
&lt;h2 id="本地擅長領域明確強項">本地擅長領域：明確強項&lt;/h2>
&lt;p>本地 LLM 在這些任務上的表現「足夠好、足夠快、值得每天用」：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>任務&lt;/th>
 &lt;th>為什麼適合本地&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>補 type annotation&lt;/td>
 &lt;td>模式單純、context 短、本地速度快&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>寫 docstring&lt;/td>
 &lt;td>模式單純、有現成函式可看&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>寫 unit test 第一版&lt;/td>
 &lt;td>任務有結構、可以邊讀邊修&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>解釋程式碼片段&lt;/td>
 &lt;td>短 context、單檔內推理足夠&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>改名變數 / 函式（refactor rename）&lt;/td>
 &lt;td>任務範圍明確、不需要創造力&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>把 callback 改成 async/await&lt;/td>
 &lt;td>常見 pattern、模型訓練資料多&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>把 for loop 改成 list comprehension&lt;/td>
 &lt;td>同上&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>寫 SQL（簡單 query）&lt;/td>
 &lt;td>有明確語法、可以邊跑邊改&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Git commit message&lt;/td>
 &lt;td>任務簡短、本地隱私邊界足夠&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>寫 README / changelog 草稿&lt;/td>
 &lt;td>草稿後人類會修、品質要求中等&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>解釋錯誤訊息&lt;/td>
 &lt;td>多半是已知 pattern&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>把 JSON / YAML 轉換格式&lt;/td>
 &lt;td>任務機械化&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>本地擅長的共通結構：&lt;strong>模式單純度高 + context 短 + 結果可驗證&lt;/strong>。遇到新任務時用這三條判讀：模式有沒有大量訓練資料覆蓋（補 type / 寫 docstring 屬高、設計新架構屬低）、需要的 context 是不是單檔內（單檔內屬短、跨檔屬長）、回應對不對自己看得出來（測試跑得過 / 註解讀得通 = 可驗證、深度 debug 的結論對錯難以即時驗證 = 不可驗證）。三條都打勾、本地通常勝任；任一缺項、考慮切雲端。&lt;/p>
&lt;p>這份清單覆蓋了一般工程師每天 60 ~ 80% 的 LLM 使用情境。對主要靠雲端 API 訂閱（Claude Code、ChatGPT Plus、API tokens）的使用者、把這些餵給本地能讓雲端費用 / 配額用在真正困難的任務上。&lt;/p>
&lt;h2 id="雲端擅長領域本地較弱改用雲端更划算">雲端擅長領域：本地較弱、改用雲端更划算&lt;/h2>
&lt;p>下列任務在雲端旗艦上的表現明顯領先本地、預設交給雲端可以省下「先試本地、發現品質不夠、再切雲端」的時間成本：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>任務&lt;/th>
 &lt;th>為什麼雲端旗艦較適合&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>跨多個檔案的重構&lt;/td>
 &lt;td>context window 較大 + 推理深度足夠&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>設計新模組的架構&lt;/td>
 &lt;td>需要綜合判斷、雲端旗艦深度領先&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>規劃 multi-step 任務（拆 todo）&lt;/td>
 &lt;td>規劃能力是雲端旗艦的明顯強項&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>深度 debug（非常見錯誤）&lt;/td>
 &lt;td>需要推理能力與大量訓練資料&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>評估技術選型（A vs B）&lt;/td>
 &lt;td>需要廣泛知識與權衡能力&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>寫長篇技術文件&lt;/td>
 &lt;td>篇幅大、邏輯連貫要求高&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>從模糊需求拆出 acceptance criteria&lt;/td>
 &lt;td>需要產品意識、模型訓練資料中較少&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>數學推理（複雜演算法）&lt;/td>
 &lt;td>雲端旗艦的 reasoning effort 模式領先明顯&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>解少見語言（COBOL、Erlang）&lt;/td>
 &lt;td>訓練資料較多、hallucination 較少&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>處理長 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/context-window/" data-link-title="Context Window" data-link-desc="模型一次能處理的最大 token 數量：prompt 加生成的總和上限">context&lt;/a>（10K+ tokens）&lt;/td>
 &lt;td>雲端的 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/prefill/" data-link-title="Prefill" data-link-desc="Prompt 首次處理時的計算階段：把整段輸入跑過模型、產生 KV cache">prefill&lt;/a> 算力遠高於 Apple Silicon&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/agent/" data-link-title="LLM Agent" data-link-desc="把控制流交給 LLM 的應用模式：自主決策、跨多步呼叫工具、人類角色從主導變監督">Agent&lt;/a> 模式（複雜 multi-step tool use）&lt;/td>
 &lt;td>本地 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/function-calling/" data-link-title="Function Calling" data-link-desc="模型訓練階段建立的「呼叫工具」能力：知道何時該呼叫、傳什麼參數">tool use&lt;/a> 支援陽春、雲端 agent 框架成熟、見 &lt;a href="https://tarrragon.github.io/blog/llm/04-applications/agent-architecture/" data-link-title="4.4 Agent 架構原理" data-link-desc="Agent loop 結構、失敗模式、什麼任務適合 vs 不適合、跟人類審查的協作模型">4.4 Agent 架構原理&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>雲端擅長的共通結構：&lt;strong>context window 大 + reasoning depth 深 + 訓練資料密度高&lt;/strong>。雲端旗艦的 context 動輒 200K+ tokens、reasoning effort 模式能跑深推理 chain、訓練資料量級遠超開源模型。新任務若涉及「跨多檔閱讀 + 多步驟規劃 + 領域知識深度」、預設交雲端比較划算。&lt;/p></description><content:encoded><![CDATA[<p>本地 LLM 用得順不順、九成取決於「期待對齊現實」。把本地當成「免費、永遠在線的初階 pair programmer」、它的表現會超出預期、變成日常雜事的得力幫手；把它當成 Claude Sonnet / GPT-5 替代品、跨檔案重構失敗、規劃 multi-step 任務（把模糊目標拆成多個可執行步驟依序執行）崩潰、深度 debug 給平庸答案的場景就會接連出現、第一週體感很差。本地 vs 雲端的能力分工背景見 <a href="/blog/llm/00-foundations/local-vs-cloud/" data-link-title="0.0 本地 vs 雲端 LLM" data-link-desc="從隱私、成本、速度、能力四個維度建立本地與雲端 LLM 的基本對照">0.0 本地 vs 雲端 LLM</a>。</p>
<p>本章把期待校準到現實。讀完後你會清楚知道：哪些任務交本地、哪些交雲端、本地 LLM 一週後該怎麼判斷去留、什麼時候硬體升級才有意義。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本章後，你應該能：</p>
<ol>
<li>區分本地擅長領域、雲端擅長領域、模糊地帶三類任務。</li>
<li>建立「本地 vs 雲端」的切換反射、減少每次糾結。</li>
<li>用一週實測決定本地 LLM 是否留在工作流。</li>
<li>識別本地 LLM 對你個人是「日常主力」「偶爾備援」還是「整體無用」。</li>
</ol>
<h2 id="本地擅長領域明確強項">本地擅長領域：明確強項</h2>
<p>本地 LLM 在這些任務上的表現「足夠好、足夠快、值得每天用」：</p>
<table>
  <thead>
      <tr>
          <th>任務</th>
          <th>為什麼適合本地</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>補 type annotation</td>
          <td>模式單純、context 短、本地速度快</td>
      </tr>
      <tr>
          <td>寫 docstring</td>
          <td>模式單純、有現成函式可看</td>
      </tr>
      <tr>
          <td>寫 unit test 第一版</td>
          <td>任務有結構、可以邊讀邊修</td>
      </tr>
      <tr>
          <td>解釋程式碼片段</td>
          <td>短 context、單檔內推理足夠</td>
      </tr>
      <tr>
          <td>改名變數 / 函式（refactor rename）</td>
          <td>任務範圍明確、不需要創造力</td>
      </tr>
      <tr>
          <td>把 callback 改成 async/await</td>
          <td>常見 pattern、模型訓練資料多</td>
      </tr>
      <tr>
          <td>把 for loop 改成 list comprehension</td>
          <td>同上</td>
      </tr>
      <tr>
          <td>寫 SQL（簡單 query）</td>
          <td>有明確語法、可以邊跑邊改</td>
      </tr>
      <tr>
          <td>Git commit message</td>
          <td>任務簡短、本地隱私邊界足夠</td>
      </tr>
      <tr>
          <td>寫 README / changelog 草稿</td>
          <td>草稿後人類會修、品質要求中等</td>
      </tr>
      <tr>
          <td>解釋錯誤訊息</td>
          <td>多半是已知 pattern</td>
      </tr>
      <tr>
          <td>把 JSON / YAML 轉換格式</td>
          <td>任務機械化</td>
      </tr>
  </tbody>
</table>
<p>本地擅長的共通結構：<strong>模式單純度高 + context 短 + 結果可驗證</strong>。遇到新任務時用這三條判讀：模式有沒有大量訓練資料覆蓋（補 type / 寫 docstring 屬高、設計新架構屬低）、需要的 context 是不是單檔內（單檔內屬短、跨檔屬長）、回應對不對自己看得出來（測試跑得過 / 註解讀得通 = 可驗證、深度 debug 的結論對錯難以即時驗證 = 不可驗證）。三條都打勾、本地通常勝任；任一缺項、考慮切雲端。</p>
<p>這份清單覆蓋了一般工程師每天 60 ~ 80% 的 LLM 使用情境。對主要靠雲端 API 訂閱（Claude Code、ChatGPT Plus、API tokens）的使用者、把這些餵給本地能讓雲端費用 / 配額用在真正困難的任務上。</p>
<h2 id="雲端擅長領域本地較弱改用雲端更划算">雲端擅長領域：本地較弱、改用雲端更划算</h2>
<p>下列任務在雲端旗艦上的表現明顯領先本地、預設交給雲端可以省下「先試本地、發現品質不夠、再切雲端」的時間成本：</p>
<table>
  <thead>
      <tr>
          <th>任務</th>
          <th>為什麼雲端旗艦較適合</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>跨多個檔案的重構</td>
          <td>context window 較大 + 推理深度足夠</td>
      </tr>
      <tr>
          <td>設計新模組的架構</td>
          <td>需要綜合判斷、雲端旗艦深度領先</td>
      </tr>
      <tr>
          <td>規劃 multi-step 任務（拆 todo）</td>
          <td>規劃能力是雲端旗艦的明顯強項</td>
      </tr>
      <tr>
          <td>深度 debug（非常見錯誤）</td>
          <td>需要推理能力與大量訓練資料</td>
      </tr>
      <tr>
          <td>評估技術選型（A vs B）</td>
          <td>需要廣泛知識與權衡能力</td>
      </tr>
      <tr>
          <td>寫長篇技術文件</td>
          <td>篇幅大、邏輯連貫要求高</td>
      </tr>
      <tr>
          <td>從模糊需求拆出 acceptance criteria</td>
          <td>需要產品意識、模型訓練資料中較少</td>
      </tr>
      <tr>
          <td>數學推理（複雜演算法）</td>
          <td>雲端旗艦的 reasoning effort 模式領先明顯</td>
      </tr>
      <tr>
          <td>解少見語言（COBOL、Erlang）</td>
          <td>訓練資料較多、hallucination 較少</td>
      </tr>
      <tr>
          <td>處理長 <a href="/blog/llm/knowledge-cards/context-window/" data-link-title="Context Window" data-link-desc="模型一次能處理的最大 token 數量：prompt 加生成的總和上限">context</a>（10K+ tokens）</td>
          <td>雲端的 <a href="/blog/llm/knowledge-cards/prefill/" data-link-title="Prefill" data-link-desc="Prompt 首次處理時的計算階段：把整段輸入跑過模型、產生 KV cache">prefill</a> 算力遠高於 Apple Silicon</td>
      </tr>
      <tr>
          <td><a href="/blog/llm/knowledge-cards/agent/" data-link-title="LLM Agent" data-link-desc="把控制流交給 LLM 的應用模式：自主決策、跨多步呼叫工具、人類角色從主導變監督">Agent</a> 模式（複雜 multi-step tool use）</td>
          <td>本地 <a href="/blog/llm/knowledge-cards/function-calling/" data-link-title="Function Calling" data-link-desc="模型訓練階段建立的「呼叫工具」能力：知道何時該呼叫、傳什麼參數">tool use</a> 支援陽春、雲端 agent 框架成熟、見 <a href="/blog/llm/04-applications/agent-architecture/" data-link-title="4.4 Agent 架構原理" data-link-desc="Agent loop 結構、失敗模式、什麼任務適合 vs 不適合、跟人類審查的協作模型">4.4 Agent 架構原理</a></td>
      </tr>
  </tbody>
</table>
<p>雲端擅長的共通結構：<strong>context window 大 + reasoning depth 深 + 訓練資料密度高</strong>。雲端旗艦的 context 動輒 200K+ tokens、reasoning effort 模式能跑深推理 chain、訓練資料量級遠超開源模型。新任務若涉及「跨多檔閱讀 + 多步驟規劃 + 領域知識深度」、預設交雲端比較划算。</p>
<p>這份清單覆蓋了「LLM 真正取代人類思考的部分」、雲端旗艦的能力斷崖式領先。</p>
<h2 id="模糊地帶先試本地視結果切換">模糊地帶：先試本地、視結果切換</h2>
<p>下列任務本地能否做好視具體 case 而定。預設策略是「先試本地、看到觸發訊號再切雲端」：</p>
<table>
  <thead>
      <tr>
          <th>任務</th>
          <th>切到雲端的觸發訊號（可量化）</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>解釋一個 bug 的根本原因</td>
          <td>同 prompt 試 2 次本地仍給通用解釋（沒點到具體 root cause）/ 跟錯誤 stack trace 對不上</td>
      </tr>
      <tr>
          <td>改寫一段較複雜的 function</td>
          <td>測試 fail 超過 1 條 / 行為跟 docstring 矛盾 / 出現未匹配的括號或語法錯</td>
      </tr>
      <tr>
          <td>寫一段中等長度（&lt; 50 行）的新 code</td>
          <td>第一版跑不過 / 結構跟你 prompt 描述偏差 &gt; 30% / 用了未 import 的 symbol</td>
      </tr>
      <tr>
          <td>翻譯 code 註解到另一種語言</td>
          <td>翻完讀起來語意失準 / 專有名詞被翻成意譯而非保留 / 結果跟原文長度差超過 50%</td>
      </tr>
      <tr>
          <td>寫單元測試（中等複雜度的函式）</td>
          <td>測試覆蓋 &lt; 60% 分支 / 沒涵蓋邊界條件（空 input、超大 input、null）</td>
      </tr>
      <tr>
          <td>回答一個技術概念性問題</td>
          <td>答案跟你已知矛盾 / 來源不明 / 沒給可驗證的細節（API 名、版本、行為）</td>
      </tr>
  </tbody>
</table>
<p>觸發訊號的設計目標是「不依賴主觀判斷」、用具體跡象避免「總覺得本地不夠好就一律切雲端」的偏誤。建立自己的觸發訊號清單後、切換變成反射動作、不再每次糾結。模糊地帶切到雲端是正常工作流、是「先用便宜的工具、不夠再升級」的合理做法、跟本地「失敗」是兩件事。</p>
<h2 id="切換的具體流程">切換的具體流程</h2>
<p>Continue.dev 的 chat panel 下方（輸入框上方的下拉選單）有 model selector、可以直接切。建議的反射動作：</p>
<ol>
<li><strong>預設用本地</strong>：開啟 Continue panel 時、先選本地 model。</li>
<li><strong>碰到雲端擅長任務直接切</strong>：上面雲端擅長表格的任務、第一次提問就選雲端。</li>
<li><strong>模糊地帶試一次本地</strong>：本地的回答堪用就用、看到觸發訊號就切雲端重提。</li>
<li><strong>記錄本地 hit rate</strong>：用一週、記錄哪些任務本地通過。第二週開始就有自己的判斷依據。</li>
</ol>
<p>把本地當工具、把切換當常態。本地的價值在於「該用時隨手可用」、不是「裝了就要硬用」。</p>
<h2 id="用一週實測去留決策">用一週實測：去留決策</h2>
<p>裝完本地 LLM 後、建議用一週實測決定是否留下來。實測時做四件事：</p>
<ol>
<li><strong>每次用 LLM 都先試本地</strong>、讓本地有機會證明自己。</li>
<li><strong>記錄 hit rate</strong>：簡單試算表、欄位放任務描述、本地通過、雲端通過。</li>
<li><strong>記錄體感速度</strong>：本地的等待感是「順暢」「可接受」「心煩」哪一級。</li>
<li><strong>記錄記憶體與發熱</strong>：Mac 是否變慢、風扇是否狂轉影響其他工作。</li>
</ol>
<p>一週後做決策（hit rate 閾值是經驗值、可依任務分佈微調）：</p>
<table>
  <thead>
      <tr>
          <th>觀察結果</th>
          <th>建議</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Hit rate &gt; 60%、體感速度可接受、Mac 沒崩</td>
          <td><strong>留下</strong>、本地當日常主力</td>
      </tr>
      <tr>
          <td>Hit rate 40 ~ 60%、體感速度可接受</td>
          <td><strong>留下</strong>、混用雲端更積極</td>
      </tr>
      <tr>
          <td>Hit rate &lt; 40%</td>
          <td><strong>改評估</strong>換更大模型、或退到偶爾備援</td>
      </tr>
      <tr>
          <td>體感速度太慢（&lt; 10 <a href="/blog/llm/knowledge-cards/tokens-per-second/" data-link-title="Tokens Per Second" data-link-desc="LLM 每秒能生成幾個 token：生字速度的標準量化指標">tok/s</a>）</td>
          <td>換較小模型或考慮升級硬體</td>
      </tr>
      <tr>
          <td>Mac 持續變慢、風扇狂轉</td>
          <td>記憶體不足、換較小模型或承認 Mac 規格較適合偶爾使用</td>
      </tr>
      <tr>
          <td>雲端 API 費用沒降</td>
          <td>切換習慣還沒養成、回去檢查預設選項</td>
      </tr>
  </tbody>
</table>
<p>這個實測比看 benchmark 重要得多、因為你的工作流跟 benchmark 設定的任務分佈未必一致。</p>
<h2 id="本地-llm-的角色定位">本地 LLM 的角色定位</h2>
<p>把本地 LLM 定位成「免費的初階 pair programmer」、期待會自然對齊現實：</p>
<ol>
<li><strong>初階 pair programmer 是有用的</strong>：能寫測試、能解釋程式碼、能補 type、能改 callback。這些事一個 junior 同事每天做得很好。</li>
<li><strong>初階 pair programmer 有適用範圍</strong>：設計新架構、跨檔案重構、評估技術選型適合交給 senior（雲端旗艦）、跟交給 junior 同事的判斷一致。</li>
<li><strong>初階 pair programmer 隨時在線、不用付薪水</strong>：這是本地 LLM 比 junior 同事還好的地方。</li>
<li><strong>初階 pair programmer 跟 senior 互補</strong>：本地處理量、雲端處理難度、兩者組合讓 senior 把時間花在真正困難的部分。</li>
</ol>
<p>陷阱是把本地當「便宜的 senior」。它的能力等級是 junior；明確這個定位後、你會自然把日常雜事丟給本地、把難題留給雲端。</p>
<h2 id="跟雲端旗艦的協作姿勢">跟雲端旗艦的協作姿勢</h2>
<p>「混用」是有結構的協作姿勢、不是隨機切換。下表是寫 code 場景的典型分工：</p>
<table>
  <thead>
      <tr>
          <th>場景</th>
          <th>流程</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>我有個新 feature 要開發</td>
          <td>雲端旗艦規劃 → 本地寫 boilerplate → 雲端旗艦審 critical 部分</td>
      </tr>
      <tr>
          <td>我要 debug 一個 bug</td>
          <td>本地解釋錯誤訊息 → 自己看 code → 雲端旗艦審 root cause</td>
      </tr>
      <tr>
          <td>我要重構一個 module</td>
          <td>雲端旗艦設計新結構 → 本地實際改 code → 雲端旗艦審差異</td>
      </tr>
      <tr>
          <td>我要寫一份技術文件</td>
          <td>雲端旗艦寫大綱 → 本地寫各節草稿 → 自己潤稿 → 雲端旗艦審稿</td>
      </tr>
      <tr>
          <td>我要寫測試</td>
          <td>本地寫 → 自己跑 → 缺漏處交雲端旗艦補</td>
      </tr>
      <tr>
          <td>我要 commit</td>
          <td>本地寫 commit message、自己審</td>
      </tr>
      <tr>
          <td>我要解釋一段 code 給同事看</td>
          <td>本地寫解釋、自己審</td>
      </tr>
  </tbody>
</table>
<p>這個結構讓「雲端旗艦的高品質」用在最值錢的地方（規劃 + 審稿）、「本地的免費 + 速度」用在批量產出。雲端 API 費用會大幅下降、思考品質仍然維持高水準。</p>
<h2 id="硬體升級的判斷時機">硬體升級的判斷時機</h2>
<p>裝完本地、用一週後、可能會想「升級 Mac 是否值得」。判斷依據（記憶體預算的完整推導見 <a href="/blog/llm/00-foundations/hardware-memory-budget/" data-link-title="0.5 Apple Silicon 記憶體預算" data-link-desc="記憶體決定能跑什麼，Q4 量化下的可運作模型對照與系統保留">0.5 Apple Silicon 記憶體預算</a>）：</p>
<ol>
<li><strong>記憶體預算</strong>：跑 14B 模型體感卡 → 升 24GB；跑 31B 卡 → 升 32GB；跑 70B 卡 → 升 64GB。</li>
<li><strong>生字速度</strong>：用最強量化與較小模型仍 &lt; 10 tok/s 表示要換更輕的模型、不是升級硬體。</li>
<li><strong>Hit rate 太低</strong>：問題在本地模型能力上限、不在硬體、升級沒幫助。</li>
<li><strong>長 context 場景</strong>：升級到 48GB+ 才能順暢處理 16K+ context。</li>
</ol>
<p>陷阱是把「想換新 Mac」混在「正當理由」裡。先用一個月再決定；多數情況下省下的 API 費用攤平不了升級成本。</p>
<h2 id="識別本地對你個人沒用的訊號">識別「本地對你個人沒用」的訊號</h2>
<p>下列訊號表示本地 LLM 在你工作流上幫助有限、可以乾脆卸載：</p>
<ol>
<li>一週後雲端 API 費用沒降、因為切換習慣始終沒養成。</li>
<li>本地回答太慢、實際使用頻率低、Ollama 卻在背景吃記憶體。</li>
<li>Mac 規格本來就吃緊、跑本地讓其他工作變慢。</li>
<li>你的工作主要是規劃、設計、複雜推理、本地擅長領域跟你的主場交集小。</li>
</ol>
<p>卸載屬於合理結論、不算失敗。本地 LLM 適合特定工作流；你的工作流跟它的擅長領域交集小、改用雲端是更划算的選擇。</p>
<p>完整卸載 Ollama 跟 Continue.dev 的指令：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">brew services stop ollama
</span></span><span class="line"><span class="ln">2</span><span class="cl">brew uninstall ollama
</span></span><span class="line"><span class="ln">3</span><span class="cl">rm -rf ~/.ollama
</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"><span class="c1"># 卸載 Continue.dev 擴充套件</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="c1"># 在 VS Code Extensions panel 找到 Continue 點 Uninstall</span>
</span></span><span class="line"><span class="ln">7</span><span class="cl">rm -rf ~/.continue</span></span></code></pre></div><p>卸載後可以雲端 API 全用 Claude Code、Cursor 或其他雲端 IDE plugin、體驗一樣完整。</p>
<h2 id="何時不適用本章建議">何時不適用本章建議</h2>
<p>本章假設你的工作流可以「混用本地 + 雲端」。以下情境的混用前提不成立、本章建議要調整：</p>
<table>
  <thead>
      <tr>
          <th>情境</th>
          <th>該怎麼處理</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>工作流 100% 離線環境</td>
          <td>雲端不是選項、放棄「切雲端」反射、改成「本地能做的盡量做、做不到的等回到線上」</td>
      </tr>
      <tr>
          <td>NDA 嚴格禁止任何 AI 工具</td>
          <td>連本地 LLM 都要評估是否在 NDA 範圍、見 <a href="/blog/llm/00-foundations/privacy-data-flow/" data-link-title="0.7 隱私 / 資安的資料流原理" data-link-desc="從「位置」到「資料流」的思考升級：信任邊界、合約模型、零信任原則套用到 LLM 工作流">0.7 隱私資料流</a> 的判讀流程</td>
      </tr>
      <tr>
          <td>公司只允許特定雲端服務</td>
          <td>切換選擇受限、模糊地帶直接走允許的雲端、不用試本地</td>
      </tr>
      <tr>
          <td>純研究 / 學術工作流</td>
          <td>本章寫 code 場景的判讀不直接套用、研究場景需要的是模型行為觀察、不是 hit rate</td>
      </tr>
  </tbody>
</table>
<h2 id="下一章">下一章</h2>
<p>下一章：<a href="/blog/llm/01-local-llm-services/extension-paths/" data-link-title="1.6 延伸方向：Web UI、coding agent、產圖" data-link-desc="日常路徑跑穩後可以玩的延伸：Open WebUI、aider、ComfyUI；先把基底跑穩再進階">1.6 延伸方向</a>、講日常路徑跑穩後可以玩的延伸（Open WebUI、aider、產圖）。</p>
]]></content:encoded></item></channel></rss>