SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-14

Claude 記憶功能要額外付費嗎?費用與 token 計算

Anthropic 沒有 memory token 價格。記憶文字會以輸入 token 重送,費用取決於重送量與是否命中 prompt cache;Pro、Max 則消耗使用額度。

Claude 的記憶功能需要額外付費嗎?

Claude 的記憶功能本身不另行收費。Anthropic 公布的費率是按每百萬個輸入 token 和每百萬個輸出 token 計算,另有 prompt caching 的費率;其中沒有任何一項稱為 memory token。Claude API(application programming interface)不會對記憶資料本身收費,因為 memory tool 在用戶端執行,檔案也儲存在你擁有的儲存空間中。

不過,記憶仍可能反映在帳單上,因為記住的資訊只有在放進 Claude 讀取的請求中時,才會影響回答。使用記憶代表要重新傳送內容。這些文字會算入輸入 token,並按照模型的一般輸入費率計費。費用取決於2個數字:每次對話重新送出的記憶文字包含多少 token,以及這些文字能否由 prompt cache 提供。

如果你使用 Pro 或 Max 訂閱,則完全不會按 token 計費,因此記憶消耗的是使用額度,而不是金錢。下方的機制相同,只有計量單位不同。使用額度是有限的,因此在決定每次對話應攜帶多少記憶前,值得先了解 Claude Pro 的費用,以及額度限制何時會阻止你繼續使用。Claude Enterprise 的計費方式又不同,因為 它會在 seat 價格之外,按照 API 費率計算每個 token;因此,過大的記憶區塊會再次轉化為實際費用,而不是消耗額度。如果精簡記憶後,你的用量能穩定低於較低階方案的上限,接著值得考慮 從 Max 降級至 Pro;變更會在你已支付的計費週期結束時生效。如果你實際比較的是不同供應商,而不是 Anthropic 自家的方案,則可先參考 以目前價格比較 Claude 與 ChatGPT 的方案

各個 Claude 介面中的「memory」代表什麼

三種不同產品共用這個詞,而混淆它們正是這個問題令人困惑的主要原因。

Claude API 的 memory tool。 您在 tools 陣列中加入一筆項目,並在自己的程式碼中實作檔案操作。

{"type": "memory_20250818", "name": "memory"}

截至 2026 年 8 月,這項工具已在 Messages API 上普遍開放使用,無須 beta header,適用於 Claude 4 及更新版本的模型。它在用戶端執行:Claude 要求執行例如 view /memories 的操作,由您的 handler 對您控制的儲存空間執行,然後在 tool_result 區塊中回傳結果。Anthropic 不會保存該檔案,因此不會產生可轉嫁的儲存費用。您支付的是來回請求的費用。工具定義會隨每個請求傳送,而回傳的檔案內容從該時間點起會保留在對話中。

Anthropic 公開了這項額外負載中的固定部分。根據 2026 年 8 月的文件,在 Claude Opus 5 上使用 auto 的 tool choice 時,tool-use system prompt 為 286 tokens。只要請求中包含任何工具,不論是否為 memory,每個請求都會支付這項費用。

Claude Code。 每個工作階段開始時會載入兩種機制。CLAUDE.md 檔案存放您撰寫的指示。Auto memory 會在 ~/.claude/projects/<project>/memory/ 下存放 Claude 自行撰寫的備註。MEMORY.md 只會載入前 200 行或 25KB,以先達到的限制為準;旁邊的主題檔案則會在需要時讀取,不會在啟動時載入。啟動時載入的所有內容都會成為 prefix 的一部分,該工作階段後續的每個請求都會攜帶這個 prefix。Claude Code 如何在工作階段之間取回 memory 會逐一說明各檔案的載入順序。

網頁版 Claude。 在 claude.ai 上,memory 是 Claude 隨著對話撰寫及更新的一組項目,每個 project 都有獨立的 memory 空間。Settings > Memory 會列出已儲存的內容,其中的切換選項可選擇 Pause memory 或 Reset memory。此介面按訂閱方案計費,因此 memory 會消耗使用量上限。

為何記憶內容會計入輸入 token

Messages API 沒有狀態。它不會在呼叫之間保留任何內容,因此用戶端必須在每一輪傳送完整對話,模型也會再次讀取全部內容。記憶內容同樣遵循這項規則。它只是同一個請求中的另一段文字。

在任何回應的 usage 物件中,都能看到這項拆分。

"usage": {
  "input_tokens": 412,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 18240,
  "output_tokens": 236
}

input_tokens只計算既未從快取讀取,也未用於建立快取的 token。實務上,這表示最後一個快取斷點之後的 token。該請求的輸入總量為 cache_read_input_tokens 加上 cache_creation_input_tokens 再加上 input_tokens。Claude 在 3 輪前開啟的記憶檔案,此後每一輪都會計入這個總量。快取前綴有效時,它會歸在 cache_read_input_tokens;快取前綴無效時,則會歸在 input_tokens。文字相同,但價格可能大不相同。輸入與輸出 token 的價格不同,而記憶內容只會計入輸入端。

在自己的使用情況中查看這些數字

不要直接採用部落格文章中的數字,包括本文。請測量自己的記憶體區塊。Token 計算免費,且有獨立的速率限制,因此測量不會產生成本。

curl https://api.anthropic.com/v1/messages/count_tokens \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-5",
    "system": "You are a scientist",
    "messages": [{"role": "user", "content": "Hello, Claude"}]
  }'

回應會是一個數字,例如 { "input_tokens": 14 }。將記憶體文字貼到 system 欄位中執行一次,再不貼入記憶體文字執行一次,兩者的差值就是該記憶體在每一輪對話中產生的成本。請注意兩點。這個數字是估算值,而 Anthropic 為自身系統最佳化額外加入的 token 不會向你計費。此外,請以實際執行的模型進行計算,因為 Claude 4.7 及後續版本使用較新的 tokenizer,對相同文字產生的 token 約多 30 percent。

在 Claude Code 中,不必使用任何 curl 也能取得相同資訊。

  • /context 顯示目前已載入的內容,包括記憶體檔案,因此你可以在輸入任何內容前查看它們佔用的 context window 比例。
  • /memory 列出你的 CLAUDE.md 檔案,並開啟 auto memory 資料夾。
  • /usage 顯示工作階段總量,其中包括 cache reads 和 cache writes。
  • status line 可持續顯示 context window 使用量,因此可以在使用量增加時即時查看。

/usage session block 如下:

Total cost:            $0.55
Total duration (API):  6m 20s
Total duration (wall): 6h 33m 10s
Total code changes:    0 lines added, 0 lines removed
Usage by model:
   claude-sonnet-4-6:  1.2k input, 5.3k output, 940.0k cache read, 50.0k cache write ($0.55)

請仔細查看最後一行。940.0k cache read 數字代表每一輪都以 cache rate 再次傳送的完整內容,包括對話與記憶體。1.2k input 數字則只有這一輪新增的部分。Claude Code 會根據 list prices 在本機計算該金額,因此不會套用你享有的任何折扣,結果也可能與帳單不同。Claude Console 中的 Usage page 才是權威數字。

接著直接進行比較。在兩個新的工作階段中提出相同的開場問題,一個維持正常設定,另一個關閉 auto memory。

CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude

在每個工作階段中執行 /context,並比較 memory files 項目。兩者的差值就是累積記憶體在每個工作階段開始時產生的成本,甚至還沒開始執行任何工作。接著閱讀 Claude Code token 使用量的完整分解,搭配這兩個數字一起參考。

每百萬個 token 重播記憶的成本是多少?

Prompt caching 是相同記憶體區塊在不同回合的成本可能相差 10 倍的原因。Anthropic 會以各模型基本輸入價格的倍數公布快取費率,因此即使貨幣價格變動,兩者的關係仍然成立。

ChartAnthropic's published prompt caching rates, as a multiple of base input price
The data behind this chart
[
  {
    "label": "Base input",
    "price_multiple": 1
  },
  {
    "label": "5 minute cache write",
    "price_multiple": 1.25
  },
  {
    "label": "1 hour cache write",
    "price_multiple": 2
  },
  {
    "label": "Cache read",
    "price_multiple": 0.1
  }
]

讀取快取的成本是基本輸入價格的 0.1 倍。寫入保留 5 分鐘的項目,成本是基本價格的 1.25 倍;寫入保留 1 小時的項目,成本是基本價格的 2 倍。Anthropic 清楚說明了損益平衡點:5 分鐘保留時間在讀取快取 1 次後開始划算,1 小時保留時間則要讀取快取 2 次後才開始划算。Prompt caching 的損益平衡點 是決定記憶體應放置位置前,應先執行的計算。

這些倍數可以將重播次數轉換成算式。下一個區塊是根據上述已公布倍數進行的算術計算,不是任何實際工作負載的測量結果。它會以 3 種方式計算 100 回合工作階段中的記憶體區塊,並以按照基本輸入價格計費時的等效 token 數表示。

ChartA memory block over 100 turns, expressed as base-rate input tokens
The data behind this chart
[
  {
    "label": "4,000 tokens, never cached",
    "base_rate_equivalent_tokens": "400,000"
  },
  {
    "label": "4,000 tokens, 1 write and 99 reads",
    "base_rate_equivalent_tokens": "44,600"
  },
  {
    "label": "1,000 tokens, 1 write and 99 reads",
    "base_rate_equivalent_tokens": "11,150"
  }
]

一個 4,000 token 的記憶體區塊若在全部 100 個回合都未命中快取,計費量相當於 400,000 個基本費率 token。同一區塊若執行 1 次 5 分鐘快取寫入及 99 次快取讀取,計費量相當於 44,600 個 token。若將區塊縮減為原大小的四分之一並維持快取,計費量則相當於 11,150 個 token。這項功能在這 3 列中並未改變,只有重播行為不同。這些仍然是 token 數量,而不是金額;將 token 數量換算為每月帳單金額,只需要乘上模型每百萬個 token 的費率。該費率取決於所使用的模型,因此若代理程式將在 Claude Fable 5 上執行,請先參考該模型公布的每百萬個 token 費率及其適用工作負載

第二列假設後續 99 個請求抵達時,快取項目仍在有效期限內。實際帳單最常因這項假設而產生偏差。

為什麼中斷一段時間後,相同問題的成本會更高?

快取項目有存留時間,計時會從寫入或讀取該項目的請求開始。預設值為 5 分鐘。1 小時選項的成本,是上述寫入成本的 2x。在 Claude Code 中,訂閱方案的存留時間為 1 小時;開始使用 usage credits 後,會降為 5 分鐘;使用 API key 或雲端供應商時,預設為 5 分鐘。設定 ENABLE_PROMPT_CACHING_1H=1 後,即使使用 usage credits,仍可維持 1 小時的存留時間。

因此,在午休期間保持開啟的工作階段中輸入一行問題,成本會很高,因為你離開期間快取項目已過期。包含記憶內容在內的整個前置內容,會再次依基本輸入費率處理,並再次寫入快取。暫停時間的長短決定了這項成本。

你可以自行確認,不必只相信上述說法。在 Pro、Max、Team 或 Enterprise 方案中,/usage breakdown 會標示近期使用量中占比達 10 percent 以上的行為,長內容與快取未命中都會以名稱顯示。使用 API 時,請監看 cache_creation_input_tokens;安靜一段時間後的第一個請求,該值會跳回前置內容的完整大小。

什麼會在不知不覺間使快取失效

快取的前綴具有固定順序:先是工具,再來是系統提示,最後是訊息。在某一層進行變更,會使該層及其後的所有內容失效。編輯工具定義會捨棄整個快取。編輯系統提示則會捨棄系統提示與訊息快取。

對於將記憶保存在系統提示中,並隨著代理程式學習而重寫系統提示的人來說,這是常見陷阱。每次重寫都會捨棄其後所有內容的快取副本,因此下一個請求必須再次完整寫入。請將穩定內容放在前面並保持不變,讓易變內容靠近訊息清單後方;如此一來,使其失效的成本較低。

另一個較不明顯的問題是,每個模型都有可快取前綴的最小長度:Claude Opus 5 為 512 tokens、Claude Sonnet 5 為 1,024、Claude Haiku 4.5 為 4,096;這些數值由 Anthropic 於 August 2026 公布。Anthropic 的文件明確說明低於此門檻時的行為:「任何要求快取少於此數量 tokens 的請求,都會在未啟用快取的情況下處理,且不會回傳錯誤。」因此,標記為 cache_control 的小型記憶檔案完全不會生效,而且不會顯示任何提示。你能觀察到的症狀是,cache_creation_input_tokens 持續為 0,但提示內容明明包含 breakpoint。

清除已不再發揮作用的記憶

記憶中的每一行都會在包含該記憶的每次互動中消耗 tokens,因此每一行都應檢視最近是否實際改變了回答。Claude Code 將限制具體化。建議將 CLAUDE.md 控制在 200 行以內,因為檔案越長,消耗的 context 越多,Claude 遵循其中指示的可靠性也越低。載入時,MEMORY.md 的上限是前 200 行或 25KB;超過限制的內容會在下次工作階段啟動時捨棄,因此過大的索引只是在消耗 tokens,卻沒有提供任何資訊。

有兩個做法可以維持檔案精簡。將詳細內容從索引移到主題檔案,Claude 會在需要時讀取,而不是在啟動時載入。將工作流程指示從 CLAUDE.md 移到 skills,這些內容只會在呼叫時載入。對於已包含 frontmatter 的記憶檔案,Claude Code 會在 version 2.1.214 或更新版本中,將寫入時間記錄在 modified 欄位,格式為 ISO 8601 timestamp。這個 timestamp 是找出已過時資訊最快的方法。清除過時的 agent 記憶會更深入說明檢閱流程。

何時檢索優於將所有內容載入上下文

memory 工具用於支援即時檢索。代理程式不會預先載入所有內容,而是記錄所學資訊,僅在任務需要時讀回檔案。這會改變計算方式,因為讀取檔案只需支付一次其 token 成本,之後便會留在快取前綴中;永久載入的區塊則會在每一回合產生成本。

上述兩張圖表可導出一項簡單規則。幾乎每回合都會使用的文字,應放在穩定的快取前綴中。每 20 回合只使用 1 次的文字,應放在 view 呼叫後方。損益平衡點取決於重播次數,而不是 Anthropic 的任何計費項目。

在 API 中,也可以讓平台裁剪對話內容。當對話超過你設定的門檻時,上下文編輯會清除舊的工具結果。

{
  "edits": [
    {
      "type": "clear_tool_uses_20250919",
      "trigger": {"type": "input_tokens", "value": 30000},
      "keep": {"type": "tool_uses", "value": 3},
      "clear_at_least": {"type": "input_tokens", "value": 5000}
    }
  ]
}

預設值為 100,000 個輸入 token,並保留 3 次工具使用結果。啟用前請先閱讀快取互動方式:清除內容會使清除位置之後的快取前綴失效,因此下一個請求會產生快取寫入成本。這就是 clear_at_least 的用途。它會延後清除,直到節省的成本足以抵銷寫入成本。回應會在 context_management 下完整報告實際結果,其中包含 cleared_tool_usescleared_input_tokens,因此可以量化這項取捨,而非僅停留在理論層面。在 Claude Code 中管理上下文視窗也將相同概念套用至程式碼工作階段。

哪些項目會另外計費

Memory 本身不會單獨收費,但有些功能確實會另外計費,值得先了解。以下是截至 2026 年 8 月公布的 Claude API 費率。有些操作完全免費,但 Claude API 沒有免費方案,註冊時只提供少量額度,因此以下費用都會從第一次請求開始實際產生。

  • Web search:每 1,000 次搜尋收費 $10,此外還要支付搜尋結果放入 context 的一般 token 費用。
  • Code execution:每個 organization 每月有 1,550 小時免費額度,超過後每個 container 每小時收費 $0.05。與 web search 或 web fetch 搭配使用時免費。
  • Claude Managed Agents:session runtime 每個 session-hour 收費 $0.08,另加一般 token 費用。
  • Web fetch:不另外收費,只需支付擷取內容的 token 費用。

Memory 不會出現在上述任何項目中。它會計入 input token 數量,而這正是你可以測量的地方,也是 pruning 與 caching 能夠降低費用的地方。如果你要為在 virtual private server (VPS) 上無人值守執行的 agent 編列預算,接下來應先建立 VPS 上 AI agent 的費用控制,因為 memory file 持續增長且沒有 pruning 的 agent,每週都會變得更昂貴,卻不會有任何機制回報這項支出。

FAQ

Claude 的記憶功能是否需要額外付費?

不需要。Anthropic 的價目表依每百萬輸入 tokens、每百萬輸出 tokens,以及 prompt caching 倍率計費,沒有單獨列出記憶功能。在 Claude API 中,記憶工具由用戶端處理,因此檔案會儲存在你原本就已付費使用的儲存空間中。記憶功能增加的是輸入 tokens;每次請求包含這些 tokens 時,都會依模型的一般輸入費率計費。

關閉記憶功能會讓 Claude 變便宜嗎?

這會降低每次請求的 token 數量,進而降低單次請求的費用。但整體是否省錢,取決於接下來的處理方式。如果 Claude 必須重新讀取 3 個檔案,並詢問你 2 個問題,才能重建記憶中已有的內容,這些 tokens 的費用可能高於保留記憶的費用。不要靠猜測,請實際測量:在開啟自動記憶功能的工作階段中執行 /context,再於使用 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 啟動的工作階段中執行,然後比較兩者完成相同任務所花費的總 tokens。

我沒有變更任何設定,為什麼使用量增加了?

最常見的原因是暫停後發生 cache miss。Cache 項目預設保留 5 分鐘,使用 extended 設定時則保留 1 小時。因此,中斷後的第一個請求會以基本輸入費率重新處理整個前綴,並再次寫入該前綴。第二個常見原因是前綴遭到編輯:變更工具定義會使整個 cache 失效,而變更 system prompt 會使 system cache 和 message cache 失效。在訂閱方案中,/usage breakdown 會在這類行為占近期使用量 10 percent 以上時標示出來。

記憶內容應放在 system prompt 中,還是透過工具呼叫載入?

如果幾乎每個工作階段都會使用記憶內容,請將其放在 system prompt 中,因為它會位於快取的前綴中,並以 cache read rate 計費。如果只有部分任務需要記憶內容,請透過 view 呼叫載入,因為只讀取一次的檔案只會計算一次其中的 tokens,而不是每次工作階段都計算。決定因素是 replay 次數,而 usage 物件會直接提供這個數值。

記憶功能是否會計入訂閱方案的使用量限制?

會,但屬於間接影響,因為訂閱方案的限制是依每次請求所包含的 tokens 消耗。Anthropic 的說明文件指出,觸發自動內容管理的較長對話會消耗更多使用量限制。記憶功能會讓每次請求稍微變長,而長時間工作階段會在每一輪重複傳送這段長度。Claude 的使用量限制實際如何運作說明限制何時重設。