先给结论:2026 年 9 月,GPT-5.5、Claude Opus 4.8 / Sonnet 4.6、Gemini 3.7 Flash 都把广告窗写到约 100 万 token。1M Token 不是「能读 100 万汉字」,也不是「塞满就等于会用」。标称窗口三家差不多;有效检索、最大输出、价格台阶差很多。对处理 JSON 的人,正确用法是先裁、先校验、再决定塞多少——不是把整份 dump 扔进去。
这篇按 2026 年 9 月 5 日写。数字以各家公开文档为准:OpenAI 的 gpt-5.5 API 约 1,050,000 token 总窗、128K 输出;Anthropic 的 Opus 4.8 / Sonnet 4.6 默认 1M、128K 输出、无长上下文加价;Google 的 gemini-3.7-flash 为 1,048,576 输入 / 65,536 输出。产品面(ChatGPT、Codex、claude.ai)往往更窄,别拿营销页当 API 限额。
1M Token 是什么
Token 是模型计数和计费的最小文本块,不是字、也不是词。英文大约 1 token ≈ 0.75 个词、约 4 个字符;中文常见 1–2 个汉字换 1 个 token,视分词器和标点而定。JSON 更「贵」:括号、引号、重复的 key、缩进空格都占额度。
1M Token = 约 100 万个 token 的上下文窗口。粗换算:大约 75 万英文词,或约 50–80 万汉字,或一本厚书到几本中等书,或一个中型代码仓库加文档。它不是「100 万字小说」,也不是「100 万行代码」——同样 1M,散文、表格和压缩过的 JSON 能装下的信息量差一截。
上下文窗口是一次请求里能同时待着的总量:系统提示 + 历史对话 + 工具定义 + 工具返回值 + 本次输出。GPT-5 系还要把 reasoning token 算进去;你写了 90 万 token 的输入,再开高推理,会先撞 context_length_exceeded,不是模型「读不完」,是预算已经花光。
| 说法 | 实际含义 | 常见误读 |
|---|---|---|
| 1M Token | 约 100 万 token 的输入+输出(部分模型含推理)上限 | 能读 100 万汉字 / 100 万行代码 |
| 上下文窗口 | 单次请求的共享预算 | 账号终身记忆、或自动记住所有历史项目 |
| 最大输出 | 这一轮最多生成多少 token | 等于窗口本身(Gemini 输出约 64K,远小于 1M) |
| 有效上下文 | 多针检索 / 长文档推理仍稳定的长度 | 等于厂商写在定价页上的数字 |
2023 年主流还是 4K–32K;2024 年 Gemini 1.5 把 1M 做成广告词;2025 年 200K 成为中档标配。到 2026 年 9 月,旗舰 API 的广告数字已经对齐到 1M,竞争从「谁更长」换成「谁在 200K 之后还能找得回针、谁的缓存更便宜」。
超长上下文窗口有什么用
超长窗解决的是一次推理里要同时看见很多材料,不是替代数据库,也不是免费无限记忆。下面这些场景,128K 往往要切块或上 RAG;1M 可以把「先检索再问」收成「先装再问」——前提是你装进去的东西经过筛选。
- 整仓 / 多文件编码:相关模块、测试、接口定义放在同一轮,少一次「模型没看见那个文件」。Agent 编码的瓶颈仍常在工具循环和测试反馈,不在窗口广告——上一篇《Gemini 3.8 Flash 与 AI Coding》写过。
- 长文档审阅:合同、财报、规范、多份 PDF 对照。适合「找出第 47 节和附录 B 的冲突」,不适合「把一年邮件原样贴进去再问摘要」。
- 多模态长输入:Gemini 把视频、音频、图片和文本算进同一扇窗。一小时视频的 token 消耗会非常快,1M 是配额,不是邀请你无压缩上传。
- Agent 多步:工具返回的 JSON、错误栈、上一轮补丁可以暂时留在对话里。窗口再大,堆栈原文也不该原样回灌——见《Agent JSON 数据流》。
- 大 JSON 对照:OpenAPI / JSON Schema、样例载荷、生产错误日志放在一轮里做字段对齐。这是本站读者最该用 1M 的地方,也是最容易把账单打穿的地方。
- 少做一层 RAG:材料稳定、体积可控、每次都要引用原文时,整包进上下文比向量库更简单。材料每天变、重复查询多,检索仍然更便宜、更稳。
反过来说:聊天闲聊、单条分类、短 JSON 抽取,用 1M 窗是浪费。延迟、预填和按 token 计费都会罚你。短任务用短模型或短预算。
GPT、Claude、Gemini 对比
下表是 2026 年 9 月 5 日能写进文档的公开规格。价格按官方每百万 token 标价;产品面限额另算。Gemini 3.8 Flash 截至本文仍未 GA,生产请继续用 3.7。
| 厂商 / 模型 | 标称窗口 | 最大输出 | 输入 / 输出 价(每 1M) | 窗口上要注意的 |
|---|---|---|---|---|
| OpenAI GPT-5.5 API | 约 1,050,000 | 128,000 | $5 / $30 | reasoning 计入总窗;Codex 产品面 400K |
| OpenAI GPT-5.5 Pro | 约 1,050,000 | 128,000 | $30 / $180 | 同窗,贵在输出与推理 |
| OpenAI GPT-5.4 | 约 1M | 128,000 | $2.50 / $15 | 同档 1M,单价更低 |
| Anthropic Claude Opus 4.8 | 1M(默认,无 beta 头) | 128,000 | $5 / $25 | 无长上下文加价;prompt cache 约 90% off |
| Anthropic Claude Sonnet 4.6 | 1M | 128,000 | $3 / $15 | 带 context awareness(知道自己还剩多少预算) |
| Anthropic Claude Haiku 4.5 | 200K | 64,000 | $1 / $5 | 快、便宜,不是 1M 档 |
| Google Gemini 3.7 Flash | 1,048,576 | 65,536 | Intro $0.75 / $3.75 至 2026-12-31 | 2027-01-01 起标准价 $1.50 / $7.50 |
| Google Gemini 3.1 Pro | 1,048,576 | 65,536 | 约 $2 / $4(常在 >200K 加价) | 第三方页上的 2M / 10M 不要写进合同 |
怎么读这张表:三家旗舰都能「塞进约 1M」。差别在输出头寸、推理是否占窗、超过 200K 贵不贵、缓存打不打折。
- 要一次吐很长的结构化结果(大 JSON、长补丁、多文件 diff):GPT-5.5 和 Claude 4.6/4.8 的 128K 输出比 Gemini 的约 64K 宽一倍。Gemini 更适合「读很多、写一张表」。
- 同一份系统提示 + 工具 Schema 反复打:Claude 的 prompt cache、Gemini 的 Context Caching、OpenAI 的 cached input 都比每次付全价输入划算。Agent 的 tools JSON 就该缓存,见《Tool Calling 与 JSON Schema》。
- 预算紧、材料多、输出短:Gemini 3.7 Flash 的 Intro 价仍是三家里最便宜的 1M 档;有效检索过 200K 要自己用多针测,不要只信窗口数字。
- 产品面 ≠ API:ChatGPT / Codex 上的 GPT-5.5 可能是 400K;部分云市场的 Claude 仍是 200K。写 SLA 前打开对应产品的模型卡,不要复制这篇的 API 列。
标称窗口 vs 有效窗口
2026 年的共识已经很难再装看不见:广告 1M 和用好 1M 是两件事。多针检索(MRCR v2 一类:在超长文本里找若干条分散事实)上,准确率通常在 128K 之后开始掉,200K–512K 分化,接近 1M 时只有少数模型还像「读过全文」。
公开评测和第三方汇编(设置并不完全统一,当趋势看,不当验收标准)大致是:
- GPT-5.5:相对前代,在 512K–1M 的多针推理上跳了一档,是目前「真往满窗塞」时最常被点名的 API 之一。单针找一句原文,三家在 128K 内都还行。
- Claude Opus 4.6:1M 多针曾到约 76%,曲线比较平。4.7 / 4.8 更偏校准——找不到就拒答或标明不确定,而不是编造位置。长文档合规审阅往往更要后一种。
- Gemini 3.x:128K 内检索和长文档理解仍然强,过 200K 多针掉得更陡。适合「先读一厚叠、再输出短 JSON」,不适合「在 90 万 token 的日志里保证找出第 8 根针」。
工程上可以按三档用,而不是按价目表用:
| 长度带 | 怎么当 | 建议 |
|---|---|---|
| ≤128K | 几乎全可用 | 三家都能当默认工作区 |
| 128K–256K | 要抽样测 | 用你自己的 JSON / 仓库做多针,不要抄 Arena 分 |
| 256K–500K | 能用,别假设每条都找得到 | 关键字段用 JSONPath 预提取;重复前缀走缓存 |
| 500K–1M | 能塞,当「容得下」不是「读得全」 | 只放稳定、高价值材料;答案用 Schema 锁死 |
「中间丢失」(lost in the middle)没有因为窗口涨到 1M 就消失。重要约束放在系统提示开头和用户消息末尾,中间塞附录。模型更常记住你最后说的那句「只输出符合 Schema 的 JSON」,而不是第 40 万 token 处的一个枚举值。
和 JSON 的关系:塞进去不等于校验过
1M 窗让「整份 OpenAPI + 三天错误日志 + 一份草稿 Schema」第一次能放进单次请求。它不会让非法 JSON 变合法,也不会让松 Schema 自动变严。窗口解决的是可见范围;契约解决的是形状。我们在《从 Prompt 到 Structured Output》《OpenAI vs Gemini Structured Output》里写过同一条纪律:生成阶段用 Schema 挡非法 token,落地后再校验一遍。
把 80 万 token 的生产 dump 整包塞进去,常见失败不是「窗口不够」,而是:重复 key 浪费预算、中间字段被忽略、模型在超长数组里数错长度、输出截在 64K/128K 上限、账单按输入全额跳。正确顺序是裁 → 校验 → 再喂。
{
"name": "longContextPack",
"description": "送进 1M 窗口之前的数据包:只放已校验、已裁剪的 JSON",
"parameters": {
"type": "object",
"additionalProperties": false,
"properties": {
"task": { "type": "string", "enum": ["align_fields", "diff_versions", "extract_errors"] },
"schemaId": { "type": "string", "description": "稳定 Schema ID,不要贴整份巨型 schema 原文" },
"focusPaths": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": { "type": "string", "description": "JSONPath,例如 $.paths./v2/orders.post" }
},
"payload": { "type": "object", "description": "已经过语法校验与体积裁剪的对象,不要塞原始日志字符串" },
"tokenBudget": { "type": "integer", "minimum": 1000, "maximum": 1000000 }
},
"required": ["task", "schemaId", "focusPaths", "payload", "tokenBudget"]
}
}
把这份包丢进 JSON 工具箱做本地语法校验,用 JSONPath 抽出 focusPaths,再用 JSON Diff 对比两个版本的 payload。模型看到的应该是裁过的对象,不是 20MB 的 .json 文件原文。换 GPT / Claude / Gemini 只换模型字符串,包的字段名不该变。
现在该怎么用
- 先数 token,再决定塞:系统提示、工具 Schema、历史、附件分开估。GPT-5.5 要把推理预留算进去;Gemini 要把视频 / PDF 页数算进去。超预算就切,不要赌「应该还放得下」。
- 重复前缀走缓存:System + tools 几乎每次都一样,就该 prompt cache / Context Caching。1M 窗的第一笔贵在输入;缓存命中后,长窗才变得可日常用。
- 输出用 Structured Output,不要写「请输出 JSON」:OpenAI 用
response_format.json_schema,Gemini 用responseMimeType+responseJsonSchema,Claude 用工具或预填约束。窗口再长,松提示词照样会多一个字段、少一个 required。 - 超过你测过的有效带,就检索,不要硬塞:自己的多针没过 256K,就别把 700K 日志当全文理解。JSONPath 抽出错误码和时间戳,比让模型在海里游泳便宜。
- 按输出上限拆回答:Gemini 约 64K、GPT/Claude 约 128K。要一份 200K 的 JSON 报告,分片 + 每片 Schema,不要指望一轮写完。
- 本地夹具过了再打 API:同一份 payload 在浏览器里跑 JSON 校验 和 Diff。数据不上传,和上线前对 REST 契约是同一思路。
常见问题 FAQ
1M Token 等于多少字?
没有固定换算。英文大约 75 万词;中文大约 50–80 万字,视标点和混排英文而定。JSON、代码、表格会明显更「吃」token。不要用「100 万字」做容量规划,用各家 tokenizer 对真实样例计数。
GPT、Claude、Gemini 谁的 1M 窗最好用?
取决于任务。满窗多针推理,公开评测里 GPT-5.5 经常排在前面;要拒答而不是编造,Claude 4.7/4.8 更稳;要便宜地读很多、写一张短 JSON 表,Gemini 3.7 Flash 的 Intro 价最合适。没有「窗口数字最大就赢」。
有了 1M 窗口还需要 RAG 吗?
需要。1M 适合稳定、有界、每次都要引用原文的材料。语料每天变、重复查询多、或你测过有效窗远小于 1M 时,检索仍然更便宜、更好更新。长窗和 RAG 是互补,不是替换。
ChatGPT / Claude.ai 网页也能用满 1M 吗?
不一定。API 的 gpt-5.5 约 1.05M,Codex 产品面常见 400K;Claude 在部分云市场仍是 200K。以你正在用的那个产品的模型卡为准,不要把 API 文档抄进聊天产品的预期。
Gemini 是不是已经 2M 或 10M 了?
2026 年 9 月,gemini-3.7-flash 和 gemini-3.1-pro 的公开文档写的是 1,048,576 输入。2M / 10M 常见于更早的实验档、第三方聚合页或未 GA 变体。写进合同和配额表时,用 Google 当前模型卡,不要用博客标题。
把整份 JSON 塞进 1M 窗,还要 Schema 吗?
要。窗口只增加可见范围,不约束输出形状。抽取、对齐、Agent 工具参数仍然用 JSON Schema;落地后再做语法和结构校验。模型可以从 GPT 换成 Gemini,字段名和 required 不该变。
总结
1M Token 是 2026 年旗舰 API 的对齐广告:GPT-5.5、Claude 4.6/4.8、Gemini 3.7 都能把约 100 万 token 写进限额表。它的用处是一次推理里同时看见整仓、长文档或裁过的大 JSON,不是免费记忆,也不是「塞满就理解」。有效窗往往在 128K–500K;满 1M 当容量,不当理解力。输出上限、推理是否占窗、200K 之后贵不贵,才是选型字段。
对开发者,作业不是追下一档「2M」传闻,而是把送进窗口的材料写成能过 Schema 的包:JSONPath 裁路径,Diff 对版本,校验过再打 API。相关的 Structured Output 和 Tool Calling,本站已经写过;这篇只补上下文窗口这一侧的读法。