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 · 全景地图,落地属于进阶话题。
一个省钱提醒
长材料是账单大头。同一份长材料要问五个问题,别开五个对话各贴一遍——在同一个对话里连着问,这样它只需要传一次(很多平台还有缓存优化,更便宜)。
反过来,如果这五个问题互不相关、而且你担心互相干扰,那就该分开——省钱和干净,这里得你自己权衡。