我們營運的 IT 連接地圖技術指南(例如 什麼是提示快取)中,一直在解釋「前一次對話中開頭相同的部分會從快取讀取,因此費用大幅下降」這個機制。提示快取會由 AI 代理與 AI 服務端(如 Anthropic、Google 等)自動使用。不過,對於資料與指示的不同傳遞方式——例如「直接貼到使用者提示」「外部檔案(article.md)」「SKILL」「AGENTS.md」等——其 token 消耗究竟如何變化,始終是一個疑問。
因此,IT 連接地圖編輯部以 Claude Code(訂閱版)與 Antigravity CLI,測試了 6 種資料與指示的傳遞方式。模型為 Claude Sonnet 5.5 與 Gemini 3.8 Flash。上方圖表是將 4 個實驗的輸入費用,以 1b(只在第一輪貼上並參照)為基準,按各方式排列而成。對話以短文進行 10 輪、長文進行 5 輪,測量所有回合的 token 數,並依官方費率換算輸入費用。
📘 完整輪次的測量資料與分析(IT 連接地圖指南)
取捨方式不是依費用,而是依資訊要用多久、用到哪裡來決定。費用欄位是將 10 輪(長文為 5 輪)的輸入費用,與 1b(只在第一輪貼上並參照)相比較的結果。
方式放置位置適合的情況與 1b 相比的輸入費用(Claude Code・Claude 短文/Antigravity・Claude 短文/Antigravity・Gemini 短文/Antigravity・Gemini 長文)1a 對話中重貼兩次每輪都貼在對話中不用+136%/+83%/−41%/+173%1b 對話貼上與參照指示只在第一輪貼入對話一次性資料・短篇任務基準2 資料放入外部檔案檔案(例如 article.md)反覆閱讀的長篇資料・摘要後仍需回看的資料+26%/+89%/+29%/+84%3 指示放入 SKILLSKILL(Claude Code 為 .claude/skills/)僅在特定任務使用的流程+38%/±0%/+12%/+8%4 指示放入 AGENTS.mdAGENTS.md(Claude Code 為 CLAUDE.md)每次都要遵守的共通規則+1%/−5%/+6%/−2%5 資料檔案+SKILL檔案+SKILL以相同流程重複處理長篇資料的任務+114%/+29%/+50%/+20%當第二輪之後要參照時,最好不要用「前面的文章」,而是寫出對象的標題。因為對話一長或資料一多,「前面的文章」會變得不夠明確。本次實驗最後一輪也沒有寫「前面的文章」,而是直接點名「重寫版」(因為長文中「前面的文章」可能會指向 4 萬字的原文)。
article.md 的第 3 段縮短一點」那麼,費用差異到底有多大呢?
方式名稱Claude Code・Claude 短文(10 輪)Antigravity・Claude 短文(10 輪)Antigravity・Gemini 短文(10 輪)Antigravity・Gemini 長文(5 輪)1a 對話中重貼兩次$0.2401(+136%)$0.1361(+83%)$0.0603(−41%)$0.1119(+173%)1b 對話貼上與參照指示$0.1017(基準)$0.0745(基準)$0.1017(基準)$0.0410(基準)2 資料放入外部檔案$0.1286(+26%)$0.1409(+89%)$0.1313(+29%)$0.0754(+84%)3 指示放入 SKILL$0.1404(+38%)$0.0748(±0%)$0.1136(+12%)$0.0442(+8%)4 指示放入 AGENTS.md(Claude Code 為 CLAUDE.md)$0.1024(+1%)$0.0706(−5%)$0.1082(+6%)$0.0402(−2%)5 資料檔案+SKILL$0.2180(+114%)$0.0959(+29%)$0.1529(+50%)$0.0491(+20%)( )內為與 1b 相比的增減。上圖為各輪輸入費用的累計,線條斜率即該輪所支付的輸入費用。
那麼,為什麼重貼會變貴,而檔案與 SKILL 不會變便宜呢?
提示快取只會低價讀取與前次查詢從開頭起一致的部分。到了第 2 輪若把資料重新貼一次,貼上的那段會被當成新的輸入並以一般費率計算,而且還會留在歷史(context)裡,因此從第 3 輪起每一輪都得持續送出。Antigravity 的 Claude 短文中,單輪輸入量,1a 每輪增加 3,457 token,而參照的 1b 只有 929 token。
SKILL 和檔案之所以沒有變便宜,是因為代理程式每次讀取 SKILL 或檔案時,都得再次送出先前的內容。把資料放在檔案中的 2,代表代理程式每輪都重新讀取 article.md 並覆寫,Antigravity 的 Claude 甚至還會寫出確認用腳本。在 Antigravity 的 3 個實驗中,2 的單輪輸入量是 1b 的 1.3~3.4 倍。檔案的用途不是為了降低費用,而是為了在摘要後仍可重讀。
那麼,指示與資料應該依什麼順序決定放在哪裡呢?
放置位置請依上圖 Step 1 起,根據資訊需要使用多久、用到多廣來決定。
.agents/skills/,Claude Code 為 .claude/skills/)
article.md)
放置位置的決定方式,也已在指南 指示該寫在哪裡 — 對話・AGENTS.md・SKILL 與 資料與指示的 6 種傳遞方式 中說明。那麼,在持續對話時,該注意什麼呢?
一旦送出的資料會留在對話歷史中,下一次查詢時會從快取讀取。要修改時,不要把同樣的文字再貼一次,而是像「把剛才寫的『總務省白書 令和 5 年版摘要』第 3 段縮短一點」這樣,直接點名對象標題或標頭來參照(例子見第 1 節)。只說「前面的文章」並不足夠,因為對話一長或資料一多,指涉就會變得模糊。
Claude Code 的官方說明中,專案的 CLAUDE.md(與 AGENTS.md)只會在對話開始時讀取一次。即使在對話中途修改,也不會讓快取失效,但修改後的內容也不會傳到目前這段對話中。修正後的指示會在 /clear、/compact 或新對話開始後才會被讀入。若修改了指示檔,請重新開啟對話。
Claude Sonnet 5.5 從 512 token、Gemini 3.8 Flash 的隱式快取從 4,096 token 起可用(官方)。但本次 Gemini 中,單次輸入在 17,459 token 以下的回合,從未命中快取(見第 6 節)。費用請以使用後的 usage(從快取讀取的 token 數)確認(什麼是提示快取)。
快取的保留時間,Claude Code 訂閱版為 1 小時,API 金鑰(API 是 Application Programming Interface 的縮寫)與雲端經由方式為 5 分鐘(官方)。實測顯示,Claude Code 訂閱版在相隔 58 分鐘前的回合仍可從快取讀取,從 61 分鐘起失效;Antigravity 中 Claude 在相隔 6 分鐘後失效,Gemini 則在 12 分鐘後失效(快取保留時間)。一旦超過這個時間,繼續同一段對話時,就會把歷史重新寫入快取。若長對話要中斷超過 1 小時,請在工作告一段落時使用 /compact,或把摘要保存在檔案後開啟新對話(什麼是 compact)。在恢復工作後才做 compact,幾乎不會便宜多少。
最後,在 Gemini 的短對話中,為什麼會反過來呢?
Gemini 短對話中 1a 之所以最便宜,是因為快取是否被使用,會依方式而分開。如下表所示,1b・3・4 在 10 輪內一次都沒有命中快取,因此每輪都以一般費率支付全部輸入。重貼的 1a 因為單次輸入變大,從第 4 輪開始命中快取,因此成為最便宜的方式。
方式單輪輸入(token・最小~最大)命中快取的輪次10 輪輸入費用(與 1b 相比)1a 對話中重貼兩次10,978~31,488第 4 輪起(7 次)$0.0603(−41%)1b 對話貼上與參照指示10,985~15,272一次都沒有$0.1017(基準)2 資料放入外部檔案20,572~73,954第 5 輪起(6 次)$0.1313(+29%)3 指示放入 SKILL12,985~22,262一次都沒有$0.1136(+12%)4 指示放入 AGENTS.md11,063~16,266一次都沒有$0.1082(+6%)5 資料檔案+SKILL19,658~64,274第 7 輪起(4 次)$0.1529(+50%)Gemini 3.8 Flash 的隱式快取,官方說明為從 4,096 token 起可用,但不保證一定會命中。本次測量中,單次查詢輸入在 17,459 token 以下的 20 次都沒有命中快取,而 19,492 token 以上的 19 次則全部命中。本次實測可用的最小量為 19,492 token,而參照的 1b 在到第 10 輪時,單次輸入仍未達到這個最小量。2 與 5 也在途中開始命中快取,但因為讀取檔案與 SKILL 的往返使輸入變多,所以仍高於 1b。
這只是偶然結果,不代表「重貼比較省錢」。同樣是 Gemini 3.8 Flash,在資料較長的長文對話中,所有方式都在第 2 輪前就開始命中快取,而參照的 1b 比重貼的 1a 便宜 63%。是否命中快取,請以使用後的 usage(從快取讀取的 token 數)確認。
項目內容產品與模型Claude Code 2.1.310(訂閱版)・Claude Sonnet 5.5(實驗 4)。Antigravity CLI 1.4.6・Claude Sonnet 5.5(low)・Gemini 3.8 Flash(low)(實驗 1~3)資料與需求將總務省資訊通信白皮書的短文(2,893 字)或長文(39,875 字),依 8 種寫法規則重寫。從第 2 輪開始,每輪只請對方修改一處輪次・次數短文 10 輪・長文 5 輪,各方式各 1 次。每次實驗都建立新的工作資料夾費用將輸入費用依官方費率換算(Claude Sonnet 5.5:輸入 $2、1 小時保留的快取寫入 $4、從快取讀取 $0.10;Gemini 3.8 Flash:輸入 $0.75、從快取讀取 $0.075,以每 100 萬 token 計)。由於輸出費用每次波動很大,因此不列入比較注意Antigravity 不會回傳快取寫入數,因此那部分會視為快取外的一般輸入費用。Claude Code(實驗 4)會回傳快取寫入數,所以可測得包含加成的數值。
對話間隔時的快取保留時間,以及摘要(/compact)的費用,已整理在另一篇文章與指南中(快取保留時間・compact 是什麼)。
「AGENTS.md」「SKILL」「外部檔案」的取捨,對專案可維護性與指示遵守精度都很重要。另一方面,從 token 計費的角度來看,影響最大的,是不要重貼資料,以及確認是否真的命中快取。請把「共通規則放 AGENTS.md、專門流程放 SKILL、長資料放檔案、對話只用帶標題的參照」這個原則,納入日常 AI 代理的運作中。
完整輪次的測量資料與分析,已公開於以下指南:
各種放置位置的詳細說明與費用確認方式,整理在以下指南:
本次使用的產品與模型頁面:Claude Code・Antigravity・Claude・Gemini
讀者問卷進行中
如果你想更深入了解這個主題,請在文章按「讚」。我們會依按讚數較多的主題優先追加調查,結果會在新文章中通知你(若有追蹤將收到通知)。
【可轉載】關於本文轉載
本文的文字與圖表皆可轉載。圖表請勿加工直接使用。轉載時,請註明出處並連結至本文完整版 〈資料與指示的 6 種傳遞方式〉(renkeimap.jp)。不需事前聯絡。