上下文知识是智能体此刻可以直接从上下文中读取的事实,例如用户任务、智能体已经读入的文件、工具结果,以及会话开始时加载的 AGENTS.md 内容。它与参数知识相对:参数知识从模型参数中回忆,上下文知识则直接从上下文窗口读取。当智能体依据上下文知识工作时,幻觉会少得多——答案就在眼前,而不是从模糊的记忆中勉强打捞出来。
在这两类知识中,只有上下文知识受你控制。模型参数已经固定,因此要让模型掌握它原本缺少的信息——内部 SDK、在知识截止日期之后发布的库,或昨天刚作出的决定——唯一办法就是把信息放进上下文。大量实际的 AI 编码工作都可以归结为这一件事:在模型需要事实的那个时刻,把正确事实放到它面前。
当上下文知识与参数知识冲突时,通常是上下文知识占上风。粘贴当前 API 文档后,模型会遵循文档,而不是沿用对旧版 API 的过时记忆——不过旧版本仍可能渗透出来,尤其是在长会话进行到后段时。如果文档明明已经加载,智能体却不断退回旧模式,说明参数知识正在越过上下文知识产生影响;重新强调修正内容,或把它移动到更靠近当前任务的位置,通常会有所帮助。
与参数知识不同,使用上下文知识需要付出成本。加载进窗口的所有内容都会消耗 Token,并争夺模型的注意力预算,因此加载得更多并不一定更好——目标是把相关事实放进窗口,而不是把所有事实都塞进去。
只有在需要与“参数知识”对照时才使用“上下文知识”这个术语;其他情况下直接说“上下文”即可。
避免:称它为“工作记忆”。上下文知识指当前窗口中的内容;记忆系统则负责把跨会话内容带入窗口。两者处于不同层级,不要混为一谈。
用法:
“为什么我粘贴文档后它能准确使用 API,不贴时却开始编造?”
“有文档时,它使用的是上下文知识——相当于照着页面读取;没有文档时,只能依赖参数知识,那些不常见的端点就会变得模糊。”