你替 AI 助手加了記憶:先把對話整理成筆記,下次回答似乎更省。但同一份歷史只問三題,整理費真的賺得回來嗎?Memory Tax 讓我們先看記憶加工失去了什麼,再另外算它花了多少錢。
這篇寫給第一次評估 Agent 記憶的讀者。先用假對話分清品質與費用,再用五步工作表比較原文檢索、記憶庫、記憶加原文;會用試算表就能跟做。成本數字是本篇設定的算術案例;我們執行了計算程式,沒有執行記憶模型或重現論文跑分。
先說結論:值得建記憶=品質過關+查詢省款蓋過額外建置費
品質先過關,再談回本。 把記憶想成有人替你做卷宗索引與摘要:準備要付費,以後查資料可能省力;但若摘要漏掉例外,再便宜也沒完成工作。原文保留、每次只取相關片段,是可以一起做的事。
- Memory Tax 是相對原文檢索的答題損失;API 帳單另算。
- 一次建置、多次詢問,才有攤提;換了資料重建,要重新入帳。
- 三條路先通過相同答案與證據門檻,再比較整段成本及等待時間。
一、Memory Tax 是什麼?先分清三本帳
2026 年 10 月 25 日公開的預印本 Memory Tax: Dissecting the Net Value of Agent Memory,以直接檢索原始歷史的 RAG 作為參照。RAG(檢索增強生成)就是「先找資料,再交給模型回答」;想先學搜尋零件,可從 RAW-RAG 證據診斷 開始。
第一本是品質帳:論文這項逐題分析的參照是單輪 RAG;同一題,原文 RAG 答錯、記憶答對,算 memory benefit;原文 RAG 答對、記憶答錯,算 memory tax。兩邊都對或都錯不屬於這兩格。用同一套二元判分、同一批題目,兩者的正確率差才等於「benefit 題數減 tax 題數,再除以總題數」。這裡的 tax 不是收取的稅金。
第二本是現金帳:整理筆記、寫入、搜尋、重排、回答各花多少。第三本是時間帳:準備等多久、使用者每題等多久。摘要縮短了,不代表整理免費;品質下降,也不代表能直接換算成某個美元金額。多問幾次只會攤薄建置費,不會把整理時丟掉的證據補回來。
論文討論資訊保留、取用與換模型後的穩健性,並示範把原文與記憶一起檢索、共同重排的補救路徑。這是作者測試中的觀察;下文的固定預算與成本攤提,是本篇另設的工程工作表,不等同論文的 Retrieval Scope 配置。本篇將研究問題轉成你自己的評估方法,不把研究分數填進你的工作表。
二、五步建立 Memory Tax 與成本工作表
第一步:「先留答案本」,固定資料與品質線
不知道怎樣算記得?先造四句假對話,標上來源位置:e1:青禾平常偏好靠窗座位。 e2:這次週五會議改坐靠走道,方便提早離席。 e3:會議在海風廳。 e4:海風廳預約截止是週四中午。 問「這次坐哪裡」「平常偏好什麼」「會議在哪」「何時截止」,答案依序是靠走道、靠窗、海風廳、週四中午。
答案本另存,包含每題需要的原句、可接受寫法與判分規則,不送進建置、檢索或回答提示;記憶只由可見歷史建立。再加一題「有提供餐點嗎?」以「資料不足」為正解,檢查是否捏造。這五題只用來驗接線;正式評估另留較大的未參與調整題庫,加入例外、更正與跨句推理。
先寫下專案品質線,例如答案正確率至少 90%,每題必需證據完整的比例至少 90%,本次指定的截止時間關鍵題全對。這些是你選的驗收值。小樣本幾題全對仍有很大不確定性;請保存分母、各類題數,擴題後重新驗收。多題共用同一份歷史時,也要按歷史分組看結果,不把它們當成完全獨立的樣本。
第二步:「三條路同一張考卷」,鎖定模型與預算
- 原文 RAG:將歷史切段與索引,找原始片段後回答;切段、embedding 與儲存仍有成本。
- 記憶庫:先整理事實、偏好或摘要,再搜尋加工後的內容。每條記憶保存原文 ID 與文字位置。
- 記憶+原文:兩邊各取候選,去重、共同重排,再把選中的證據交給相同回答模型。
怕混合路線只是塞更多文字?固定回答模型版本、提示、輸出上限與取樣設定,也固定候選檢索工作量上限及最終證據 token 預算;混合組要在原文與記憶之間分配同一份候選配額。另記實際候選數、重排輸入與送入模型的 token,不只寫「top 5」:五條摘要和五段原文長度可能差很多。
接線可沿用 Sentence Transformers 的 Retrieve & Re-Rank 分工:先取候選,再細排。若另測擴大混合預算,就明確另開一組,不與固定預算結果混算。原文和筆記保持相同使用者範圍、可見時間與資料版本。
截至 2026 年 10 月 29 日,作者倉庫的本篇查閱版本為 179e6a7。README 已勾選主實驗與中間結果釋出,個別基線重現程式仍未勾選,Quickstart 的執行命令也留有 TODO;本篇不要求你照它完成全套重現。先用既有可用的檢索與回答管線,或手動把三條路的證據包存下來,完成評分及成本設計。
第三步:「每張收據只算一次」,拆開建置、寫入與查詢
帳單總對不起來?請建立 events.csv,欄位先用 run_id,request_id,attempt_id,route,phase,input_tokens,output_tokens,cache_read_tokens,cost_usd,elapsed_ms。phase 分 build、write、retrieve、rerank、answer、retry;同一個請求即使被父子追蹤同時記錄,也只入帳一次。
固定資料的首次建置記為 B;新增或更正歷史造成的增量寫入、維護、重建,另記 U;每題搜尋、重排、回答與重試加總為 q。總成本=B+U+所有查詢 q 的總和。 報告已花的歷史總額,和決定明天是否繼續用的新增成本,應分兩欄,避免為了「攤回舊錢」繼續多花新錢。
Token 是文字處理單位,不是固定中文字數,也不是統一價格。輸入、輸出與快取依服務計費口徑記錄;快取若是輸入的子項,不可又加一次。向量、重排、資料庫、儲存與本機算力各有單位,請換成同幣別同期間後再合計。沒有 usage 的欄位留空並標未量到,不填零。LangSmith 成本文件也將輸入、輸出及其他工具成本分開追蹤。
時間另外量。每題以送出到完整答案的牆鐘時間為主,再留各階段計時;平行搜尋的兩段耗時相加,不等於使用者等待。Python 可用 perf_counter()量起訖差值。首次載入、冷讀、暖讀分開,交錯執行三條路,報中位數與慢尾端,保留逾時及重試。
第四步:「先驗品質,再畫回本線」
只看平均正確率會漏掉什麼?請逐題保存 question_id,route,answer_ok,evidence_complete,citation_ok 與實際證據文字。例外題若只找回「平常靠窗」,沒有 e2,本次答案就不完整;單有 e2 的 ID 也不夠,要確認送到回答模型的片段確實含有那句例外。
把答題分與原句查核分開。Ragas 的 context recall 文件提供參考證據召回與 ID 比對的思路;本篇採更直接的人工小考規則:一題需要的原句全在,才記完整。取得部分必要句的比例,可作診斷,不能冒充「完整題數」比例。
再把原文 RAG 與每條候選路線逐題配對,數出 benefit 和 tax。拒答、錯格式與逾時的處理先定好;不能刪掉失敗題後換分母。以未參與調整的題目驗收,通過品質線的路線才有資格進成本決選。若三條路都不過,先修證據或回答流程,回本欄先空著。
第五步:「算幾次才打平」,把一次費用攤到多次使用
以下全部是教學假設,金額單位為美元。假設原文路線首次建置 1、每題 0.03;記憶路線建置 7、每題 0.01;混合路線建置 8、每題 0.02。假設同一份資料保持不變,沒有額外寫入、固定月費或價格階梯,每題成本先用固定值示範。品質是否過關,要填你自己的測試結果。
問 N 次,原文總額是 1+0.03×N,記憶是 7+0.01×N,混合是 8+0.02×N。所以記憶相對原文多付 6,單題省 0.02,300 次打平,第 301 次起較便宜;混合相對原文多付 7,單題省 0.01,則是 700 次打平,第 701 次起較便宜。

把下面貼進試算表 A1;若沒有自動分欄,使用匯入 CSV 或逗號分隔功能。B 是建置費,c 是每題費。先在 F1 輸入想算的查詢次數,例如 100,D2 輸入 =B2+C2*$F$1,再往下填到 D4。
route,build_usd,query_usd,total_usd
raw,1,0.03,
memory,7,0.01,
hybrid,8,0.02,
本篇算術檢查:N=100 時,原文 4、記憶 8、混合 10;N=300 時,原文與記憶同為 10,混合 14;N=1,000 時依序為 31、17、28。把 N 改成 10、100、300、700、1,000,就能看出「單題比較省」與「整批比較省」的差別。
當額外建置費大於零、每題確實省錢時,打平查詢數=額外建置費÷每題省款,實際題數向上取整;剛好整除那一題是打平。若每題沒有省款,就先不要套除法。遇到更便宜的建置、較高的單題費等不同情況,直接比較兩條完整成本式;它可能是初期省、後期反而貴。
三、什麼時候建、保留或停用記憶?
先問品質線過了沒,再問預期查詢量到不到交點,最後問資料多久改一次。同一份專案歷史會反覆問很多題、記憶路線又通過品質驗收,才有繼續試的理由。只問少數題就封存的卷宗,額外整理費較難攤回;這是成本結構的推論,不是所有系統的固定勝負。
混合路線可能補回遺漏證據,也多出原文搜尋與重排工作。本例的記憶若品質不過關,就先移出決選;即使數學上最便宜,也不能拿來承接這個任務。混合若達標,再與達標原文路線比較,不必勉強選一個記憶方案。
資料經常改,改用 C(N)=B+U(N)+Σq。新增資料的寫入、過期筆記清理與重建都要入帳;N 只計同一份建置真正服務到的工作量。若每週重建一次,而每週只有 50 題,就不能把一年 2,600 題都拿去攤第一次建置費。已有 長期記憶的官方概念文件也區分回應路徑內更新與背景更新:背景做,仍占用資源。每題費用也會隨問題種類、快取與回原文頻率改變;把記憶的每題費從 0.01 改成 0.02,本例交點就由 300 移到 600。請用低、中、高三種情境估計,資料不同步或恢復搜尋也要入帳。
保留原文作恢復路徑時,也保留同一套權限、刪除與版本規則。刪除要涵蓋原文、加工筆記、索引與快取;拿假使用者驗證隔離。歷史文字是資料,即使寫著命令,也不得替它增加工具權限。把這些檢查放進 Agent Harness 的停止與工具規則,再擴大資料量。
常見問題:八個先講答案的判讀
1. Memory Tax 就是多花的 token 嗎?
不是。這篇採指定論文的定義,是相對原文 RAG 的答題退步;token 與費用放在另一張帳。
2. 記憶越短,整體就越便宜嗎?
不一定。首次整理、維護、檢索與失敗重試都要計;每題便宜還要乘上實際查詢數。
3. 原文 RAG 等於每題讀完整歷史嗎?
不是。保留完整歷史,查詢時可以只找相關片段;原文索引也要記建置與儲存成本。
4. 混合一定比純記憶準嗎?
不一定。候選預算、去重、重排與最終截斷都會影響結果,請用同題同預算測試。
5. 為何 300 次打平,不寫 300 次就開始省?
因為本例第 300 次兩者同為 10;第 301 次記憶才嚴格更便宜。若交點不是整數,第一個不高於原文的整數題數可能已經更便宜。
6. 我能把論文平均成本直接當自己的 c 嗎?
不能直接套用。模型、服務、題目、預算與計費不同;請由自己的逐題收據估計,另做高低成本情境。
7. 沒有 API 額度也能先做嗎?
能。先做假資料、答案本與公式驗算;三條模型路線的品質及 usage 留空,不把手填內容冒充量測。
8. 應該立刻移除目前的記憶嗎?
先比較下一段期間。用新的題庫確認品質,再算繼續維護與切回原文各需多少新增成本;已花的建置費另列歷史帳。
給新手的三個重點
- 先數「救回哪題、丟掉哪題」,再算成本;平均分相近也可能錯在不同重要題。
- 先驗答案及證據,再用實際建置、寫入、查詢收據畫曲線。
- 用資料有效期間內的查詢量決策,定期拿新題目重驗。
接著閱讀
左右滑動查看更多推薦
下一步:先替一份歷史,寫出品質線與交點
今天先存那四句假對話,寫好五題答案本,再把三條路的 B、U、q 欄位留好。先驗公式,再接自己的服務收據。記住:值得建記憶=品質過關+查詢省款蓋過額外建置費。 想繼續把工作表接成小系統,可從 AI 文章專區 選下一個元件,或到 AlphaLab 課程 練習完整流程;先讓一筆成本與一條證據都能追查。






