夜雨聆风学习资料网

ARTICLE · 1059451

20 万字文档丢给模型,5 根针全捞出来了,它却在一道汇总题上交了白卷

20 万字文档丢给模型,5 根针全捞出来了,它却在一道汇总题上交了白卷

今天云栖大会,最响的一句话是阿里要把模型往 5-10T 参数上冲(引量子位 9 月 22 日报道)。会场里聊的是参数、芯片、云。我关心的更朴素,上下文写了那么长,是真能记住,还是只写在参数表里。

我把自己攒的中文文档拼成一份 20 万字的材料,在 5 个不同深度埋了 5 句话,每句话都是一个冷门事实,不带任何上下文提示。整份丢进去,问它。

5 根针,一根不落,全捞出来了。包括埋在 95% 位置、也就是第 19 万字附近的那一根。

下一题,它回了我一个空字符串。

我是怎么跑的

被测的两个模型是 DeepSeek 的 deepseek-flash和 deepseek-v4-pro,官方标注上下文都是 1M,走标准 chat 接口,temperature 设 0,全部非流式。

材料是我自己这一个多月攒下的中文文档,公众号文章、周档、创作规范、历史抓取素材,拼起来 156 万字,按长度截取。长度取了四档,1 万字、4 万字、10 万字、20 万字

每份材料里埋同一组 5 句话,位置固定在文档的 5%、27%、52%、76%、95% 五处,插成独立段落。比如「白桦林-07 号样本的校准温度是 42.5 摄氏度」「批次 QX-3390 在 7 月 18 日完成复检,复检结论是不通过」。都是些没人猜得到的硬事实,只能靠读文档。

题目分三类。

  • 单针题
    5 道,每道问一根针,考定位。
  • 聚合题
    1 道,让模型把全文里提到的这 5 类事实全列出来,考通读。
  • 负向题
    1 道,问一个文档里根本没有的东西(东海大桥),考它会不会编。

两个模型 × 四个长度 × 七道题,一共 56 次调用,全部真跑,原始返回存在本地。

20 万字里 5 根针,真全中了

模型
文档字数
输入 token(均值)
单针召回
均耗时
flash
1 万
6,207
5/5
1.2s
flash
4 万
25,249
4/4
1.6s
flash
10 万
60,234
4/4
2.2s
flash
20 万
101,748
5/5
2.3s
pro
1 万
6,260
5/5
3.3s
pro
4 万
25,302
5/5
4.3s
pro
10 万
60,287
3/3
7.2s
pro
20 万
101,801
4/4
11.1s

分母是拿到完整答案的样本数,被输出预算截断的那些单独算,下面讲。

也就是说,36 条拿到完整答案的单针样本,36 条全对。20 万字约合 10.2 万 token,塞进 1M 的窗口里才占一成,位置埋到 95% 深度也照样能定位。它还会主动告诉我在哪篇文档里找到的,36 条里有 17 条附了出处。

这一条和网上流传的长文档中段失忆不太一样。区别可能在量级。文献里说的衰减大多出现在窗口快满的时候,而我这份 20 万字只用了十分之一。

翻车的是汇总题,交回来一个空字符串

聚合题我原以为会看到它漏掉一两项,结果是 8 次调用,8 次返回空字符串。两个模型,四个长度,一次都没成。

我去看原始返回,找到了原因。这 8 次调用的 output token 全部精确等于 300,也就是我设的 max_tokens 上限。它是把思考过程的 token 吃完了,正文一个字都没来得及写,交回来一个空串。

我第一反应是它失忆了,翻原始返回才发现是自己挖的坑,这事怪不到模型头上。

单针题里也有 4 次是同样情况。把 12 次空答案按题目拆开看,聚合题占 8 次,单针题占 4 次。规律很清楚,题目越复杂,越容易空

这个坑的阴险之处在于,接口不报错。HTTP 200,token 照常计费,返回体里 content 是空字符串。如果你的程序只看状态码,大概率会把这条记成模型答不上来,然后在业务层加一堆没用的重试和兜底。

顺带说一句,单针题里那条唯一判为没答对的样本,答案其实是「批次 QX-3390 的复检日期是 7 月 18 日,复检结论是」,句子被砍在半截。也是同一个原因。

文档里没有的东西,它没编

负向题问稿子里有没有东海大桥。8 次调用,8 次都明确回答文档中未提及,没有一次顺着往下编。

有几次还多解释了一句,说通读了全部文档,出现的地名是哪些。这部分我给满分。长文场景下最怕的是找不到还硬编一个看起来很像的答案,这轮实测没出现。

从 1 万字到 20 万字,钱是线性涨的

按官网闲时价算(写稿时查的,输入缓存未命中 $0.15 / $0.66 每百万 token,输出 $0.6 / $1.98),七道题跑一轮的钱如下。

文档字数
flash
pro
1 万
$0.007
$0.032
4 万
$0.027
$0.120
10 万
$0.064
$0.282
20 万
$0.108
$0.473

折到单次提问,20 万字那份文档,flash 一次约 1.5 美分,pro 一次约 6.8 美分。看着不贵,但这是问一句话的钱。同一份材料你连问十轮,pro 就是快七毛美金,而且每问一次都要把这 10 万 token 重新传一遍。

耗时这边,flash 从 1.2 秒到 2.3 秒,翻了一倍;pro 从 3.3 秒涨到 11.1 秒,涨了三倍多。20 万字这一档,pro 的耗时是 flash 的 4.8 倍。贵档在长文上买到的主要是推理深度,不是速度。

还有一个不在表格里、但更直观的成本。这一轮跑完,我的 API 账户被拒绝服务了,接口返回 402,提示余额不足,而余额页上还显示着 5.32 元。两轮实测累计消耗输入 270.9 万 token、输出 1.1 万 token。余额显示和实际扣费口径为什么不一致,我没查明,这点标未核实。有一点能确定,做长上下文实测,是个真的会烧钱的活

一句判断

20 万字以内、问题是要找某一句话,整份丢进去就行,别费劲切分。这个长度下模型的定位能力没掉,还省掉了切片、向量库那一整套工程。

但你要它把全文里所有相关的事汇总起来,就得留个心眼。这轮实测里这类问题全空,原因在输出预算被思考链吃光,不在记不住。说人话就是两条,让模型多写点,别让它憋着;程序里见到空答案,按报错处理,别当成它不会。

成本上,同一份长材料如果每天要问几十次,就没必要每次重传。这时候切片加检索(本号 9 月 8 日、9 月 18 日测过的 RAG 和重排)反而更划算,检索一次只把相关几段送进去,token 是数量级的差距。

云栖那边说机器思考总量要到人类的 1000 倍。我这边的感受是,模型能读的东西确实变多了,但读到了和能给你数出来,中间还隔着一段路。

我注意到一个细节。同样是空答案,聚合题全空,单针题只有零星几个空。说明卡住的地方在预算分配,一次要输出多条信息时格外明显,跟记忆无关。下一步想把这层单独测一遍。同一份 20 万字文档、同一个汇总问题,只把 max_tokens 从 300 调到 800、4096,看它是真答不上来,还是单纯被憋住了。

待补的几件事

  • 输出预算对照测
    ,脚本里这组实验已经写好(实测/2026-09-22_长上下文_实测脚本.py的侧测段),跑到一半余额耗尽、接口 402。补法是账户充值后原样重跑,产出 results_输出预算对比.json
  • 窗口接近上限的表现
    ,1M 窗口只用到十分之一,40 万字以上的衰减曲线没测。
  • 跨厂商对照
    ,只测了 DeepSeek 两个档位,Claude、GPT 同题表现未测。

关于诚实边界

云栖大会那句 5-10T 参数、真武 V900 芯片,出自量子位和 AIBase 9 月 22 日的报道,我标了来源站,本人没到现场、没拿到官方材料。文中所有关于两个模型的表现、耗时、token 与费用,都是本人本机真调 API 跑出来的。输出预算那组对照实验没跑完,我按 402 报错原样写在上面,没拿推测顶替。余额显示和实际扣费口径为什么不一致,我没查明,也标了未核实。跑不了的,我一个都没编。


本文所有数字来自本机真调 API 所得,原始返回留存在 实测/2026-09-22_长上下文/。跑不了的实验已在上面标明。

#长上下文#DeepSeek#AI工具实测#RAG#云栖大会
觉得有用?点个「在看」让更多做 AI 的朋友看到。
① 你平时给模型丢过多长的文档,有没有遇到答非所问或者干脆不回的情况?
② 想看我拿同一份 20 万字文档去对 Claude、GPT 吗?催一下,我去找能用的额度。

相关学习资料