| 材料 | 一次放入 1M context 的可行性 | 最适合做什么 | 不建议直接全丢的情况 |
|---|---|---|---|
| 完整单一合同 | 通常是合理候选 | 条款摘要、风险条款、付款和终止义务、版本差异 | 附件过大、OCR 质量差、需要正式法律意见 |
| 一包研究资料 | 常常可行 | 跨文件比较、共同结论、矛盾点、证据矩阵 | 来源质量不一、需要逐句追溯、资料持续更新 |
| 整个 repo | 取决于大小和清理程度 | 架构导览、bug 定位、API 行为追踪、重构建议 | 大型 monorepo、依赖目录、generated files、二进制资产或测试数据过多 |
这张表的重点是:100万 token 让一次看见全局更可行,但不代表原封不动上传整包文件就是最佳做法。尤其是 repo,公开资料确实把大型 codebase 列为长上下文的应用方向,但大型 codebase 不等于任何未经整理的项目都适合直接塞进同一个提示。
完整单一合同通常适合尝试长上下文,因为合同本身有章节、条款、定义和附件结构;公开资料也把大型文件列为 1M context 可支持的方向。
真正的风险不是模型读不到,而是它输出一段看起来漂亮、却无法核查的摘要。不要只问「这份合同有什么问题」。更稳的问法,是限制它做定位、整理、引用和风险标记:
请按条款编号整理付款义务、终止权、责任限制、保密义务和违约后果。每一点都要附原文片段,并标出需要法律专业人士确认的地方。
这类提示会迫使模型先回到条款,而不是直接下结论。对法务、采购或商务谈判来说,长上下文更适合做初步审阅和材料整理,不应替代正式法律判断。
研究资料的价值往往不在单篇摘要,而在多份材料之间的比较:哪些结论一致、哪些假设不同、哪里存在数据矛盾、每份研究的限制是什么。1M context 的优势,是让模型在同一次任务里比较多份文件,而不是把每篇研究分开摘要后再人工拼接。
比较适合的任务包括:
研究资料尤其适合先要求证据矩阵:每个结论旁边列出来源文件、段落位置和原文摘录。长上下文让模型更容易同时参考多份材料,但外部分析仍提醒,1M context 并不等于可以替代检索、分段处理和人工核查。
代码仓库是 1M context 最有吸引力的场景之一。TestingCatalog 把大型 codebase 和大型文件并列为 1M context 的应用方向;技术分析也提到,GPT-4.1 针对长上下文中的理解和信息查找进行训练。
但 repo 的问题是噪声密度高。模型真正需要的通常不是所有文件,而是与任务相关的架构、入口点、配置、核心模块和错误线索。直接上传整包仓库,常常会把上下文空间浪费在无关内容上。
通常应先排除或延后加入:
node_modules/、vendor/ 等第三方依赖目录更稳的输入顺序是:先给目录树、README、架构文档和主要配置;再加入与任务相关的核心代码;最后补充错误信息、复现步骤、测试失败记录或目标行为。这样比整包丢入更容易让模型建立正确的代码脉络。
100万 token 的上限让大型文件和 codebase 任务更可行,但它不会自动替你过滤噪声。 如果资料里有大量重复内容、生成文件、依赖、扫描错字或无关文件,模型仍可能把注意力花在低价值材料上。
模型可支持 1M context,不代表每个 API、云部署或产品入口都能在同样条件下使用完整长度。Microsoft Q&A 上有用户回报,在 Azure OpenAI 使用 gpt-4.1 时,低于 1M tokens 仍遇到 context window exceeded;这更适合作为部署差异的提醒,而不是所有环境的通用结论。
把材料放进上下文,只代表模型有机会参考它,不代表模型一定会稳定找到每个关键片段。针对 GPT-4.1 1M context 的批评文章就把这项能力描述为令人印象深刻、但仍不足以覆盖所有真实工作场景。
如果你要把合同、研究资料或 repo 放进长上下文,建议按这个顺序处理:
如果任务需要反复更新资料、逐句可追溯引用、跨版本比对,或者 repo 大到包含大量无关模块,长上下文就不一定是唯一或最佳方案。更现实的做法,是把 1M context 当作整体理解层,再搭配检索、分段摘要、测试记录或人工 review。现有分析对 1M context 的提醒也是类似的:能力很强,但还不是所有真实工作流的完整解法。