上下文知识
Contextual knowledge
Agent 当前可以直接从上下文中读取的事实——用户的任务、Agent 已读取的文件、工具结果、Session 启动时加载的 Agent.md 内容。它与参数知识相对应:参数知识是从参数中回忆出来的,上下文知识则是从上下文窗口中读到的。Agent 基于上下文知识工作时,幻觉会少得多——答案就在眼前,不必从模糊的记忆中费力打捞。
在这两类知识中,只有上下文知识受你控制。参数已经冻结,因此想把模型欠缺的知识交给它——比如内部 SDK、知识截止时间后发布的库、昨天才作出的决定——唯一办法就是将其放进上下文。大量 AI 编程实践都可以归结为这一点:在模型需要时,把正确的事实摆到它面前。
当上下文知识与参数知识冲突时,通常是上下文知识胜出。粘贴最新 API 文档后,模型会遵循文档,而不是依赖对旧 API 的过时记忆——不过旧版本仍可能渗透进来,尤其是在很长的 Session 后段。如果文档已经加载,Agent 却不断退回过时的模式,那就是参数知识越过上下文知识产生了干扰;重申修正内容,或把它移到更靠近当前任务的位置会有所帮助。
与参数知识不同,使用上下文知识需要付出成本。加载到窗口中的一切都会消耗 Token,并竞争模型的注意力预算,所以加载得越多并不一定越好——目标是让相关事实进入窗口,而不是把所有事实都塞进去。
只在需要与参数知识对比时使用这个术语;其他情况下,直接说上下文即可。
避免使用“工作记忆”——上下文知识是当前窗口里的内容;记忆系统负责把跨 Session 内容送入窗口。二者尺度不同,不要混为一谈。
用法:
“为什么我一粘贴文档,它就能把 API 写对;不粘贴时,它就会编造?”
“有文档时,那是上下文知识——它直接照着页面读取。没有文档时,就只能依赖参数知识,而罕见的端点会变得模糊。”