07 · 長材料怎麼喂
材料一長,問題就從"話說得清不清楚"變成"它到底看沒看見"。這一章講:多長算長、什麼時候該塞、什麼時候該拆、什麼時候該先檢索。
先分清"裝得下"和"讀得準"
04 · 上下文視窗 講過:視窗是 100 萬 Token,不代表你該塞 90 萬進去。長材料有兩個獨立的問題:
- 裝不裝得下 —— 硬限制,超了直接報錯或被截斷。
- 讀不讀得準 —— 軟問題,裝得下但中段容易漏,沒有報錯,你還看不出來。
第二個更危險,因為它悄無聲息。
按材料長度分四檔
| 材料長度 | 做法 |
|---|---|
| 幾百到幾千字(一份紀要、一篇文章) | 直接貼。不用想。 |
| 幾千到兩三萬字(一份報告、十幾頁文件) | 直接貼,但要加固:材料圈起來、指令放材料後面重複一遍、要求它引用原文 |
| 兩三萬到十幾萬字(一本手冊、幾十份文件) | 拆。分段處理再彙總。別指望一次通讀 |
| 更大(整個知識庫、上百份文件) | 別塞了,這是 RAG 的場景:先檢索出相關的幾段,再喂 |
分界線不是精確的,會隨模型變。判斷訊號是:你開始發現它漏掉材料中間的內容,就說明已經過線了。
中等長度:三個加固動作
材料幾千到幾萬字,能一次塞進去,但要這麼加固:
一、把材料圈起來並放到最後。 見 02 章。
二、材料之後把關鍵要求重說一遍。
<材料>
……兩萬字……
</材料>
再確認一次:
- 只用上面材料裡的內容;
- 分「結論 / 待辦 / 遺留」三塊;
- 拿不準的標「待確認」。三、要求它引用原文。 這一招專治"讀漏":
每一條結論後面,用括號附上它在材料裡的依據(引用原文一句,不超過 20 字)。
找不到依據的結論,不要寫。引用逼著它真的回材料裡找,而不是憑印象總結。而且你能一眼看出它有沒有編——引用對不上原文,就是抓現行。
長材料:拆的三種方式
方式一:分段處理 + 彙總(最常用)
第 1 輪:這是全文的第 1 部分(共 5 部分)。
只做一件事:提取這部分裡的【待辦事項】和【關鍵結論】,
用條目列出,不要總結,不要評論。
第 2~5 輪:同上,換材料。
最後一輪:下面是 5 輪提取的結果,把它們合併成一份完整紀要,
去掉重複,按時間排序,衝突的地方標註出來。關鍵是前幾輪只做"提取",不做"總結"。提取是機械勞動,不容易出錯;總結是判斷,留到最後一次性做。
方式二:先做地圖,再按需深入
材料很長但你只關心其中一部分時:
第 1 輪:給這份文件做一個目錄:每個部分的標題 + 一句話講了什麼 + 大概在什麼位置。
不要展開內容。
(你看完目錄,挑出關心的兩節)
第 2 輪:只針對第 3 節和第 7 節,回答我的問題:……省 Token,也省你的時間。
方式三:按維度分次讀同一份材料
同一份材料要抽好幾種東西時,別讓它一次全抽:
第 1 輪:只找出所有涉及【時間和進度】的內容。
第 2 輪:只找出所有涉及【費用和預算】的內容。
第 3 輪:只找出所有【風險和未決事項】。一次問一個維度,每次都從頭讀一遍。慢,但漏得少。
怎麼判斷該不該拆
一個簡單的測試:在材料中間偷偷插一句只有你知道的話(比如"本段包含關鍵詞:紫水晶"),然後問它"材料裡有沒有提到紫水晶"。
答不上來,說明它沒讀到那兒——該拆了。
多份文件:給每份貼標籤
幾份材料一起給的時候,一定要分開標註,否則它會把它們揉成一團:
<文档1 名称="2026Q1 项目周报" 日期="2026-03-28">
……
</文档1>
<文档2 名称="客户需求确认单" 日期="2026-04-02">
……
</文档2>
要求:
- 引用資訊時必須註明來自哪份文件;
- 兩份文件衝突的地方,以日期更晚的為準,並把衝突點單獨列出來。最後那條"衝突怎麼辦"很關鍵——不寫的話它會默默選一個,而你不知道它選了哪個、為什麼。
什麼時候該上 RAG
出現下面任何一條,就別在提示詞上硬撐了:
- 材料總量遠超視窗,而且每次只需要其中一小部分;
- 材料會經常更新(產品文件、政策、價格表),你不想每次手動貼;
- 同一批材料要被很多人、很多次地問不同問題。
這三條都指向同一個做法:先檢索,再回答。原理見 09 · 全景地圖,落地屬於進階話題。
一個省錢提醒
長材料是帳單大頭。同一份長材料要問五個問題,別開五個對話各貼一遍——在同一個對話裡連著問,這樣它只需要傳一次(很多平臺還有快取最佳化,更便宜)。
反過來,如果這五個問題互不相關、而且你擔心互相干擾,那就該分開——省錢和乾淨,這裡得你自己權衡。