问:上下文(Context)和上下文窗口(Context Window)什么差别?
这两个概念经常被混用,但其实指的是不同层面的东西:
上下文是指 AI Agent 在执行任务时实际拥有的所有信息,包括系统提示词、用户的对话历史、检索到的文档、工具调用的结果、记忆模块注入的内容等等。你可以把它理解为“Agent 此刻脑子里装的所有东西”。上下文是一个动态的、可以被工程化管理的概念——哪些信息该放进来、什么时候放、怎么组织,这就是现在越来越多人说的 Context Engineering。
上下文窗口则是模型层面的一个硬性限制,指的是模型单次推理能处理的最大 token 数量。比如 128K、200K、1M 这些数字,说的就是上下文窗口的大小。它本质上是一个“容器的容量”。
打个比方:上下文窗口是你厨房操作台的面积,上下文是你实际摆在台面上的食材、调料、菜谱和工具。台面就那么大(上下文窗口有上限),但你放什么上去、怎么摆放(上下文的管理)决定了你能不能高效做菜。
在 Agent 开发中,一个核心挑战就是:Agent 需要的上下文往往远超上下文窗口的容量。对话越来越长、工具调用结果越来越多、检索的文档越来越大——这些都在消耗上下文窗口的空间。所以才需要各种策略来管理:摘要压缩历史对话、选择性检索而不是全量灌入、及时清理不再需要的中间结果等等。
简单总结就是:上下文(Context)是“内容”,上下文窗口(Context Window)是“装内容的容器”。做 Agent 工程的核心功夫之一,就是在有限的“上下文窗口”里塞进最有价值的“上下文”。
点击图片查看原图