什么是 AI 模型的上下文窗口

上下文窗口是 AI 模型在一次对话中「看到」并记住的文本量:你的问题、聊天历史、上传的文件以及模型的回复。打个比方,这就像人的工作记忆或桌上的一本便签——一旦某条记录从上面掉下去,模型就完全不知道它存在过。窗口大小决定了一整份合同、一个月的客户往来记录,或整个项目的代码能否装进一次对话——以及这会给企业带来多少成本。下文用通俗的语言说明:什么是上下文窗口、如何用 token 衡量,以及为何无论对开发者还是对企业主,选择 AI 工具时都要关注这一点。

通俗定义
上下文窗口(context window)是模型在一次请求中能处理的最大 token 数量。token 既不是词也不是字符:它是分词后的文本片段。平均而言,一个 token 大约对应 3-4 个字符或词的一部分;「programming」可能占 2-3 个 token。不必手动数 token,这只是一个数量级的参考。
模型不会自行「记住」过去的会话——就像一个没有长期记忆的员工,每次对话都从零开始。它在回答时所知的一切,都是你在当前请求中、在窗口限制内传入的内容。若对话或文档超过上限,较早部分会被截断,或需用单独技术压缩(RAG、摘要、分块——详见下文)。
实际上下文如何构成
以下部分主要面向负责搭建集成或想了解技术细节的读者。如果你是企业主,只想了解要点,可以直接跳到「这对企业主意味着什么」。
典型 API 请求中的上下文包括:
- System prompt - 给模型的指令(角色、回复格式、约束)。
- 消息历史 - 聊天中先前的 user 与 assistant 轮次。
- 附件 - PDF 文本、仓库代码、知识库片段。
- 模型输出 - 许多模型中,回复也计入单次调用的总上限。
逻辑很简单:input + output ≤ 上下文窗口大小(部分模型分别限制 input 与 output,但本质相同 - 每次调用有上限)。
128K 窗口示例:
| 组成部分 | 大约体量 |
|---|---|
| System prompt | 500-2,000 token |
| 对话历史(20 条消息) | 5,000-15,000 |
| 上传文档 | 80,000 |
| 模型回复 | 最多 8,000-16,000 |
若总和超限,API 会报错,或平台自动截断历史开头 - 取决于客户端。
输入上下文与输出上下文
另一个主要与开发者相关的细节:以下两个概念常被混淆。
- Input context - 模型接受的 token 数(提示词 + 历史 + 文件)。
- Max output tokens - 单次调用回复长度的上限(独立 API 参数,如
max_tokens)。
1M 窗口的模型 input 可接近百万 token,但单次回复仍可能限制在例如 8K-64K token。生成长报告有时需要多次顺序请求或流式续写。
部分定价档对 long-context 请求(超过阈值,如 200K input)收费更高 - 反映更大的推理负载。
这对企业主意味着什么
即使你自己不写代码,上下文窗口的大小也会直接影响与任何部署 AI 聊天机器人、员工助手或文档分析工具的企业相关的三件事。
- 成本。 大多数服务商按处理的每个 token 收费——无论是输入(你发送的内容)还是输出(模型生成的内容)。每次请求携带的历史记录、文档和指令越多,月底账单就越高。一个每次回答客户问题都要重新加载整个产品目录的助手,成本会明显高于只检索并传递相关片段的助手(这正是 RAG 的作用——详见下文)。
- 回答质量。 大窗口并不能保证机器人对合同或对话的每个部分都同样仔细:模型往往对长文本中间部分的事实把握较弱。对企业而言,这是一种风险——即使一份冗长文档技术上「装得下」,机器人也可能漏掉其中一条重要条款。
- 套餐与模型选择。 不同服务商的单 token 价格不同,触发更贵的「长上下文」档位的阈值也不同。如果你的场景是简短的客服回复,为百万 token 窗口的模型付费就是浪费;如果场景是分析大型合同或维持长期咨询记录,为节省成本而选小窗口,则意味着要么削减功能,要么被迫截断与客户的往来记录。
实用建议: 在与供应商或外包团队敲定 AI 方案的计费方案之前,先请对方估算你的典型场景——客户往来、文档、知识库——中一次请求实际会消耗多少 token。这能保护你的预算不被多收费,也有助于选到真正胜任你实际任务的模型,而不只是演示版本表现好的模型。
为何需要大上下文窗口
当单次请求需承载大量相关信息时,大上下文对开发者和使用现成 AI 助手的企业都很有用:
- 文档分析 - 合同、报告、数十页的商业提案,无需事先压缩。对企业而言:经理或律师可以把整份合同交给机器人,一次请求就获得风险摘要。
- 代码工作 - 多个项目文件、堆栈跟踪与修改历史放在同一提示中。与开发团队和 IT 外包商相关。
- 长对话 - 支持与咨询场景需要完整线程,而非仅最近 10 条消息。对企业而言:客户不应该被要求重复一周前已经在聊天中说过的话。
- Agentic 场景 - 智能体在单会话中累积观察、工具调用(CRM、邮件、日历)与中间结果——例如在自动化处理客户请求时。
小窗口(4K-32K)足以应对短任务:工单分类、表单字段抽取、段落翻译、简单 FAQ 机器人。涉及文档、代码以及实时客户对话的企业场景通常瞄准 128K 及以上。
2026 年的典型规模
到 2026 年中,市场分为几档:
| 档位 | 窗口大小 | 示例模型 | 典型任务 |
|---|---|---|---|
| 紧凑 | 8K-32K | 轻量本地模型、旧 API | 聊天、分类 |
| 标准 | 128K-200K | GPT-5.5、Claude Sonnet 5、Gemini 3.1 Pro | 代码、文档、智能体 |
| 扩展 | 1M-2M | GPT-5.6、Claude Fable 5、Gemini 3.5 Flash | 大型仓库、语料 |
上下文增长快于「有效」长度:模型技术上可接受百万 token,但在最长尾部质量可能下降(「lost in the middle」效应——模型对长上下文中间部分的信息利用较差)。对企业而言,这意味着一味追求最大窗口未必是正确的决定——更重要的是实测模型在你的文档和对话上究竟表现如何。大窗口不能替代良好架构,而是扩展能力。
限制与变通
即便 2M 窗口,也不应把所有内容塞进一个提示——对企业而言,这不仅是技术问题,也是成本问题:
- 成本 - input 按 token 计费;每次请求百万 token 会迅速抬高账单,尤其在请求量大的情况下。
- 延迟 - 长上下文在 GPU 上处理更久,客户等待回复的时间也更长。
- 质量 - 相关事实应明确提供,而非「埋」在 500 页中间:这样模型回答更准确,消耗的 token 也更少。
窗口不足或需省钱时,开发者常用的实用模式:
- RAG(检索增强生成)- 在企业知识库中检索相关片段,只把这些片段注入提示,而非整个知识库。
- 摘要 - 用单独模型调用压缩旧消息或文档章节。
- 分块 - 将文本切块并聚合结果。
- 滑动窗口 - 历史中仅保留最近 N 条消息加简短过往摘要。
生产环境中常组合使用:企业知识库事实用 RAG + 适度对话历史 + 128K-1M 模型处理「重」请求。相比一味选最大的模型「以防万一」,这种组合通常能为企业带来更好的性价比。
如何按任务选择窗口大小
| 任务 | 建议下限 | 说明 |
|---|---|---|
| FAQ 机器人、意图分类 | 8K-16K | 历史短,文档走 RAG |
| 单仓库 Copilot | 128K-1M | 取决于代码库大小 |
| 法律 / 合规审查 | 200K+ | 长 PDF、交叉引用 |
| 多模态文档 | 1M+ | 文本 + 图像消耗更多 token |
选模型前先估算 真实 input 体量:统计典型请求的 token(tiktoken、API 分词器或提供商的 count_tokens),并为回复与历史增长预留 20-30% 余量。
如果你是企业主,把选型交给外包方或服务商,值得问三个问题:
- 我这个场景下,一次典型请求平均消耗多少 token——按我目前的请求量,这会花多少钱?
- 如果对话或文档超过窗口限制会发生什么:客户会收到错误提示,还是已经部署了 RAG 和摘要机制?
- 该方案是否真的在我的文档和典型请求上测试过,而不仅仅是在演示样例上?
这些问题能帮你选到真正以合理价格解决企业实际问题的方案,而不是最贵或最「时髦」的那个。
总结
上下文窗口是 AI 模型在一次请求或对话中的「工作记忆」。以 token 计量,包含提示词、对话历史、上传文档,通常还包括回复空间。大窗口(128K-2M)可在不频繁截断的情况下分析长合同、往来记录与代码库,但不能替代 RAG、摘要与成本控制。
对开发者而言,这是一个架构参数。对企业主而言,这是一个预算与服务质量参数:它决定了企业 AI 助手的成本、它是否会在与客户的长对话中遗漏重要细节,以及你真正需要哪种套餐——而不是服务商宣传材料里听起来最气派的那种。选模型或选外包方时,不要只看规格表上的数字,还要看真实成本、长上下文质量,以及方案在你实际任务上的验证程度。
如需开发、AI 部署或网站运维方面的帮助 - 请与我联系。
常见问题
token 与词有何不同?
Token 是模型分词后的文本单位。一个词可能是一个或多个 token;标点与空格也计入。俄语与英语平均 1000 token ≈ 750-900 词 或 3000-4000 字符,具体因语言与模型而异。估算请用具体提供商的分词器,而非 Word 词数。
上下文窗口大小如何影响我企业的 AI 方案成本?
大多数服务商对输入和输出都按 token 收费,超过某个阈值(例如 200K input)后会切换到更贵的「长上下文」档位。每次请求携带的历史记录、文档和指令越多,账单就越高——尤其是在客户咨询量大的情况下。上线前,请外包方基于你的真实场景(而非演示样例)估算典型的 token 消耗量。
文本超过上下文窗口会怎样?
取决于平台:API 可能返回「context length exceeded」、截断历史 开头(最早消息先丢)或提供压缩。模型不会「读到」窗口之外 - 超限信息对它不存在。对策:RAG、摘要、分块或更大窗口的模型。
上下文越大回答越好吗?
不一定。大窗口提供传递更多数据的 能力,不保证同等利用好全部内容。极长输入时,中间事实的准确度常下降,成本与延迟上升。更好是传递相关上下文(检索或结构化提示),而非「以防万一」塞入整个语料。
如何估算文档占多少 token?
使用官方工具:OpenAI 兼容模型用 tiktoken,Anthropic tokenizer,Gemini 用 Google AI Studio,或提供商 SDK 的 count_tokens。粗算:1 页文本(约 500 词)约 650-800 token;代码与表格因特殊符号可能每字符产生更多 token。
普通聊天机器人需要 1M token 模型吗?
典型短回复与 FAQ 的聊天机器人 - 不需要,32K-128K 加知识库 RAG 即可。1M+ 适用于大型 PDF 分析、整个仓库、长 agentic 会话,或无法在不损连贯性的前提下预先切分数据。先在生产中测量真实请求大小 - 往往 128K 加合适架构已足够。
本文术语
context window — maximum text a model can process at once — 模型一次能处理的最大文本量
RAG — Retrieval-Augmented Generation — 检索增强生成
system prompt — hidden instructions that steer the model for a task — 引导模型行为的隐藏系统指令
long-context — model that can take a very large prompt in one go — 一次能接受很长提示词的模型
agentic — agent-like autonomous multi-step behavior — 类似代理的多步自主行为
CRM — Customer Relationship Management — 客户关系管理
GPU — Graphics Processing Unit — 图形处理器
tokenizer — splits text into model tokens