Gemini 2.5 Pro 宣传 100 万 token 的上下文窗口。你扔进一个 400 页的 PDF,要它按章节总结,结果回答到一半就断了。或者你贴了一整个代码库,回复只引用了前四分之一。
1M 这个数字对输入是真的 — 但输出有另一个、小得多的上限(默认大约 8K token,Gemini 2.5 Pro 开 thinking budget 最多可到 65K)。而且 gemini.google.com 比 AI Studio 或 API 的限制还更紧。大多数”1M 上下文骗人”的反馈,其实是输出上限或选错面板,不是输入被截。
常见原因
按出现频率:
1. 是输出上限,不是输入上限(最常见)
你可以给 Gemini 输入 1M token,但每次回复都有上限 — 默认通常 8,192 token,Gemini 2.5 Pro 加 thinking 最多到 65,536。一本书按章节总结合计 3 万字,这个量级一次回复装不下,不管输入有多少。
如何判断:回复在句子或段落中间戛然而止。模型其实”还知道”,只是输出预算用光了。
2. 消费版比 API 的单消息上限更紧
gemini.google.com 比 AI Studio 或 API 更早截断输出。1M 上下文技术上是有的,但 app 的 UI 层把输出压在 8K token 左右,不管你用什么模型。
如何判断:同样 prompt + 同样文档,app 给的回答比 AI Studio 短。
3. 聊天面板的单消息 token 上限
即使是付费,gemini.google.com 每轮也有隐藏的单消息上限。超长单轮 prompt 会被静默裁剪。
如何判断:把日志贴出来发现 token 数刚好卡在某个圆整数附近(~32K、~100K)就断了。
4. 免费版根本拿不到完整 1M
免费 Gemini 上下文远小于 1M — 大概 32K-100K。1M 是 Pro / AI Studio / API 才有的。
5. 文档被当成图片传了,而不是文字
如果 PDF 是扫描件(没有 OCR 文字层),Gemini 可能把它当图片输入,token 计量完全不同,检索质量也下降。
6. Thinking 模式吃掉了输出预算
Gemini 2.5 Pro Thinking 会写内部推理 token,这些算在输出上限里。一段长推理留给可见回答的空间就少了。
最短修复路径
步骤 1:认真做长上下文,用 API
消费版不是为 1M token 工作负载设计的。要真做长上下文,用 API:
from google import genai
from google.genai import types
client = genai.Client(api_key="YOUR_API_KEY")
with open("long-doc.pdf", "rb") as f:
doc = f.read()
response = client.models.generate_content(
model="gemini-2.5-pro",
contents=[
types.Part.from_bytes(data=doc, mime_type="application/pdf"),
"每章用 200 字总结。"
],
config=types.GenerateContentConfig(
max_output_tokens=65536,
thinking_config=types.ThinkingConfig(thinking_budget=8000),
),
)
显式把 max_output_tokens 调到模型上限附近,再单独给 thinking 预算。
步骤 2:不想写脚本就用 AI Studio
aistudio.google.com
→ 选 Gemini 2.5 Pro
→ 把文档丢进去
→ 右侧 "Run settings" 把 "Max output tokens" 调到 65536
→ 如果有 "Thinking budget" 也调一下
AI Studio 把 API 的旋钮都暴露出来了,做原型免费。
步骤 3:把任务分到多轮
如果非用消费版不可:
第 1 轮:"只总结第 1-5 章。完成后标记一下。"
第 2 轮:"现在总结第 6-10 章。"
第 3 轮:"现在第 11-15 章。"
单轮输出上限只在那一轮生效,分轮做就能覆盖完整内容。
步骤 4:让输出结构化、更短
“每章 200 字摘要”比”全面分析”压缩率高得多。明确指定长度:
对每一章,只输出:
- 标题
- 3 个 bullet(每个最多 15 字)
- 1 句关键引用(最多 30 字)
到第 10 章为止。
紧的结构 + bullet 在同样输出预算下能塞下更多章节。
步骤 5:确认文档是按文字而不是图片被吃进去的
PDF 要看是不是文字 PDF。扫描 PDF 需要先做 OCR(Adobe Acrobat OCR、ABBYY,或者上传成 Google 已经 OCR 过的 Doc)。图片 PDF 信息密度低,token 也吃得多。
步骤 6:确认你的等级
如果是免费 Gemini,你没有 1M 上下文 — 接近 32K。升 AI Pro 或用 AI Studio(免费、上下文更大)拿到真正的窗口。
预防
- 任何 50 页以上的文档,默认 AI Studio 或 API — 消费版适合快查,不适合长文档工作流
- 扫描 PDF 先 OCR 再上传
- 多段总结要逐段指定长度,分多轮跑,不要一次塞全部
- API 调用始终显式设
max_output_tokens— 默认 8K 是”被截断”投诉的主要来源 - 开 thinking 模式时,thinking budget 和 max_output_tokens 分开设置,避免推理吃掉回答