上下文是智能体当前能够访问的相关信息。它是一个抽象概念:既不是模型实际看到的原始输入——那是上下文窗口;也不是持续运行的历史——那是会话;而是智能体掌握的、与当前任务有关的信息。“把某物加载进上下文”就是让它成为这组信息的一部分;“上下文工程”则是筛选和组织这些信息的工作。
这三个术语可以清楚地区分:
区分它们很重要,因为上下文衡量的是质量,而不是数量。上下文窗口可能几乎装满,上下文质量却依然很差——其中有数千个 Token 的过时工具输出,却没有任何内容与当前任务有关。反过来,窗口也可能几乎为空,上下文却非常优秀:只包含决定当前任务的那一个类型定义。
大多数日常失败都能追溯到上下文。当智能体编造 API、违背既有决定或猜测 schema 时,首先要问的是:它当时的上下文里有什么?通常是相关事实从未被加载,或被注意力退化淹没。解决办法是筛选:加载任务需要的内容,把不需要的内容留在外面。
用法:
“它一直在编造类型中不存在的字段。”
“类型文件不在上下文里——它只是在读取调用位置并进行猜测。先把定义读进来。”