知识截止时间是这样一个日期:超过它之后,模型就不再具有参数化知识。截止时间之后出现的库、API 和事件,如果没有把相关文档作为上下文知识加载进来,就很容易诱发编造。每个模型版本都有自己的知识截止时间。
知识截止时间源于模型的制造方式:训练会把某个时间点的文本快照固化进模型的参数,之后参数便被冻结。模型并不知道自己的知识存在边界——当你询问截止时间之后的事物时,它不会拒绝,而会根据自己知道的最相近内容进行外推。这正是陷阱隐蔽之处:针对旧版库写出的代码看起来很可信,往往也能编译,却会在发生变化的部分出错。
解决办法始终相同:把最新信息放入上下文。加载更新日志,指向已安装版本的类型定义,或让智能体从网页读取文档。上下文中真实存在的信息,永远优先于参数中根本不存在的知识。
用法:
“它一直在写 v3 SDK 的语法——我们已经用 v5 了。”
“v5 发布于知识截止时间之后。把 v5 的更新日志作为上下文知识加载进来,否则它会继续依据较旧的参数化版本进行编造。”