<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Token on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/tags/token/</link>
        <description>Recent content in Token on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Sun, 31 May 2026 14:17:42 +0800</lastBuildDate><atom:link href="https://knightli.com/zh-tw/tags/token/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>subagent 會多花多少 token？多 agent 成本與使用策略</title>
        <link>https://knightli.com/zh-tw/2026/05/31/subagent-multi-agent-token-cost/</link>
        <pubDate>Sun, 31 May 2026 14:17:42 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/31/subagent-multi-agent-token-cost/</guid>
        <description>&lt;p&gt;使用 subagent 或多 agent 工作流，通常都會增加 token 用量。差別不在於「會不會增加」，而在於增加多少、換來的並行效率和穩定性是否值得。&lt;/p&gt;
&lt;p&gt;如果任務很小，直接讓主 agent 完成通常更省。只有當任務可以清楚拆分，或需要獨立複查時，subagent 才更容易體現價值。&lt;/p&gt;
&lt;h2 id=&#34;subagent-不是更便宜的並行執行緒&#34;&gt;subagent 不是更便宜的並行執行緒
&lt;/h2&gt;&lt;p&gt;很多人第一次看到 subagent，會下意識把它理解成「並行執行緒」：主 agent 做一部分，subagent 做另一部分，速度變快，所以應該更划算。&lt;/p&gt;
&lt;p&gt;實際不是這樣。subagent 本質上也是一個獨立的模型呼叫。它需要讀任務說明、理解上下文、讀取檔案、分析問題，再輸出結果。也就是說，它不是主 agent 的免費副本，而是額外啟動了一條推理鏈路。&lt;/p&gt;
&lt;p&gt;所以使用 subagent 的核心判斷不是「能不能並行」，而是「並行帶來的時間節省、品質提升，是否值得額外 token 成本」。&lt;/p&gt;
&lt;h2 id=&#34;為什麼會增加-token&#34;&gt;為什麼會增加 token
&lt;/h2&gt;&lt;p&gt;一次 subagent 呼叫通常會額外消耗這些 token：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主 agent 寫給 subagent 的任務說明；&lt;/li&gt;
&lt;li&gt;傳遞給 subagent 的上下文；&lt;/li&gt;
&lt;li&gt;subagent 自己讀取檔案和分析問題；&lt;/li&gt;
&lt;li&gt;subagent 產生結果或修改說明；&lt;/li&gt;
&lt;li&gt;主 agent 回收結果後的複查、整合和驗證。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果多個 agent 讀取同一批大檔案，重複消耗會更明顯。尤其是程式碼庫分析、長文件翻譯、批量內容整理這類任務，如果拆分不好，token 會花在重複理解上下文上。&lt;/p&gt;
&lt;h2 id=&#34;重複讀取上下文是最大的-token-浪費&#34;&gt;重複讀取上下文是最大的 token 浪費
&lt;/h2&gt;&lt;p&gt;subagent 真正浪費 token 的地方，往往不是「多開了一個 agent」，而是多個 agent 反覆讀同一批材料。&lt;/p&gt;
&lt;p&gt;例如一個任務要處理 6 篇文章，如果 4 個 agent 都先讀完整站點結構、完整技能文件、完整文章列表，再各自處理一小塊內容，那麼並行會很貴。更好的做法是先由主 agent 確定邊界，再讓每個 subagent 只讀自己負責的文章目錄。&lt;/p&gt;
&lt;p&gt;更省 token 的拆法通常是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每個 agent 只負責一個明確目錄；&lt;/li&gt;
&lt;li&gt;給 subagent 的上下文越短越好；&lt;/li&gt;
&lt;li&gt;不讓多個 agent 重複做同一類探索；&lt;/li&gt;
&lt;li&gt;主 agent 最後統一複查，而不是讓每個 agent 都做全量複查；&lt;/li&gt;
&lt;li&gt;能用腳本統一檢查的部分，不交給多個 agent 反覆檢查。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;換句話說，subagent 的成本控制重點是邊界，而不是數量。&lt;/p&gt;
&lt;h2 id=&#34;大概會增加多少&#34;&gt;大概會增加多少
&lt;/h2&gt;&lt;p&gt;下面是一個粗略估算，實際消耗取決於上下文長度、檔案大小、任務複雜度和 agent 數量。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;場景&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;token 增加&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;單個 subagent 處理一個小任務&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;約 &lt;code&gt;1.2x - 2x&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2-4 個 agent 並行處理可拆分任務&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;約 &lt;code&gt;2x - 5x&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;多個 agent 各自讀取大量檔案、做長分析&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;可能 &lt;code&gt;5x+&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;主 agent 和 subagent 重複讀同一批大檔案&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;浪費最明顯&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;這不是精確計費公式，只是經驗範圍。真正的消耗還要看每個 agent 是否需要讀完整檔案、是否需要長推理、是否會反覆等待和補充上下文。&lt;/p&gt;
&lt;h2 id=&#34;如何給-subagent-寫更省-token-的任務說明&#34;&gt;如何給 subagent 寫更省 token 的任務說明
&lt;/h2&gt;&lt;p&gt;任務說明越寬泛，subagent 越容易自己去探索上下文，token 消耗也越高。更省的寫法是把邊界寫清楚。&lt;/p&gt;
&lt;p&gt;一個好的 subagent 任務說明應該包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;只允許處理哪些檔案或目錄；&lt;/li&gt;
&lt;li&gt;哪些檔案只能讀，哪些檔案可以寫；&lt;/li&gt;
&lt;li&gt;已有檔案是否允許覆蓋；&lt;/li&gt;
&lt;li&gt;需要保留哪些欄位，比如 &lt;code&gt;date&lt;/code&gt;、&lt;code&gt;slug&lt;/code&gt;、&lt;code&gt;aliases&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;輸出時只回報什麼結果；&lt;/li&gt;
&lt;li&gt;不需要做哪些事情，比如不要跑完整建置、不要改無關檔案。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例如，處理翻譯時，不要只寫「把文章翻譯成多語言」。更省 token 的寫法是：「只處理 &lt;code&gt;content/post/2026/05/240&lt;/code&gt;，讀取 &lt;code&gt;index.zh-cn.md&lt;/code&gt;，只建立缺失的 &lt;code&gt;index.en.md&lt;/code&gt;、&lt;code&gt;index.zh-tw.md&lt;/code&gt;、&lt;code&gt;index.ja.md&lt;/code&gt;、&lt;code&gt;index.es.md&lt;/code&gt;，已存在則跳過，保留 &lt;code&gt;date&lt;/code&gt; 和 &lt;code&gt;slug&lt;/code&gt;。」&lt;/p&gt;
&lt;p&gt;這種說明更長一點，但能減少 subagent 自行猜測和重複探索，整體通常更省。&lt;/p&gt;
&lt;h2 id=&#34;按檔案目錄拆分比按語言步驟拆分更省&#34;&gt;按檔案/目錄拆分，比按語言/步驟拆分更省
&lt;/h2&gt;&lt;p&gt;如果是批量文章翻譯，按「文章目錄」拆通常比按「語言」拆更好。&lt;/p&gt;
&lt;p&gt;例如要翻譯 6 篇文章，每篇都要產生英文、繁體、日文、西語。更推薦讓一個 agent 負責一篇文章目錄內的所有語言，而不是讓一個 agent 負責所有英文、另一個負責所有日文。&lt;/p&gt;
&lt;p&gt;原因很簡單：一篇文章的 front matter、程式碼區塊、連結、表格和語義上下文只需要讀一次。如果按語言拆，多個 agent 會重複讀取同一篇源文，token 會被放大。&lt;/p&gt;
&lt;p&gt;同樣的邏輯也適用於程式碼任務。優先按模組、目錄、元件拆分，而不是按「先分析、再實作、再測試」這種步驟拆分。步驟拆分很容易讓每個 agent 都重新讀一遍上下文。&lt;/p&gt;
&lt;h2 id=&#34;什麼情況下值得用&#34;&gt;什麼情況下值得用
&lt;/h2&gt;&lt;p&gt;subagent 的價值主要在兩點：並行和獨立視角。&lt;/p&gt;
&lt;p&gt;適合使用的場景包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多篇文章批量翻譯；&lt;/li&gt;
&lt;li&gt;多個目錄可以獨立修改；&lt;/li&gt;
&lt;li&gt;前端、後端、測試可以明確分工；&lt;/li&gt;
&lt;li&gt;一個 agent 寫實作，另一個 agent 做風險複查；&lt;/li&gt;
&lt;li&gt;高風險修改需要第二視角檢查。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這類任務裡，token 會增加，但總耗時可能明顯下降，而且每個 agent 只盯一塊內容，注意力更集中。&lt;/p&gt;
&lt;h2 id=&#34;什麼時候值得用一個-agent-做複查&#34;&gt;什麼時候值得用一個 agent 做複查
&lt;/h2&gt;&lt;p&gt;複查型 agent 不一定總值得用。它適合風險高、影響面大、主 agent 容易遺漏細節的任務。&lt;/p&gt;
&lt;p&gt;比較值得加複查 agent 的情況包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;修改涉及登入、支付、權限、資料刪除；&lt;/li&gt;
&lt;li&gt;多語言內容會影響分類、URL、站內連結；&lt;/li&gt;
&lt;li&gt;大範圍重構後需要獨立找回歸風險；&lt;/li&gt;
&lt;li&gt;使用者明確要求 code review 或風險審查；&lt;/li&gt;
&lt;li&gt;主 agent 已經做了實作，但需要第二視角看邊界條件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不值得加複查 agent 的情況也很明確：單檔小改、標題微調、簡單 front matter 修正、只跑一個命令。這些任務主 agent 自查就夠了。&lt;/p&gt;
&lt;h2 id=&#34;什麼情況下不值得用&#34;&gt;什麼情況下不值得用
&lt;/h2&gt;&lt;p&gt;不適合使用 subagent 的場景很常見：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;單檔小改；&lt;/li&gt;
&lt;li&gt;簡單問答；&lt;/li&gt;
&lt;li&gt;只需要跑一個命令；&lt;/li&gt;
&lt;li&gt;改動範圍很小；&lt;/li&gt;
&lt;li&gt;任務不能清楚拆分；&lt;/li&gt;
&lt;li&gt;subagent 必須反覆等待主 agent 提供上下文。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這類任務用 subagent 往往只是增加開銷。主 agent 直接處理更快，也更省 token。&lt;/p&gt;
&lt;h2 id=&#34;我的預設策略省-token-優先風險任務才加複查&#34;&gt;我的預設策略：省 token 優先，風險任務才加複查
&lt;/h2&gt;&lt;p&gt;如果目標是盡量節省 token，可以採用下面這套策略：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小任務：不用 subagent。&lt;/li&gt;
&lt;li&gt;中等任務：不用 subagent。&lt;/li&gt;
&lt;li&gt;大批量任務：預設也不用 subagent，除非使用者明確要並行提速。&lt;/li&gt;
&lt;li&gt;高風險任務：可以多用一個 agent 做複查，用 token 換穩定性。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這套策略更偏保守。它犧牲了一部分並行速度，但能減少重複讀取上下文和重複推理帶來的 token 消耗。&lt;/p&gt;
&lt;p&gt;如果任務很大但不高風險，我也會優先考慮腳本、批量檢查和本地結構化處理。只有當拆分非常清楚，或者使用者明確希望並行提速時，才更適合引入多個 agent。&lt;/p&gt;
&lt;h2 id=&#34;更均衡的策略&#34;&gt;更均衡的策略
&lt;/h2&gt;&lt;p&gt;如果既想控制成本，又不想完全放棄並行，可以採用折衷方案：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;預設主 agent 直接做；&lt;/li&gt;
&lt;li&gt;只有任務能按檔案或目錄明確拆分時才考慮 subagent；&lt;/li&gt;
&lt;li&gt;subagent 只讀取自己負責的檔案；&lt;/li&gt;
&lt;li&gt;不讓多個 agent 同時讀同一批大檔案；&lt;/li&gt;
&lt;li&gt;主 agent 最後統一複查關鍵欄位、測試結果和 Git diff；&lt;/li&gt;
&lt;li&gt;高風險任務才增加一個獨立複查 agent。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這能避免「為了並行而並行」。subagent 應該服務於明確的效率或品質目標，而不是成為預設動作。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;subagent 和多 agent 一定會增加 token 用量。單個 subagent 可能只是增加一點，多個 agent 並行時則可能成倍增加。&lt;/p&gt;
&lt;p&gt;是否值得用，取決於任務本身：如果任務能清楚拆分，或者風險高到需要獨立複查，額外 token 可能是值得的；如果只是單檔小改、簡單問答或常規檢查，直接由主 agent 完成更省。&lt;/p&gt;
&lt;p&gt;一句話總結：&lt;strong&gt;小任務省 token，大任務看拆分，高風險才用額外 agent 換穩定性。&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>大模型 API 為什麼按 Token 收費：一文講清輸入、輸出和上下文成本</title>
        <link>https://knightli.com/zh-tw/2026/04/25/llm-token-pricing-principles/</link>
        <pubDate>Sat, 25 Apr 2026 08:44:32 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/04/25/llm-token-pricing-principles/</guid>
        <description>&lt;p&gt;在大模型 API 的計費方式裡，最容易讓人困惑的一點，就是為什麼幾乎所有平台最後都會落到 &lt;code&gt;token&lt;/code&gt; 這個單位上：&lt;strong&gt;大模型為什麼按 token 收費，而且不同 token 還會有不同價格。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;很多人剛接觸模型 API 時，最困惑的不是模型能力，而是帳單。明明只問了幾個問題，為什麼費用會漲得這麼快？為什麼輸入便宜、輸出更貴？為什麼上下文一長，成本就開始明顯失控？&lt;/p&gt;
&lt;p&gt;如果把這件事講簡單一點，可以先記住一句話：&lt;strong&gt;模型收費，買的不是「一次回答」，而是整段推理過程中消耗的計算與帶寬資源。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;1-什麼是-token&#34;&gt;1. 什麼是 token
&lt;/h2&gt;&lt;p&gt;在大模型計費裡，&lt;code&gt;token&lt;/code&gt; 不是「字數」也不是「單詞數」，而是模型處理文字時使用的切分單位。&lt;/p&gt;
&lt;p&gt;它可能是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一個漢字&lt;/li&gt;
&lt;li&gt;一個英文單詞的一部分&lt;/li&gt;
&lt;li&gt;一個標點符號&lt;/li&gt;
&lt;li&gt;一小段常見詞組&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以 API 平台通常不會按「每句話」或「每次請求」收費，而是按模型實際讀入和生成的 token 數量收費。&lt;br&gt;
這比按請求次數計費更合理，因為同樣是一次請求，可能只輸入 20 個字，也可能塞進 20 萬 token 的上下文，兩者消耗完全不是一個量級。&lt;/p&gt;
&lt;h2 id=&#34;2-為什麼輸入和輸出要分開定價&#34;&gt;2. 為什麼輸入和輸出要分開定價
&lt;/h2&gt;&lt;p&gt;現在大多數模型 API，都會把價格拆成兩部分：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;輸入 token 價格&lt;/li&gt;
&lt;li&gt;輸出 token 價格&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;而且常見情況是：&lt;strong&gt;輸出 token 比輸入 token 更貴。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;原因並不難理解。&lt;/p&gt;
&lt;p&gt;模型處理輸入時，本質上是在「讀」和「編碼」已有內容；但生成輸出時，它需要一步一步預測下一個 token，再繼續預測下一個 token。這個過程不只是讀取，而是持續進行推理和採樣，所以通常更耗算力。&lt;/p&gt;
&lt;p&gt;你可以把它粗略理解成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;輸入：像把材料遞給模型&lt;/li&gt;
&lt;li&gt;輸出：像讓模型現場寫答案&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「現場寫」的計算成本，通常比「把材料讀一遍」更高，所以輸出價格更貴是很常見的設計。&lt;/p&gt;
&lt;h2 id=&#34;3-為什麼上下文越長費用越容易失控&#34;&gt;3. 為什麼上下文越長，費用越容易失控
&lt;/h2&gt;&lt;p&gt;很多人以為自己只是在「多貼一點背景資料」，但從模型帳單的角度看，這件事的影響往往比想像中大。&lt;/p&gt;
&lt;p&gt;原因在於：&lt;strong&gt;模型每次調用時，通常都要重新處理目前請求裡帶進去的整段上下文。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;也就是說，如果你目前請求裡包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;系統提示詞&lt;/li&gt;
&lt;li&gt;歷史對話&lt;/li&gt;
&lt;li&gt;工具返回結果&lt;/li&gt;
&lt;li&gt;長文件片段&lt;/li&gt;
&lt;li&gt;程式碼檔案內容&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這些內容都會一起進入輸入 token 計費。&lt;/p&gt;
&lt;p&gt;所以真正讓帳單變大的，往往不是最後那一句提問，而是它前面拖著的一大串上下文。&lt;br&gt;
當對話輪數增加、工具調用變多、歷史訊息不斷回灌時，token 成本就會一輪一輪被放大。&lt;/p&gt;
&lt;h2 id=&#34;4-工具調用為什麼特別容易漲-token&#34;&gt;4. 工具調用為什麼特別容易漲 token
&lt;/h2&gt;&lt;p&gt;在 Agent、程式碼助手、工作流自動化這類場景裡，token 消耗通常比普通聊天高得多。&lt;/p&gt;
&lt;p&gt;問題不只是「模型回答了一段話」，而是整個流程裡會不斷出現這些內容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;讀檔案&lt;/li&gt;
&lt;li&gt;看日誌&lt;/li&gt;
&lt;li&gt;調 API&lt;/li&gt;
&lt;li&gt;返回 JSON&lt;/li&gt;
&lt;li&gt;把工具結果再回填給模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每一次工具調用的結果，只要被重新塞回下一輪上下文，就會繼續變成新的輸入 token。&lt;/p&gt;
&lt;p&gt;這就是為什麼很多開發者最後會發現：&lt;br&gt;
&lt;strong&gt;不是模型本身單價特別離譜，而是工作流把 token 帳單一層層疊上去了。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;例如一個編碼 Agent 連續做下面這些事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;讀取專案結構&lt;/li&gt;
&lt;li&gt;打開幾個原始碼檔案&lt;/li&gt;
&lt;li&gt;跑一次測試&lt;/li&gt;
&lt;li&gt;把報錯日誌餵回模型&lt;/li&gt;
&lt;li&gt;再讀更多相關檔案&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;每一步都可能讓後續請求背著更長的上下文繼續跑。這樣即使單價不變，總帳單也會很快增長。&lt;/p&gt;
&lt;h2 id=&#34;5-為什麼同樣是模型價格會差很多&#34;&gt;5. 為什麼同樣是模型，價格會差很多
&lt;/h2&gt;&lt;p&gt;不同模型的 token 價格差異，背後通常不只是「廠商想賣貴一點」，而是和幾個因素直接相關：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型規模&lt;/li&gt;
&lt;li&gt;推理效率&lt;/li&gt;
&lt;li&gt;上下文長度&lt;/li&gt;
&lt;li&gt;部署成本&lt;/li&gt;
&lt;li&gt;目標市場&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;模型越大、活躍參數越多、推理鏈路越複雜，單次生成一個 token 的成本通常就越高。&lt;br&gt;
如果模型還支援超長上下文、複雜推理、工具調用優化，那它的基礎設施壓力也會進一步增加。&lt;/p&gt;
&lt;p&gt;所以定價本質上是在覆蓋幾類成本：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GPU / 加速卡資源&lt;/li&gt;
&lt;li&gt;顯存占用&lt;/li&gt;
&lt;li&gt;推理延遲&lt;/li&gt;
&lt;li&gt;網路與服務穩定性&lt;/li&gt;
&lt;li&gt;峰值並發能力&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;便宜模型不一定差，貴模型也不一定適合所有場景。很多時候價格差，反映的是「這類能力大概值多少基礎設施成本」。&lt;/p&gt;
&lt;h2 id=&#34;6-為什麼快取輸入會更便宜&#34;&gt;6. 為什麼快取輸入會更便宜
&lt;/h2&gt;&lt;p&gt;不少模型平台現在會提供：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cached input&lt;/li&gt;
&lt;li&gt;prompt caching&lt;/li&gt;
&lt;li&gt;prefix caching&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這類能力的共同思路是：如果一大段輸入已經算過，就不要每次都從頭按原價重算。&lt;/p&gt;
&lt;p&gt;比如一段固定 system prompt、固定工具說明、固定長文件前綴，如果每輪都完全重複發送，平台就有機會把其中一部分計算快取下來。這樣同樣是輸入 token，命中快取的部分就可以按更低價格計費。&lt;/p&gt;
&lt;p&gt;這也解釋了為什麼很多 API 價格頁會出現三檔甚至更多價格：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;普通輸入&lt;/li&gt;
&lt;li&gt;快取輸入&lt;/li&gt;
&lt;li&gt;輸出&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它們反映的不是文字內容不同，而是底層計算是否可以重用。&lt;/p&gt;
&lt;h2 id=&#34;7-便宜-token為什麼不等於總成本更低&#34;&gt;7. 「便宜 token」為什麼不等於「總成本更低」
&lt;/h2&gt;&lt;p&gt;很多人看到某個模型「每百萬 token 超便宜」，第一反應是總成本一定更低。實際上不一定。&lt;/p&gt;
&lt;p&gt;因為總帳單大致等於：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;token 單價 × 實際消耗量&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;而實際消耗量又會被很多因素放大：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;提示詞寫得太長&lt;/li&gt;
&lt;li&gt;歷史訊息不清理&lt;/li&gt;
&lt;li&gt;工具結果回填過多&lt;/li&gt;
&lt;li&gt;輸出太囉唆&lt;/li&gt;
&lt;li&gt;一個任務反覆重試&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以真正決定帳單的，通常不是單價一個變數，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型單價&lt;/li&gt;
&lt;li&gt;每輪輸入長度&lt;/li&gt;
&lt;li&gt;每輪輸出長度&lt;/li&gt;
&lt;li&gt;調用次數&lt;/li&gt;
&lt;li&gt;工作流設計&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這也是為什麼「低單價模型」在某些 Agent 任務裡，最後總費用仍然可能不低。因為它可能需要更多輪互動、更多補充上下文、更多失敗重試。&lt;/p&gt;
&lt;h2 id=&#34;8-開發者該怎麼估算-token-成本&#34;&gt;8. 開發者該怎麼估算 token 成本
&lt;/h2&gt;&lt;p&gt;如果你想在專案裡更穩地控制預算，可以先用一個很樸素的估算方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;統計平均每次請求的輸入 token&lt;/li&gt;
&lt;li&gt;統計平均每次請求的輸出 token&lt;/li&gt;
&lt;li&gt;估算一個任務會調用多少輪&lt;/li&gt;
&lt;li&gt;再乘上對應模型單價&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;舉個思路上的例子：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每輪輸入 &lt;code&gt;8k tokens&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;每輪輸出 &lt;code&gt;1k tokens&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;一個任務跑 &lt;code&gt;10&lt;/code&gt; 輪&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那它真正消耗的就不是「一次問答」，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;輸入約 &lt;code&gt;80k tokens&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;輸出約 &lt;code&gt;10k tokens&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果中途還有日誌、工具結果、檔案內容不斷追加，總量還會繼續上升。&lt;/p&gt;
&lt;p&gt;所以做預算時，最好不要只看單輪，而要看&lt;strong&gt;一個完整任務閉環&lt;/strong&gt;到底會吃掉多少 token。&lt;/p&gt;
&lt;h2 id=&#34;9-怎麼實際控制帳單&#34;&gt;9. 怎麼實際控制帳單
&lt;/h2&gt;&lt;p&gt;如果你已經在用 API 或 Agent，下面這些做法通常最有效：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;縮短 system prompt，避免重複廢話&lt;/li&gt;
&lt;li&gt;定期裁剪歷史訊息&lt;/li&gt;
&lt;li&gt;工具返回結果只保留必要欄位&lt;/li&gt;
&lt;li&gt;長文件先檢索，再餵局部片段&lt;/li&gt;
&lt;li&gt;控制輸出長度，避免模型無上限展開&lt;/li&gt;
&lt;li&gt;高價值任務用貴模型，低價值任務用便宜模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;很多時候，省錢最有效的方式不是一味換更便宜的模型，而是先把工作流裡沒有意義的 token 消耗砍掉。&lt;/p&gt;
&lt;h2 id=&#34;10-這件事真正該怎麼理解&#34;&gt;10. 這件事真正該怎麼理解
&lt;/h2&gt;&lt;p&gt;大模型 token 定價，說到底是在替「模型讀了多少、想了多少、寫了多少」計費。&lt;/p&gt;
&lt;p&gt;它不是傳統軟體那種按帳號、按次數、按包月就能完全描述的資源模型，因為模型調用本身就是一個動態計算過程。你塞進去的上下文、拉起的工具、要求的輸出長度，都會直接影響成本。&lt;/p&gt;
&lt;p&gt;所以理解 token 定價，最重要的不是背價格表，而是先建立一個直覺：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;長上下文會漲輸入成本&lt;/li&gt;
&lt;li&gt;長輸出會漲生成成本&lt;/li&gt;
&lt;li&gt;工具鏈會放大總 token&lt;/li&gt;
&lt;li&gt;快取和工作流設計會明顯影響帳單&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;只要把這幾個點想清楚，大多數模型 API 的價格結構其實都不難理解。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>AI 名詞解釋：用白話講清楚 Agent、MCP、RAG 和 Token</title>
        <link>https://knightli.com/zh-tw/2026/04/23/ai-terms-agent-mcp-rag-token-explained/</link>
        <pubDate>Thu, 23 Apr 2026 13:13:40 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/04/23/ai-terms-agent-mcp-rag-token-explained/</guid>
        <description>&lt;p&gt;剛開始接觸 AI，最容易讓人卻步的通常不是模型本身，而是討論裡那些一串一串的名詞。&lt;code&gt;Agent&lt;/code&gt;、&lt;code&gt;MCP&lt;/code&gt;、&lt;code&gt;RAG&lt;/code&gt;、&lt;code&gt;AIGC&lt;/code&gt;、&lt;code&gt;Token&lt;/code&gt; 看起來都很常見，但如果沒有人先用白話講一遍，很多人其實只是「看過」，不是真的懂。&lt;/p&gt;
&lt;p&gt;這篇就順著一組常見入門解釋的思路，把 10 個高頻 AI 名詞壓縮成一套更容易記住的意思。目標不是講得多學術，而是先幫你建立一個能跟上日常 AI 討論的基本框架。&lt;/p&gt;
&lt;h2 id=&#34;10-個常見-ai-名詞分別是什麼意思&#34;&gt;10 個常見 AI 名詞，分別是什麼意思
&lt;/h2&gt;&lt;h3 id=&#34;1-agent不只會聊天的執行型-ai&#34;&gt;1. Agent：不只會聊天的執行型 AI
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Agent&lt;/code&gt; 可以先理解成「會做事的 AI 助手」。&lt;/p&gt;
&lt;p&gt;一般聊天機器人比較像是你問一句、它答一句；&lt;code&gt;Agent&lt;/code&gt; 則更進一步，它會把任務拆開、安排步驟、調用工具，最後把結果交回來。比如你叫它整理資料、查資訊、生成文件，它不只是給建議，而是可能直接把這些動作串起來完成。&lt;/p&gt;
&lt;p&gt;所以 &lt;code&gt;Agent&lt;/code&gt; 的重點，不在「會不會說」，而在「能不能做」。&lt;/p&gt;
&lt;h3 id=&#34;2-openclaw駐留在電腦裡的-ai-助手&#34;&gt;2. OpenClaw：駐留在電腦裡的 AI 助手
&lt;/h3&gt;&lt;p&gt;這裡的 &lt;code&gt;OpenClaw&lt;/code&gt; 被形容成一種住在你電腦裡的 AI 助手。&lt;/p&gt;
&lt;p&gt;你可以把這類工具理解成更貼近桌面操作的 AI 幫手。它不只是接收文字，也可能直接觀察介面、調用本地工具、按流程執行任務。和一般網頁聊天相比，這類工具更強調實際操作能力。&lt;/p&gt;
&lt;p&gt;如果說 &lt;code&gt;Agent&lt;/code&gt; 是抽象層面的執行型 AI，那這種桌面型助手就是它在個人電腦上的一種具體落地形式。&lt;/p&gt;
&lt;h3 id=&#34;3-skills替-agent-裝上的能力包&#34;&gt;3. Skills：替 Agent 裝上的能力包
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Skills&lt;/code&gt; 可以理解成 &lt;code&gt;Agent&lt;/code&gt; 的功能模組或操作說明。&lt;/p&gt;
&lt;p&gt;同一個 &lt;code&gt;Agent&lt;/code&gt;，裝上不同的 &lt;code&gt;Skills&lt;/code&gt;，就會展現出不同的專長。有些偏文案，有些偏資料整理，有些偏程式處理。它們有點像手機裡的 App，也有點像一套套可重複利用的工作流程。&lt;/p&gt;
&lt;p&gt;所以很多時候，不是模型突然變聰明了，而是它背後多了一組更明確的規則、工具和步驟。&lt;/p&gt;
&lt;h3 id=&#34;4-mcpai-連接外部工具的統一方式&#34;&gt;4. MCP：AI 連接外部工具的統一方式
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;MCP&lt;/code&gt; 全稱是 &lt;code&gt;Model Context Protocol&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果用生活化的比喻，它有點像 AI 世界裡的 &lt;code&gt;Type-C&lt;/code&gt; 介面。以前模型要接不同工具，往往得一套一套分開整合；有了統一協議之後，接入方式就會更標準，也更容易重複使用。&lt;/p&gt;
&lt;p&gt;對大多數使用者來說，最值得記住的一點是：&lt;code&gt;MCP&lt;/code&gt; 解決的不是模型會不會回答，而是模型怎麼安全、穩定地接上外部工具和資源。&lt;/p&gt;
&lt;h3 id=&#34;5-抽卡ai-生成結果本來就有隨機性&#34;&gt;5. 抽卡：AI 生成結果本來就有隨機性
&lt;/h3&gt;&lt;p&gt;「抽卡」這個說法常見於 &lt;code&gt;AI&lt;/code&gt; 繪圖、影片生成和內容創作場景。&lt;/p&gt;
&lt;p&gt;意思很簡單。就算是同樣的提示詞、同樣的大方向，每次生成出來的結果也可能不同。有時候效果很好，有時候明顯翻車，所以很多人會把反覆生成這件事形容成像遊戲裡抽卡。&lt;/p&gt;
&lt;p&gt;它真正提醒我們的是：AI 生成不是固定公式，而是一個帶有機率波動的過程。&lt;/p&gt;
&lt;h3 id=&#34;6-api應用和模型之間的連接方式&#34;&gt;6. API：應用和模型之間的連接方式
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;API&lt;/code&gt; 全稱是 &lt;code&gt;Application Programming Interface&lt;/code&gt;，也就是應用程式介面。&lt;/p&gt;
&lt;p&gt;你可以把它理解成程式之間溝通的標準入口。當你在自己的應用、腳本或編輯器裡呼叫模型服務時，本質上就是透過 &lt;code&gt;API&lt;/code&gt; 發送請求，再拿回結果。&lt;/p&gt;
&lt;p&gt;如果把模型服務比作一家餐廳，那麼：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;菜單像 &lt;code&gt;API&lt;/code&gt; 文件&lt;/li&gt;
&lt;li&gt;點餐像發起 &lt;code&gt;API&lt;/code&gt; 請求&lt;/li&gt;
&lt;li&gt;廚房出餐像模型回傳結果&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以很多工具表面看起來不一樣，但底層其實都在呼叫某種 &lt;code&gt;API&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;7-多模態ai-不只會處理文字&#34;&gt;7. 多模態：AI 不只會處理文字
&lt;/h3&gt;&lt;p&gt;「多模態」說的是 AI 不再只會讀寫文字，而是可以同時處理多種形式的資訊。&lt;/p&gt;
&lt;p&gt;例如它可以看圖、聽語音、理解影片、生成圖片，甚至支援即時語音和視訊互動。和早期只能處理文字的模型相比，多模態模型更接近同時具備「看、聽、說、寫」的能力。&lt;/p&gt;
&lt;p&gt;這也是為什麼現在很多 AI 產品，已經不再只圍繞一個文字輸入框來設計。&lt;/p&gt;
&lt;h3 id=&#34;8-rag先找資料再組織答案&#34;&gt;8. RAG：先找資料，再組織答案
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;RAG&lt;/code&gt; 是 &lt;code&gt;Retrieval-Augmented Generation&lt;/code&gt;，通常譯作檢索增強生成。&lt;/p&gt;
&lt;p&gt;它適合用來解決一個很實際的問題：模型的訓練資料有時間邊界，也不會自動知道你公司最新的文件、客服紀錄或業務規則。&lt;code&gt;RAG&lt;/code&gt; 的做法是先從指定資料裡找出相關內容，再根據這些內容生成回答。&lt;/p&gt;
&lt;p&gt;它的價值通常體現在三點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;答案更容易貼近真實資料&lt;/li&gt;
&lt;li&gt;可以追溯答案依據來自哪裡&lt;/li&gt;
&lt;li&gt;新文件加入後，知識也能快速更新&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以很多企業知識庫、AI 客服和內部問答系統，底層都會用到 &lt;code&gt;RAG&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;9-aigcai-生成內容的總稱&#34;&gt;9. AIGC：AI 生成內容的總稱
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;AIGC&lt;/code&gt; 是 &lt;code&gt;AI Generated Content&lt;/code&gt; 的縮寫。&lt;/p&gt;
&lt;p&gt;它不是某一個單獨工具，而是一個總稱，泛指 AI 生成出來的內容，包括文字、圖片、音訊、影片等各種形式。你看到的 AI 寫稿、AI 製圖、AI 做短影片、AI 配音，都可以放進 &lt;code&gt;AIGC&lt;/code&gt; 這個大框架裡理解。&lt;/p&gt;
&lt;p&gt;這個詞真正重要的地方在於，它描述的是一種內容生產方式，而不是某一個具體模型。&lt;/p&gt;
&lt;h3 id=&#34;10-token模型處理內容時的計量單位&#34;&gt;10. Token：模型處理內容時的計量單位
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Token&lt;/code&gt; 可以理解成模型處理文字時使用的基本計量單位。&lt;/p&gt;
&lt;p&gt;它不完全等於「一個字」或「一個單詞」，但在實際使用時，你可以先把它當成模型計算和計費的通用單位。你的輸入會消耗 &lt;code&gt;Token&lt;/code&gt;，模型輸出的內容會消耗 &lt;code&gt;Token&lt;/code&gt;，上下文裡保留的歷史內容同樣也會占用 &lt;code&gt;Token&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;所以為什麼很多模型服務一直強調上下文長度、成本控制和提示詞壓縮，本質上都和 &lt;code&gt;Token&lt;/code&gt; 有關。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
