处理一份几十页的合同、一整本手册、几百页的会议记录,第一反应往往是「找个窗口最大的模型」。但窗口大不等于好用:钱花得更多、速度可能更慢、模型对中间段落的注意力也会打折。这篇不报具体数字,只给你一套判断顺序——先量文档、再看模型库当时的规格、最后按任务切分,让每一次长文本调用都花在刀刃上。
手头一份几十页的合同、一整本产品手册、几百页的会议转写稿,很多人的第一反应是「找个窗口最大的模型丢进去」。真上手会发现:钱花得更多,首字等得更久,模型还经常只记住开头和结尾,中间那段最关键的话偏偏漏了。窗口大不等于好用,它买的是容量,不是准确率。
这篇不报具体数字——模型规格和价格变化太快,写死就是误导。给你一套判断顺序:先量文档,再看模型库当时的窗口规格,最后按任务决定是整篇塞还是切分。每一步该去哪儿核对当时的真实数据,我都会给出站内路径。
上下文窗口到底是什么,别再和「记忆」混为一谈
上下文窗口指的是单次请求能塞进去的 token 总量上限,输入和输出都算在里面。它不是模型的长期记忆,下一次请求不会自动带上上一次的内容。这一点搞清楚,后面很多选型纠结会自动消失:你付的是「这一次能看多少字」的钱,不是「模型记住了多少」的钱。
- 窗口是单次容量,不是会话长度上限,会话能开多长是另一回事;
- 超长输入超出窗口时,表现可能是报错,也可能是静默截断,还可能只抓住头尾、丢掉中间,具体哪种取决于调用方式;
- 对话轮次越多,历史累积越容易撑爆窗口,这属于会话管理的范畴,站内工程类文章已经讲透,这里只做区分;
- 训练上下文、最大输出长度、上下文窗口是三个不同的口径,容易混,到 /ai-dict/category/basics 逐个对照定义再上手
第一步永远是先量,不是先挑模型
绝大多数人跳过了量这一步,凭感觉觉得「这文档挺长的,得上超长窗口」。实际上很多所谓长文档,切掉附录和重复内容后,核心正文只有想象的一半。量一下再决定,比直接换模型省得多。
- 粗算 token 量中文按字数量级估,英文按词量估,具体换算系数到 /tools/token-price-calculator 用当时的工具算一遍,别背公式。
- 把三部分加总文档本身、你要问的问题、以及你希望它输出的格式要求,三块都占 token。很多人只算了文档,输出要求写了一大段结构化格式,最后一超限就报错。
- 算清问答轮次同一份资料要反复回答十几个问题,单次全塞和分次处理的账完全不同。轮次多的时候,检索式方案的成本优势会迅速放大。
- 先问自己一个问题如果只需要问一两个点,能不能先检索定位到那几段,再决定要不要动用整份文档?
把窗口分成几档看:够用档、舒适档、超长档
与其记住哪个模型窗口多大,不如按需求分档。分档的好处是:就算模型换代、规格变了,你的判断逻辑不用改,只需要到站内模型库核对当下的规格落在哪一档。模型窗口字段和当时的价格,去 /models 按窗口筛一遍即可。
| 档位 | 典型需求 | 选型时优先看什么 |
|---|---|---|
| 够用档 | 单次问答、摘要一段话、改一小节文字 | 价格和响应速度,窗口够用就行,别为用不上的容量付费 |
| 舒适档 | 一份中等长度报告加多轮追问,需要留输出余量 | 窗口要留富余给历史对话和输出,关注长输入的计费规则 |
| 超长档 | 整本书、整套代码库、几小时转写稿一次性丢进去 | 长输入单价、是否支持提示词缓存、中间段落召回是否稳定 |
判断自己落在哪一档,标准很简单:把「文档 + 问题 + 期望输出」的总量算出来,乘上一个安全系数(比如再留出多轮追问的空间),看它落在哪一档。别拿单个模型的最大窗口当目标,那是最坏情况的下限,不是日常该用的配置。
超长窗口的代价:贵、慢、还不一定准
超长窗口不是免费的升级项,它带来三笔账单:钱、时间、准确率。三笔都要算进去,只算钱会踩坑。
- 价格分档
- 长输入的单价通常和常规输入不同档,有的平台还设了「超过某个长度就整体升价」的规则,具体以 /official-api 当时页面为准
- 缓存收益
- 同一份长文档反复喂给模型时,有没有提示词缓存,成本差异可能非常明显,先看该平台是否支持、命中条件是什么
- 注意力稀释
- 窗口越大,模型对中间位置的注意力越容易打折,关键条款挪到开头或结尾,往往比换更大窗口更有效
- 首字延迟
- 长输入的首字等待明显更久,超时设置要跟着调,分档调整思路参考站内 /api-timeout-tuning 相关章节
「大海捞针」型任务最能暴露问题:答案确实在文档里,模型也说读到了,但就是答不对。这种情况先别急着加预算换模型,把关键段落的位置调整一下,很多时候立刻就好了。真正需要跨全文做整体推理的任务,才值得为超长窗口付溢价。
窗口买的是容量,不是理解力;把关键信息放对位置,比换一个更大的模型便宜得多。
什么时候别硬塞:三种切分策略的适用场景
切分不是「省钱版方案」,很多任务上切分的准确率反而更高。判断标准就一条:这个任务需不需要跨段落的整体推理。需要,才考虑整篇塞;不需要,切分几乎总是更划算。
- 检索式:文档进向量库,按问题取相关段落。适合问答型任务,成本和准确率通常都更优,缺点是依赖检索质量;
- 摘要压缩式:先分段摘要再逐层汇总。适合写综述、写报告,缺点是层层压缩会丢细节,不适合要求精确引用的场景;
- 分块处理式:按章节切开逐块调用,最后人工或模型合并。适合翻译、校对、格式转换这类规则明确的任务;
- 不适用的情况:任务需要把文档不同位置的信息交叉比对得出结论,切分后各块互相看不到,这种就别硬切
还有一种折中做法:检索粗筛出相关章节,再把这几个章节一次性塞进一个不算太大的窗口里做联合推理。既保留了跨段落视野,又没有把整本书都喂进去。多数文档分析任务,这个组合的性价比最高。
选型落地:怎么确认这个窗口真的够用
参数表上写的窗口规格,和模型在你的文档上实际能不能用,是两回事。上线前做一轮小样本测试,比看任何规格都靠谱。
- 埋一个明确答案拿一份真实文档,问一个答案明确写在某处的问题,看它找不找得到。找不到,说明这个方案连基础召回都不过关。
- 问一个跨章节问题再问一个需要汇总不同章节才能回答的问题。这一步是区分「能读进去」和「用得上」的关键:前者答得出,后者往往只答其中一段。
- 跑多次看稳定性同一份输入跑两三次,观察结果是否一致。抖动大的任务,不要靠单次结果拍板,要么换方案,要么把输出约束得更死。
- 批量前做对照正式批量上线前,用 /tools/verify 一类实测思路横向跑一轮,把参数表和实测结果摆在一起看,别只信宣传页上的窗口数字。
按场景对号入座:一张选型对照表
下面这张表把常见长文档任务和推荐策略对应起来,可以直接当上手清单用。每个模型当时的价格和窗口规格,一律到 /models 和 /official-api 核对,别记死数字。
| 场景 | 推荐策略 | 什么情况下该升级 |
|---|---|---|
| 合同条款比对 | 检索定位 + 常规窗口,输出要求结构化 | 需要逐条对齐多点条款、判断条款间冲突时,改用长窗口一次性给全文 |
| 论文与文献综述 | 分段摘要 + 逐层汇总 | 需要精确引用原文、核对具体表述时,把相关段落原样放进窗口 |
| 客服与会议记录分析 | 先转写清洗,再按主题切段 | 需要追踪整场对话的态度变化、议题演进时,考虑整段放入 |
| 代码库理解 | 检索 + 文件级上下文,按调用关系拼上下文 | 需要跨模块推理整体架构、追踪根因时,才上超长窗口 |
| 批量翻译与校对 | 分块处理 + 术语表统一 | 风格一致性要求极高、需要通读全文把握语气时,才整篇处理 |
这张表不是绝对的。同一类任务,文档质量和结构差异会大幅改变结论:结构清晰、有小标题的文档,切分后效果通常好很多;格式混乱、逻辑跳跃的文档,切分反而更糟。所以最终判断还是要回到那份小样本测试上。
最后一句提醒:模型规格、价格、窗口大小都在变,这篇文章给的是判断顺序,不是具体答案。每次真正选型前,花几分钟到站内页面核对当时的数字,再走一遍量文档、分档、测小样本的流程,比记住任何结论都管用。
下一步:核对当时的规格把这篇的判断顺序用起来之前,先到模型库按窗口字段筛一遍,再去官方 API 页面看长输入的计费规则,然后拿你手上真实的文档做那两问小测试。→常见问题
窗口越大是不是就一定更好?
不一定。窗口大意味着能塞更多内容,但长输入的单价往往更高、响应更慢,而且关键信息落在中间时模型容易漏。只有当任务确实需要跨段落整体推理时,大窗口才划算;否则检索加切分通常又准又便宜。
128K 和 1M 这种档位差在哪,我该按哪个准备?
差的主要是能一次性放进去的文档体量,以及对应的计费口径和延迟。准备时不看档位名,看你手上最长的单份材料加输出预估有多少 token,再去 /models 查当时的窗口规格,按最坏情况留三成余量。
为什么我把整份文档塞进去了,模型还是答不到要点?
常见原因是问题指向的细节在文档中段,或者文档里有大量重复和格式噪声。先把问题相关的段落摘出来单独问一遍,如果答对了,说明是检索定位问题,不是窗口问题。多数情况换切分方式比换模型有效。
长文本任务的费用怎么预估才不翻车?
先量输入和输出 token,再按平台当时的输入输出单价分别算,注意长输入可能走不同价位档。重复调用同一份文档时,先确认有没有缓存机制。换算可用 /tools/token-price-calculator,价格基准以 /official-api 当时页面为准。
有没有必要为了长文本专门换一家平台?
看三点:你的文档是否经常超出现有窗口、超长调用的单价差多少、响应延迟能不能接受。先在现有平台做一轮真实文档测试,确实卡住了再考虑迁移,迁移还要算上改代码和重新验证的成本。