技术

Context Window

LLM 一次能够考虑的最大文本量,以 token 计量,也是你为什么不能简单地把整个知识库粘进每个 Prompt 的原因。

最近审阅: 2026-06-02 审阅人Kevin Riedl wiki ↗

上下文窗口是模型对单次请求的工作记忆,以 token 计量(一个 token 大约是四分之三个单词)。所有内容都必须装进其中:你的系统 Prompt、对话历史、你粘进去的任何文档,以及模型生成的回答。一旦超出窗口,模型实际上就看不到溢出的部分。

即使窗口很大,“直接把所有东西放进 Prompt"也会因三个原因而失败。第一,成本:大多数提供商按 token 计费,所以把一份巨大的文档塞进每次调用会让账单成倍增长。第二,延迟:更多 token 意味着更慢的响应。第三,也是最不明显的,质量,模型对埋在很长上下文中间的信息关注得不那么可靠,所以更多并不总是更好。一个聚焦的 Prompt 往往胜过一个臃肿的。

这正是 RAG 存在的原因。你不是把整个语料库倒进窗口,而是只为每个问题检索出少数相关的文本块,并只发送这些。你获得了大型知识库的好处,却无需为在每次请求中处理全部内容而付费。上下文窗口是预算,检索是你如何明智地花掉它。

实用的要点:把上下文窗口当作一项带价签的稀缺资源,而不是免费空间。我们在 人工智能 下有意围绕这个预算来设计。

// FAQ

常见问题

常见问题

LLM 在一次请求中能够处理的最大文本量,以 token 计量。系统 Prompt、对话历史、粘贴的文档和生成的回答都必须装进其中。
成本、延迟和质量。更多 token 花费更多、响应更慢,而模型对埋在很长上下文中的信息关注得不那么可靠。一个聚焦的 Prompt 通常胜过一个臃肿的。
RAG 存在就是为了管理它。你不是把整个语料库加载进窗口,而是为每个问题只检索相关的文本块,从而获得大型知识库的好处,却无需每次都为处理全部内容付费。