GitHub Copilot 里的 GPT-5.4,到底是 1M context 还是只有 128K?
最近在使用 OpenClaw 接 GitHub Copilot 的 GPT-5.4 时,我注意到一个很容易让人困惑的现象:UI 里显示的 token budget 是 128K,但网上又能查到 OpenAI 官方说 GPT-5.4 支持 1M tokens of context。
那问题来了:GitHub Copilot 里的 GPT-5.4,真实可用的 context window 到底是多少?
这篇文章我把能查到的公开信息做了一次交叉验证,结论先放前面。
TL;DR
短结论:
- GPT-5.4 模型本体:OpenAI 官方公开能力是 up to 1M tokens of context。
- GitHub Copilot 官方文档:确认 GPT-5.4 已上线,但没有公开写死 numeric context window / max_prompt 数字。
- Copilot 实际接入层:从 GitHub Community 对 Copilot backend models API 的实测来看,GitHub Copilot 体系里很多 GPT-5 系列模型都存在一个现象:
context_window看起来很大- 但 实际
max_prompt只有 128000
- 因此,对
github-copilot/gpt-5.4这类接入来说,最合理的判断是:- 理论模型窗口 = 1M
- 实际在 Copilot / 某些集成中的有效输入上限,很可能仍然是 128K 左右
换句话说,1M 和 128K 这两个数字并不一定互相矛盾,它们描述的可能不是同一层限制。
为什么会出现两个不同的数字?
这类问题通常是因为大家把三个不同概念混在一起了:
- Model context window
- Max prompt tokens
- Max output tokens
很多产品页面、文档甚至 API,会把它们同时暴露出来,但用户最直觉看到的往往只有 “context window” 这个数字,于是容易误以为:
既然模型支持 1M,那我就应该能一次性喂进去接近 1M 的 prompt。
实际上不一定。
更精确一点说:
- context window:模型总上下文容量
- max prompt:你单次请求里最多能塞进去多少输入 token
- max output:模型最多能吐出多少输出 token
如果平台在接入层做了限制,那么就可能出现:
- 模型本体支持 1M context
- 但平台实际只允许你塞 128K prompt
这恰恰就是 GitHub Copilot 体系里最值得注意的地方。
证据 1:OpenAI 官方明确说 GPT-5.4 支持 1M context
在 OpenAI 的官方文章 Introducing GPT-5.4 中,有一句非常关键:
“It supports up to 1M tokens of context ...”
这条信息的可信度最高,因为它来自模型提供方本身。
所以如果问题是:
“GPT-5.4 这个模型本体的公开 context window 是多少?”
答案就是:1M。
这也是很多二手文章、媒体报道会直接引用的数字来源。
但是,这里要强调一句:
模型能力上限,不等于每个接入方都会无损暴露全部能力。
这点在企业接入、代理层、IDE 集成、第三方平台中都很常见。
证据 2:GitHub 官方确认 GPT-5.4 已进入 Copilot,但没给 token 数字
GitHub 官方 changelog GPT-5.4 is generally available in GitHub Copilot 已经明确:
- GPT-5.4 已在 GitHub Copilot rollout
- 可在 VS Code、Visual Studio、JetBrains、Xcode、Eclipse、GitHub CLI、Copilot Coding Agent 等环境中使用
同时,GitHub Docs 的这些页面也都能确认 GPT-5.4 的存在:
- Supported AI models in GitHub Copilot
- AI model comparison
- Hosting of models for GitHub Copilot Chat
但关键点在于:
这些 GitHub 官方文档,至少在我检索时,都没有公开写出 GPT-5.4 在 Copilot 中的 context_window、max_prompt、max_output 的具体 token 数值。
也就是说,GitHub 官方给了你:
- 模型可用性
- 使用场景
- 托管方式
- 计费 multiplier
但没有给你最容易引发误解的那组 limits。
这正是很多用户会困惑的原因:模型名可选到了,但配套的真实 token 限制信息不透明。
证据 3:GitHub Community 讨论显示,Copilot API 里常见“大 context + 小 max_prompt”
在 GitHub Community 的一个讨论里,有开发者直接查询了 Copilot backend 的 models API,并总结出这样的现象:
- 某些模型的
context_window可以是 400K - 但
max_prompt只有 128K - 用户实际遭遇的报错,也是:
prompt token count exceeds the limit of 128000
这个讨论里举到的例子主要是 GPT-5、GPT-5.1、GPT-5.2 等模型,而不是直接贴出 GPT-5.4 的官方 limits 文档。但它至少说明了一件非常重要的事实:
在 GitHub Copilot 的模型接入体系里,“声明的大窗口”和“用户真实可喂的 prompt 上限”并不总是相同。
这就让 128K 这个数字不再像一个偶然 bug,而更像是 Copilot integration 的有效输入限制。
如果你的工具链里显示:
tokens 0/128k
那它很可能显示的是:
- effective prompt budget
而不是:
- 模型理论上的 absolute context ceiling
为什么 OpenClaw / 其他工具会显示 128K?
如果你在上层工具里看到的是 128K,通常有三种可能:
1)工具读取的是 provider/model registry 的保守值
很多 agent framework 不会直接显示“模型宣传页数字”,而是使用:
- 自己维护的 model registry
- provider 返回的已知稳定限制
- 本地配置里写死的
contextWindow
这种做法是合理的,因为从工程视角来看:
宁可按稳定可用的 128K 估算,也不要盲信 1M 后导致请求失败。
2)工具显示的是可用 prompt cap,而非总 context
一些 UI 会把:
- 实际允许输入的 tokens
直接展示成上下文预算。
这对用户来说更实用,但会和模型宣传口径不一致。
3)provider 侧本身做了 routing / policy / mode-specific limits
即使底层模型支持更大窗口,不同入口也可能有不同策略,例如:
- CLI 一套限制
- IDE Chat 一套限制
- Agent mode 一套限制
- Edit mode 一套限制
所以同一个“GPT-5.4”,在不同产品形态下看到的限制不一定一样。
一个更准确的理解框架
如果以后再看到某个模型写着 “1M context”,建议不要立刻把它理解成:
“我现在就能稳定喂 1M 的 prompt。”
而应该分成两层来看:
Layer 1:模型规格(theoretical model capability)
- 例如 GPT-5.4 = 1M context
Layer 2:平台接入规格(effective serving limits)
- 例如 Copilot 某接入口 = 128K max_prompt
对于开发者真正重要的,往往不是 Layer 1,而是 Layer 2。
因为决定你代码、日志、文档、历史消息能否一次塞进去的,是:
- 实际 prompt cap
- 而不是 marketing-friendly 的 max context window
那么,GitHub Copilot 里的 GPT-5.4 应该怎么表述才更准确?
我认为最不容易误导用户的表述应该是下面这种:
GitHub Copilot 已支持 GPT-5.4。OpenAI 官方将 GPT-5.4 定义为 1M context 模型;但 GitHub Copilot 官方当前未公开 GPT-5.4 的 numeric limits。结合 Copilot API 的社区实测与实际工具表现,Copilot 集成中的有效输入上限很可能仍接近 128K。
这个说法有几个好处:
- 不否认 OpenAI 的 1M 官方规格
- 不把 1M 误说成 Copilot 里必然可用的 prompt 上限
- 也不把 128K 误说成模型本体的极限
它把“模型能力”和“平台可用额度”清楚地区分开了。
对开发者的实际建议
如果你在 GitHub Copilot、Copilot CLI、OpenClaw 或类似接入里使用 GPT-5.4,我建议这样处理:
建议 1:按 128K 级别做 prompt 设计
在 GitHub 官方没公开 GPT-5.4 limits 前,工程上优先按 128K 左右预算去设计 是更稳妥的。
例如:
- 不要一次性把整个 monorepo 全塞进去
- 先做文件筛选、摘要、检索再组装 prompt
- 对历史对话做 compaction
- 控制 tool output 的长度
建议 2:把“模型 context”与“产品可用 context”分开记录
团队内部如果要做文档、选型或 benchmark,最好明确写成两列:
| 维度 | 含义 |
|---|---|
| Model context window | 模型理论上限 |
| Effective max prompt | 平台当前实际可用输入上限 |
这样可以少掉很多沟通误差。
建议 3:关注 provider 返回的 limits,而不是只看 marketing 页面
真正影响工程稳定性的,通常是:
max_prompt_tokensmax_output_tokens- 是否按模式区分限制
- 是否存在自动压缩 / compaction / truncation
只看“1M context”很容易做出过于乐观的设计。
最后的结论
回到文章开头那个问题:
GitHub Copilot 里的 GPT-5.4,到底是 1M context 还是只有 128K?
更准确的回答是:
- 如果你问模型本体规格:是 1M。
- 如果你问 GitHub Copilot / 现有集成里用户大概率实际能稳定使用的输入额度:更像是 128K 级别。
所以,这不是“谁对谁错”的问题,而是“你在问哪一层限制”的问题。
对开发者而言,最重要的不是宣传页上写多少,而是:
当前接入层到底允许你稳定输入多少。
在这一点上,现阶段关于 GitHub Copilot GPT-5.4 的最稳妥工程判断,依然应该偏向:
1M theoretical, ~128K effective until proven otherwise.
参考资料
-
OpenAI — Introducing GPT-5.4
openai.com/index/intro… -
GitHub Blog — GPT-5.4 is generally available in GitHub Copilot
github.blog/changelog/2… -
GitHub Docs — Supported AI models in GitHub Copilot
docs.github.com/en/copilot/… -
GitHub Docs — Hosting of models for GitHub Copilot Chat
docs.github.com/en/copilot/… -
GitHub Community — Why can't we fully utilize context_window? (Data from Copilot's own API)
github.com/orgs/commun…