AI 科技

Claude 聊到一半忘了你講過的話:官方文件列了六件摘要不能丟的事

一份壓縮摘要寫出一個原始檔裡不存在的數字,帶出 Anthropic 官方文件列出的六件摘要不能丟的事,以及作者另設一套自訂六段、結果只做到一半的一次觀察。

2026.09.03 · 作者 dvdmaru · 約 5 分鐘 · 2,088 字

一份壓縮摘要裡寫著 95,000。某個客戶專案可核對的原始檔裡沒有這個數字;同一批檔案裡可核對的值是 77,052。

這不是模型記性變差的故事。它是壓縮的故事——長對話必要時會被摘成一段摘要,Claude Code 會用這段摘要銜接後續內容;官方文件只說早期的詳細指示可能遺失。Anthropic 9 月 1 日隨 Claude Fable 5.1 一起上線的官方 prompting 指南,用一整節篇幅講這件事,還列出摘要必須留住的六件事。這篇要講的是官方怎麼說、作者另設一套自訂六段後只做到一半的一次觀察,以及讀者自己能做的兩件事。

對話快滿了,Claude Code 先清舊工具輸出,必要時才摘要

Claude Code 官方文件描述的流程是:對話接近容量上限時,會先自動清掉較舊的工具輸出,需要時再把對話摘要成一段。使用者的要求與關鍵程式片段會保留,但對話早期的詳細指示可能丟失——這是官方原句,“detailed instructions from early in the conversation may be lost”。官方文件因此建議,長期要遵守的規則放進設定檔,不要靠對話歷史自己撐著。

這件事的主詞是摘要,不是模型的記憶力。本文只看得到 Anthropic 這兩份文件——Claude Fable 5.1 的官方 prompting 指南,以及 Claude Code 的官方說明——別家 AI 產品是不是也這樣運作,這兩份文件都沒有回答。

官方指南列了六件摘要不能丟的事

Fable 5.1 的官方指南有一節專門講這件事,標題就是「告訴模型壓縮摘要要保留什麼」。開場第一句是官方原話:“responds well to being told explicitly what its summary must retain”——意思是明白告知摘要必須保留什麼,模型的表現會更好。這句話接著補一句:“Server-side compaction already does this”,伺服器端的壓縮已經內建了這件事;需要另外交代的,是在客戶端自己動手壓縮的人。

六件事分別是:

官方第幾項白話一句一般人聊天時對應的是什麼
第一項出現過的困難或問題,以及怎麼處理或解決的和它一起排除過的狀況
第二項提過、試過、或放棄的選項,以及為什麼放棄討論過但最後沒選的做法
第三項被要求、決定、同意、排除,或立為偏好、限制、邊界的事你跟它講定的規矩
第四項現在進度到哪,已經完成或確定了什麼做到哪一步了
第五項還開著、沒解決、答應過、接下來預期要發生的事還欠著的事
第六項難以重建的細節:名字、數字、日期、確切措辭、連結或參照資料你給過的名字、數字、日期、連結

第三項的官方原句是 “stated exactly”,第六項是 “kept exactly”——都要求逐字留住,不是大意保留。官方對這六項的態度是 “Be complete on these even at the cost of length; keep everything else concise.”:這六項寧可寫長也要完整,其餘一律精簡。

指南還把兩種聲音分開對待:“Weight the two voices differently”——使用者說過、要求過、確立過的事,要貼近原本的用字留下;模型自己的解釋與推理則可以壓得很扁,壓到結論與產出,前提是六項一個都沒掉。指南自己的症狀索引裡也有一句直接點名代價:“Client-side compaction summaries drop constraints, decisions, or exact details”——在客戶端自己壓縮的摘要,會掉限制、決定,或確切的細節。

設定檔裡追加六段要求,摘要真的長出六段,只做到一半

9 月 2 日晚上,作者在自己的設定檔裡追加了一段要求:壓縮時的摘要必須附上六段。這是作者自訂的六段版本,不是官方六項的翻版——沒有官方的第一、二項,另外加了「數字只留來源」與「代為決定附上猜錯的代價」。

當晚,一個早已開著的對話,由使用者手動送出壓縮指令。摘要回來,末尾真的長出完整六段:8 條檔案路徑、三句原話逐字保留、三條代為決定附上猜錯代價、數字那一段列了來源並標「待重取」——但括號裡仍附舊值。摘要自己還標出一條程序疏漏。

這是一次觀察,不是官方文件。設定檔裡的這段要求會不會持續生效,官方沒有說。

提早壓縮不一定划算

快取讀取的價格在 Fable 5.1 上變便宜了(OpenAI Designated Astra Critical; Anthropic Cut Prices),這也是指南提出這項提醒的理由。指南原句是 “compacting early to save cost may no longer be the right cost-intelligence tradeoff”——為省成本提早壓縮,未必再是划算的權衡,官方建議改試更晚的壓縮點,多晚沒有給出數字。

Claude Code 文件另外提名一個做法:「Compact Instructions」,用來交代壓縮時要保留什麼;怎麼寫,本文不展開,操作版見文末延伸閱讀。兩份文件要分開看——Claude Code 自己清舊輸出、再摘要的這套流程,是不是照著指南的六項在跑,官方沒有說。

開工前先講清楚,壓縮後別信摘要裡的數字

能做的事有兩件。第一,開工前把講定的規矩、名字、數字、日期與還欠的事說清楚,用自己的話先講一遍。第二,接續壓縮後的對話時,先回原始檔核對關鍵數字,別直接沿用摘要裡的。

六項裡,作者最擔心的是原話與數字,因為這兩類細節一旦被改寫或寫錯,往往難以只靠摘要重建;這是作者自己的風險排序,不是官方統計。

回到開頭那個數字:95,000 出現在摘要裡,可核對的原始檔裡沒有;Claude Code 會用這段摘要銜接後續內容,而檔案裡可核對的值仍是 77,052。

延伸閱讀:Claude Code 使用者的操作版

常見問題

Q:Claude 為什麼好像忘了我前面說過的話? 不是模型記憶力衰退。Claude Code 在對話接近容量上限時,會先清除較舊的工具輸出,必要時才把對話摘要成一段;摘要後,Claude Code 會用這段摘要銜接後續內容。Claude Code 官方文件寫著:對話早期的詳細指示可能遺失,重要的要求與關鍵片段會保留。這句話的主詞是摘要,本文只看得到 Anthropic 關於 Claude Fable 5.1 與 Claude Code 這兩份文件的說法,別家產品是否也這樣,本文沒有查。

Q:官方文件說摘要不能丟的是哪六件事? Anthropic 在 Claude Fable 5.1 的官方 prompting 指南裡列了六項:出現過的困難與怎麼處理的、提過或放棄的選項與原因、被要求或決定或立下的偏好限制邊界、現在進度到哪、還開著沒解決或答應過的事、以及難以重建的細節——名字、數字、日期、確切措辭、連結或參照資料。指南要求這六項寧可寫長也要完整,其餘才精簡。

Q:要怎麼讓它別忘記? Claude Code 文件裡提名一個做法:「Compact Instructions」,用來交代壓縮時要保留什麼;怎麼寫,本文不展開。開工前先把不能忘的事講清楚——講定的規矩用自己的話、名字數字日期、還欠的事——是通用的做法。

Q:摘要裡的數字能信嗎? 不能照單全收。曾經有一次,壓縮摘要裡出現一個數字 95,000,某個專案的檔案裡從來沒有這個數字,正確值 77,052 就在檔案裡。壓縮之後再接續對話,遇到關鍵數字最好回原始檔案重新核對,不要直接沿用摘要裡寫的。