上下文窗口对比:10 款 AI 编程工具实测(2026)
Gemini 2.5 Pro 的 1M、Claude Sonnet 的 200K、GPT-5 Codex 的 400K——上下文窗口数字很大,但真正决定工作体验的是 agent loop 的 compact 策略。
「Gemini 2.5 Pro 上下文 1M token,是 Claude Sonnet 200K 的 5 倍——所以它写代码更强?」
这是新手最容易踩的坑。纸面上下文窗口 ≠ 实际可用上下文——AI 编程工具的真实工作体验,是「模型上下文 × agent loop 的 compact 策略 × attention 衰减」三者的乘积。
这一篇用 10 款工具的真实工作场景对比上下文窗口,告诉你 1M 跟 200K 的差距实际有多大。
本章目标:你会按真实工作流的上下文需求选工具,不被纸面数字误导。
1. 上下文窗口到底装什么
flowchart TB
Window["上下文窗口(200K - 1M token)"] --> A["你的 prompt<br/>(几百 token)"]
Window --> B["项目记忆<br/>CLAUDE.md / AGENTS.md / rules<br/>(几千 token)"]
Window --> C["agent 读进来的文件<br/>(几万 - 几十万 token)"]
Window --> D["agent 自己的思考 / 输出<br/>(几千 - 几万 token)"]
Window --> E["历史对话<br/>(每次问答累加)"]
Window --> F["MCP / 工具调用结果<br/>(命令输出、网页抓取)"]
200K 上下文典型分配:
- 项目记忆:5K
- 当前 task 描述:1K
- agent 读进来的相关文件:50-150K
- agent 思考 + 输出:20-50K
- 工具调用结果:累加
实际工程中,agent 跑长任务,上下文很快被填满——这时候模型要么开始忘前面的内容,要么 agent loop 触发 compact(自动摘要老的部分给新的腾空间)。
2. 10 款工具的默认上下文
| 工具 | 默认模型 | 标称上下文 | 实际可用* | 长任务 compact 策略 |
|---|---|---|---|---|
| Claude Code | Claude Sonnet 4 | 200K | 160-180K | 自动 compact(/compact 触发) |
| Codex CLI | GPT-5 / Codex | 400K | 320-360K | session 切换 + AGENTS.md 跨 session 持久化 |
| Cursor | 多家 router | 200K-1M(视模型) | 视模型 | Composer 多步 + 文件 indexing |
| GitHub Copilot | GPT-5 / Claude / Gemini | 200K-1M(视模型) | 视模型 | session-level compact |
| Gemini CLI | Gemini 2.5 Pro | 1M | 900K-1M | 大窗口 + 不需要频繁 compact |
| Windsurf | SWE-1.5 / GPT / Claude 等 | 200K-1M(视模型) | 视模型 | Memories 跨 task 持久化 |
| Antigravity | Gemini 系 | 1M | 900K-1M | 大窗口 + Artifacts |
| OpenCode | 视你接的 LLM | 视模型(最大 1M) | 视模型 | 多 provider 切换 |
| Hermes Agent | 视你接的 LLM | 视模型 | 视模型 | 记忆系统 + recall |
| OpenClaw | 视你接的 LLM | 视模型 | 视模型 | 多 agent 协作分担上下文 |
*实际可用:扣除项目记忆、系统 prompt、工具调用开销等之后,留给"读代码 + 思考"的真实空间。
3. 1M 上下文 vs 200K 实际差异
举三个具体任务看差距。
任务 A · 读一个中型项目全代码 + 全局 refactor
中型项目(约 50K 行代码 ≈ 250K-400K token):
- Gemini CLI / Antigravity(1M):一次性吃下整个项目,agent 全局把握,refactor 不掉信息
- Claude Code / Cursor(200K):必须分批读 + 自动 compact,可能遗漏跨文件依赖
- Codex(400K):够装大部分中型项目,少数巨大项目需要分批
这个任务上 Gemini CLI 真有优势——但代价是 Google 生态绑定 + 模型口味不一定对你胃口。
任务 B · 修一个 bug
bug 修复任务(涉及 3-10 个文件,约 5K-30K token):
- 200K 上下文够装 10 倍冗余——200K 跟 1M 在这个任务上没有差距
- 决定性因素是 agent loop 工程质量(找文件准不准、推理深不深)
任务 C · 跑 4 小时的长 refactor
长任务(agent 持续推进 4 小时,累加思考 + 工具调用约 300-500K token):
- 200K 上下文:必须频繁 compact,老的细节会丢
- 400K(Codex):能装更长,但仍需中途 compact
- 1M(Gemini / Antigravity):几乎不需要 compact,长任务连续性最好
实际工程经验:短任务(< 30 分钟)所有工具差距小;长任务(> 2 小时)1M 窗口优势显著。如果你每周跑 1-2 次长任务,上下文窗口是重要选型维度。
4. 为什么上下文窗口不是唯一决定因素
flowchart LR
A["纸面上下文"] --> B["实际可用"]
B --> C["attention 衰减<br/>(窗口越大,远处 token 关注度越弱)"]
C --> D["agent loop 工程<br/>(compact 触发时机、文件优先级)"]
D --> E["模型自身能力<br/>(推理 / 编程 / 工具调用)"]
E --> F["真实工作体验"]
1M 上下文的代价:
- attention 衰减——窗口越大,模型对最早部分的关注度越低("针在草垛里"问题)
- 计算成本——同样问题用 1M 上下文跑,token 消费比 200K 高数倍
- 延迟——大窗口推理更慢
Claude Sonnet 200K + 强 agent loop 和 Gemini 2.5 Pro 1M + 自动管理 是两种不同设计哲学:
- Anthropic 选择"窗口够用 + agent 工程把效率拉满"
- Google 选择"窗口给到最大 + 让用户自己怎么用都行"
哪个更好取决于你的工作流。
5. 三类用户的推荐
A 类 · 长任务 / 大型项目用户
特征:单个项目代码量 > 50K 行;常跑 2 小时以上长任务。
推荐 Gemini CLI 或 Antigravity(Gemini 2.5 Pro 1M 上下文)。
B 类 · 短任务 / 中小项目用户
特征:项目代码量 < 30K 行;任务多在 30 分钟内完成。
任何 200K+ 上下文的工具都够。按其它维度(价格 / 模型口味 / 工作位置)选。
C 类 · 模型口味敏感用户
特征:对 Claude 的紧凑表达或 GPT 的逻辑结构有明确偏好。
模型偏好优先于上下文窗口。Claude Code(200K Claude)或 Codex(400K GPT-5)按你喜好选。
6. 三个常见误区
误区 1 · 上下文越大,AI 越聪明
错。上下文窗口是容量,不是能力——它决定你能给 AI 多少信息,不决定 AI 怎么用这些信息。Claude Opus 200K 上下文里完成的复杂推理,可能比 Gemini Pro 1M 上下文里的浅推理更有价值。
误区 2 · 1M 上下文意味着我可以一次性丢 1M token
错。实际推荐占用率 ≤ 70%(即 700K)。超过这个比例后,attention 衰减显著,模型开始遗漏中间内容。「针在草垛」(needle-in-haystack) 测试是衡量这个的标准。
误区 3 · 上下文窗口在所有任务上都重要
错。bug 修复、单文件 refactor、写新功能等 80% 日常任务在 200K 上下文里完全够。只有跨文件全局 refactor、读巨大项目、长会话连续性强的任务才用得到 1M。
7. 常见问题
Q1 · Claude Code 怎么处理超出 200K 的项目?
通过 agent loop 工程:
- 不一次性读所有文件,按需要 grep / glob 精准读相关部分
- 触发
/compact自动摘要老对话腾空间 CLAUDE.md多级合并把项目元信息凝练,不占太多 token
实际工作中,200K 上下文的 Claude Code 可以处理 100K-300K 行代码的项目——agent loop 工程比纸面窗口更重要。
Q2 · Gemini CLI 的 1M 上下文真的能用满吗?
可以但要小心 attention 衰减。建议:
- 一次性占用 ≤ 700K(70% 阈值)
- 关键信息放上下文前半(attention 更强)
- 长会话超过一定长度后开新 session
Q3 · Codex 的 400K 上下文是什么模型?
GPT-5 默认上下文是 400K(GPT-5-Codex 编程优化版同上)。比 Claude Sonnet 200K 多一倍,但比 Gemini 1M 少。对大部分编程任务足够。
Q4 · 模型上下文窗口和工具上下文窗口是一回事吗?
是。工具上下文窗口受限于背后模型——Cursor 用 Claude 时窗口是 200K,用 Gemini 时是 1M。
Q5 · 上下文窗口大对账单影响多大?
显著。token 计费按"输入 + 输出 token 数"算,输入 1M 上下文意味着每次 LLM 调用成本是 200K 的 5 倍。订阅档(如 Cursor Pro)通常有 token 月配额,大窗口会更快用完。