上一篇讲到,模型这一次生成时能读到的全部文字叫上下文。上下文里除了你打的那句话,还可能装着几页搜回来的网页片段,以及一段你看不到的应用指令。
这一篇专门讲这两样东西:它们不是模型的一部分,而是别人加在模型外面的工具和指令。把这层分开之后,很多让人困惑的现象会一下子说得通。
先说一个几乎人人都碰过的现象。同样问“最近有什么值得看的电影”,有的产品给你一串片名加评分,有的却回答“我的知识有时间范围,建议你自己去查”。再比如,某款模型在网页版里能查到今天的天气;你把它下载到自己的电脑上跑,它却一口咬定自己不能联网。同一款模型,为什么换了地方就判若两人?
你用的其实是两样东西叠在一起
把话说白:你平时打开的那个“AI”,是两层东西叠在一起。
一层是模型本身。它只做一件事——读一段文字,给所有可能的“下一个词”估一个可能性,挑一个接上去,再重复,直到说完。它没有一根线通向外面,没有一个接收器能实时收到新闻。它关于世界的全部知识,来自训练时读过的那批文字,截止到某个时间点。这就是所谓的“知识截止”。
另一层是套在它外面的那个产品:一个界面、一段你看不到的指令(常叫系统提示,规定它用什么身份、什么口吻、能调用哪些功能),以及一组可以被调用的工具。联网搜索就是其中最常被提到的一个。
关键的一句:模型自己不会上网。“联网”是产品用代码在外面替它做的12。
“联网”这四个字,实际发生了什么
拿“今天北京天气怎么样”举例,把过程拆成四步:
- 产品先让模型把你这句话改写成适合搜索引擎的关键词,比如“北京 天气 今天”。
- 外面的程序拿这组关键词去调用搜索引擎的接口,拿回一批网页链接。
- 程序再把网页正文抓下来,截出与问题相关的段落。
- 这些段落被当作新的上下文,和你的原问题一起塞回给模型,让它“照着这些材料写一段回答”。
所以从模型的角度看,所谓联网,就是有人临时在它读的那段文字里加进了几页网页。它干的还是同一件事:接着往下写。别把这想成“模型把网线插进了互联网”。
也正因为如此,它可以搜好几轮:第一轮搜回来觉得不够,换个关键词再搜一轮,直到凑够它认为够用的材料。至于“这题要不要搜”,有的产品让模型自己判断345;有的产品干脆每次都搜,不管你问的是不是今天的天气。
由此推出三件要紧的事
第一,联网只是给它换了一批要读的文字,不保证那批文字是对的。 搜回来的网页可能是错的、过时的、软文推广;模型也只是把它当材料接着写。它不会因为“上过网”就长出了事实判断力。上一篇那条分界线仍然成立:答案在它读到的文字里,它就照着说;读到的文字本身有问题,它照样会把问题原样放大。
第二,搜什么、搜到几条、用哪几段,是产品定的,不是你定的。 同一句问题,两个产品可能用了不同的搜索引擎、截取了不同的段落、塞进不同长度的篇幅,甚至引用的是同一天不同时间的网页。这些差别全部落进上下文,结果自然不同。这就是为什么“同一款模型,换个 App 就变了个人”——模型没变,是外面那层没有做同样的事。
第三,你能控制的部分,基本就是那个开关。 开关打开,等于允许程序把你的问题拿去搜索,再把结果塞进上下文;关掉,模型就只能靠训练时读过的东西,加上你已经给它的文字。这也解释了一个常见的误会:让模型“帮我查一下”,如果搜索功能没开,它通常不会告诉你它查不了,而是照着训练数据里最像的那段话编一段出来。它接到的任务始终是“把这段话续下去”,而不是“先确认自己有没有资格回答”。
不只是联网这一种工具
同样的道理,也套在读文件和算数上。你上传一份 PDF,程序把里面的文字抽出来塞进上下文——模型不是“打开了你的文件”,而是文件内容被复制进了它这一次能读到的文字里;文件很长、中间被截断时,它看不到的那部分就等于没给过。算数也一样,模型自己做乘法靠的还是“猜下一个词”,位数一多就容易出错;接了计算工具的产品,是把这道算式交给外面的程序跑,再把结果当文字递回来。
那我到底该怎么用
把上一篇那条分界线再拿一次:答案在你给的、或者它能拿到的文字里,它就能照着说;不在,它只能猜。
- 让它改写、总结、翻译、整理你已经贴进去的材料:直接问就行,不需要联网。
- 问最新的、跟具体时间地点绑定的东西(今天的天气、刚发布的公告、某个商品现在的价格):必须联网,而且要真的把搜索打开。
- 问的是稳定不变的知识(一个原理、一段历史、一个概念怎么理解):靠它训练时读过的内容通常够用,联网反而可能把一批质量参差的网页塞进上下文。
还要提醒一句:联网帮你的,是把资料拿回来,不是替你判断资料对不对。它给出的来源链接,也只是链接。
几条边界
不同产品对这套工具的默认设置差别很大,有的默认开、有的默认关、有的只在特定模式下才开,而且这类功能更新很快,所以要以你打开时看到的界面为准,别拿一个产品的印象去推断另一个。自己下载到本地跑的模型,除非你另外装了插件,否则默认就是不能上网的。
最后收一下这三篇的关系:第一篇讲它为什么既擅长改写又会在事实上出错,第二篇讲同一句话为什么时好时坏,这一篇讲它外面那层工具怎么改变它读到的文字。三件事指向同一个机制——它只是一直在读文字、接着写文字。想让答案可靠,就要管好两件事:递给它什么文字,以及自己去哪里核实。