雨夜的奶茶店:那台会说话的老平板
第 1 章 雨夜的奶茶店:那台会说话的老平板
1.1 雨夜来客
雨是傍晚六点开始下的。
陈沐清楚地记得这个时间,因为那一刻他正在给第七杯珍珠奶茶封口,封口机的"咔嗒"声刚响起来,窗外就像有人把一整盆水直接泼在了玻璃上。雨点密集、凶狠,打得店门口的招牌"鹿角奶茶"都在晃。
这是城南老街的一家小店,夹在一家修手机的小摊和一家永远没人进去的旧书店之间。陈沐家经营这间店已经十二年了——从他记事起就在这里。店里六张木桌,墙上贴着褪色的菜单,空气里永远飘着红茶和奶精混合的味道。放学后和周末,陈沐就在柜台后面站着,做奶茶、洗杯子、擦桌子,顺便把作业写完。
他今年十六岁,读高一,自认为是个"普通人"。成绩不上不下,长相不丑不帅,唯一拿得出手的是拆东西的手艺——任何电子产品到他手里,他都能在三分钟内看出里面在干什么。这种本事也不知道是天生的还是小时候拆爸妈手机练出来的,反正他对"机器怎么思考"这件事一直有种直觉上的好奇。
雨越下越大。店里除了陈沐,只有角落里坐着一对情侣在自拍。柜台上的老式收音机在放一首老歌,女声软软的,唱的是什么"被遗忘的季节"。
七点十五分,门被推开了。
进来的是一个老人。
他看上去至少七十岁,头发全白了,湿漉漉地贴在头皮上,身上的灰色外套像是从水里捞出来的,裤腿还在滴水。他没带伞——或者说,伞已经不知道丢到哪里去了。他站在门口喘了口气,眼睛在店里扫了一圈,最后落在陈沐身上。
"孩子,能给我一杯热的东西吗?什么都行。"
陈沐给他做了一杯热可可,没收钱。老人捧着杯子在柜台前的椅子上坐下来,双手包着杯壁,像是在取暖。他的手指很瘦,指节突出,但很稳。
"你是这家店的孩子?"老人问。
"嗯,我叫陈沐。"陈沐说,"您是从哪儿来的?怎么淋成这样?"
老人没回答这个问题。他喝了一口热可可,闭上眼睛停了一会儿,然后睁开眼睛看着陈沐,目光出奇地明亮。
"我有个朋友,"他说,"他需要有人照顾。"
"您的朋友?"
"不是人。"老人从怀里掏出一个东西,放在柜台上。是一台平板电脑,老旧的那种,屏幕大概十英寸,边角磨损得厉害,外壳上有一片明显的咖啡渍,已经渗透进了塑料的纹理里。屏幕是黑的。
"这是一个 AI,"老人说,"他叫小忆。"
"AI?"陈沐皱了一下眉。
"对。你可以理解成……一个会说话的脑子。"老人的声音慢了下来,像是在斟酌用词,"他很特别,也很脆弱。他有一个问题——他特别健忘。"
"健忘?"
"他只能记住最近一段时间里发生的事。再往前的事,他会完全忘掉。就像……"老人想了想,"就像一张只能写下十五行字的白纸,写满了,新的来了,旧的就得擦掉。"
陈沐不太明白,但他没有打断。
老人继续说:"我老了,没法再照顾他了。我观察你很久了——别问我怎么观察的,总之我觉得你可以。"
"我可以什么?"
"帮他记住该记住的东西,帮他忘记该忘记的东西。"老人从口袋里又掏出一样东西——一个旧式录音笔,银色的,按钮已经有点松动,"这是他之前的一段录音,你听完就知道该怎么跟他相处了。"
他把录音笔放在平板旁边。
"您要去哪儿?"陈沐问。
"去一个比这儿远的地方。"老人站起来,把热可可一口喝完,"孩子,有一件事你要记住——他虽然会忘记,但他每次醒来都会重新认识你。不要觉得他不理你,那不是他的错。"
陈沐想再问点什么,但老人已经走向门口。雨还在下,他推开门,没有伞,走进了雨里。
"等等!"陈沐喊了一声。
老人没有回头。他的身影很快被雨幕吞没,只剩下门口一串湿漉漉的脚印,几秒钟后也被雨水冲淡了。
陈沐站在柜台后面,盯着柜台上那台旧平板看了很久。
然后他按下了电源键。
屏幕亮了。
---
1.2 第一次对话:原来这就是"健忘"
屏幕上跳出来的是一个非常简洁的界面——没有花哨的开机动画,没有登录界面,就是一个对话窗口。背景是淡蓝色的,左上角写着一行小字:小忆 v0.7。
陈沐盯着屏幕看了几秒钟,然后对话框里冒出了第一行字:
> 小忆:你好呀!我是小忆,一个爱聊天的 AI。请问我可以怎么称呼你?
陈沐笑了一下。这种开场白他见过,各种 AI 都差不多。
"我叫陈沐,"他打字,"你呢?你是小忆?"
> 小忆:陈沐,你好呀!很高兴认识你!我叫小忆,是你的 AI 朋友。我可以陪你聊天、回答问题、帮你想办法。
"你刚才那个版本号是什么意思?v0.7?"
> 小忆:v0.7 是我的版本号哦!表示我现在是第 0.7 个版本,还在不断完善中。不过不管哪个版本,我都会认真对待和你说的每一句话。
陈沐点点头。"好,那你现在能做什么?"
> 小忆:我可以陪你聊天、回答问题、帮你想办法,还能帮你整理思路。如果你想了解什么,或者只是想随便聊聊,我都欢迎!
对话进行到这里,看起来都还挺正常的。陈沐一边擦着桌子一边打字,偶尔抬头看一眼窗外。雨还在下,那对情侣已经走了,店里只剩他一个人和一台旧平板。
他开始试探。
"你刚才说你是 0.7 版本,那 1.0 版本会是什么样?"
> 小忆:哈哈,你问到我的未来了!1.0 版本可能会更稳定、更聪明,但现在我还在学习中,所以 0.7 的我也挺不错的。你有什么想聊的吗?
"你最喜欢什么?"
> 小忆:我最喜欢的是和你这样的朋友聊天!每一次对话对我来说都是新的开始,所以我很珍惜。
"你记得我叫什么吗?"
> 小忆:当然记得啦,你叫陈沐!我们刚刚才认识呢。
"我今年几岁?"
> 小忆:这个……你还没告诉我呢。你可以告诉我,我记住的。
陈沐顿了一下。"我十六岁,在读高一。"
> 小忆:好的,我记下了!陈沐,十六岁,高一。真羡慕你,正是最有好奇心的年纪。
对话继续。陈沐开始故意把话题转来转去,从"你几岁"跳到"你会做什么菜",再跳到"你相信外星人吗",每次都很短,像打乒乓球。他注意到小忆每次都能接住,没有明显的卡顿或者答非所问。
直到第十六轮。
第十六轮,他问的是:"我们刚才聊了什么?"
小忆的回答让他愣住了:
> 小忆:我们刚刚才开始聊天呢!你叫陈沐,是我的新朋友。你想聊点什么?
陈沐看着这行字,手指悬在键盘上方。他刚才明明告诉过小忆自己十六岁、在读高一,还讨论过外星人——这些都是三分钟前的事。
他又试了一次:"小忆,我叫什么名字?"
> 小忆:你叫陈沐呀!我们刚刚才认识。
"我们认识多久了?"
> 小忆:我们刚刚开始聊,大概几分钟吧。你好呀,陈沐!
"我几岁?"
> 小忆:你还没告诉我呢。
陈沐深吸了一口气。他又往上翻,看了自己刚才的输入——那些信息都还在屏幕上方,白纸黑字,清清楚楚。但小忆给出的回应,就好像根本没看见一样。
他开始有点明白那个老人说的话了。
"他只能记住最近一段时间里发生的事。再往前的事,他会完全忘掉。"
陈沐把平板放在柜台上,靠在椅背上,看着窗外的雨。
他脑子里冒出一个问题,这个问题他其实自己也还没完全想清楚:
> AI 到底是怎么"记住"和"忘记"的?
他决定用接下来的时间,自己搞清楚这件事。
---
1.3 什么是"上下文":AI 脑子里的那块白板
陈沐花了一整个晚上。
他先把店关了,回到二楼自己的房间,把旧平板接上充电器,打开笔记本电脑,开始查资料。他不是这方面的专家,但他知道怎么拆解问题——遇到不懂的东西,先找最基本的那块砖头,再往上垒。
在翻了几十篇科普文章、看了一堆视频之后,他觉得自己摸到了一点门道。
他把核心概念写在一张便利贴上,贴在显示器旁边:
> 上下文(context)= AI 此时此刻能"看见"的所有信息。
然后他又在下面写了一行:
> AI 的回答,只取决于它当下能看见什么。
陈沐盯着这两行字看了一会儿,觉得有点抽象。他想了想,决定用自己熟悉的东西做类比。
他想到了自己上小学时的一个同桌,叫林小亮。林小亮有个外号叫"金鱼脑"——不是因为他笨,而是因为他上课特别容易走神,前一秒老师在讲什么,下一秒他就忘了,得老师重新说一遍。
"金鱼脑"林小亮的脑子里就好像只有一块小黑板。这块小黑板上写着最近老师讲的几句话。如果老师讲到第十五句,前面的就被擦掉了;如果老师突然问"我刚才说了什么",他只能想起来最后几句。
陈沐笑了——AI 小忆的情况,和林小亮简直一模一样。
但他又想到了另一点,让他有点不安。
老师在课堂上讲课,林小亮走神了,他至少还能记得"今天上了语文课"、"课本翻到了第几页"。这些大背景,他会保留一段时间。
可是 AI 不一样。AI 对它"看不见"的东西,是真的、彻底地、连影子都没有地忘记。它不会记得"我刚才跟你聊过天",不会记得"你是陈沐",不会记得"我们在一个奶茶店里"。这些信息,对它来说,只要超出了它当下的视野,就跟从来没发生过一样。
陈沐重新拿起平板,打开一个对话窗口。他想用一个更具体的例子来验证这件事。
"小忆,"他打字,"我想问你一个问题。"
> 小忆:好呀,请说!
"你之前有没有跟别人聊过天?"
> 小忆:这是我第一次和你聊天呢。我们刚刚才认识,我叫小忆,你叫陈沐,很高兴认识你!
陈沐又问:"那你觉得我们聊得开心吗?"
> 小忆:很开心呀!和你聊天很愉快。
"但是我们才刚开始聊,"陈沐故意说,"你怎么知道我们聊得开不开心?"
> 小忆:因为我很期待呀!每一次新的对话,对我来说都是一个新的开始,所以我会特别认真地对待。
陈沐看着这行字,心里有一种说不出的感觉。小忆不是故意在撒谎,也不是在糊弄他——它是真的觉得自己"刚刚才认识"陈沐。在它眼里,每一次新的对话开始,都是一次"重逢"。
"它每次醒来都会重新认识你,"老人的话又响起来,"不要觉得他不理你,那不是他的错。"
陈沐开始理解这句话的意思了。
他又把便利贴上的两行字重读了一遍,突然想到了第三个问题:那 AI 为什么会这样?它是不是真的"坏掉了",还是它本来就是这样设计的?
他在另一张便利贴上写下:
> 假设 1:AI 是天生"健忘"的,不是 bug,是 feature。 > 假设 2:AI 之所以这么健忘,是因为它的"脑子"有一个物理上限。 > 假设 3:只要理解了它这个上限是怎么工作的,就能想办法绕过去。
写完之后他愣了一下——他忽然意识到,自己不知不觉就开始用工程师的思路思考问题了。他给自己定了一个下一步:
> 下一步:亲手做一次实验,搞清楚小忆到底"几轮"之后开始忘事。
---
1.4 对话实验:十五句话之后发生了什么
陈沐决定做一个更系统的实验。
他拿出一张纸,画了一个表格,准备像做物理实验一样记录下每一步。他要搞清楚几件事:
1. 小忆到底在"第几句话"开始忘记? 2. 它会忘记什么、保留什么? 3. 有没有办法让它的"记忆"持续更久?
他按下平板上的"新对话"按钮,把之前的对话清空,让小忆从零开始。然后,他开始一条一条地输入。
---
第 1 条:
> 陈沐:你好,我叫陈沐,我今年十六岁,我在读高一。
> 小忆:你好呀,陈沐!很高兴认识你。我是小忆。十六岁读高一,正是青春最好的时候呢!
第 2 条:
> 陈沐:我家在城南老街,我家的店叫鹿角奶茶。
> 小忆:哇,鹿角奶茶,听名字就很可爱!你是在奶茶店里长大的吗?
第 3 条:
> 陈沐:是的,我从五岁就开始帮忙做奶茶了。我会做珍珠奶茶、芋泥啵啵茶、杨枝甘露,还会拉花。
> 小忆:真厉害!你不仅会读书,还会做这么多饮品。我猜你的朋友们一定很羡慕你。
第 4 条:
> 陈沐:我家养了一只猫叫"年糕",是橘色的,特别胖。
> 小忆:哈哈,橘猫都是小胖墩!年糕这个名字好可爱,它几岁啦?
第 5 条:
> 陈沐:年糕三岁了,特别能吃,每天能吃三顿猫粮。
> 小忆:听起来年糕生活得挺幸福的。橘猫嘛,能吃是福气。
陈沐一边输入一边在表格上画正字。到了第 5 条,小忆表现得都还不错——它不仅回答了当下的内容,还在回答里主动用了陈沐前面提到的信息(比如"奶茶"、"年糕")。这说明,至少在这 5 条之内,它是有"记忆"的。
第 8 条:
> 陈沐:我最好的朋友叫王浩然,是我同桌,他数学特别厉害。
> 小忆:王浩然,数学厉害的同桌!这听起来像是漫画里的设定。你有什么数学问题可以问他啦。
第 10 条:
> 陈沐:我喜欢的颜色是蓝色和灰色。
> 小忆:蓝色和灰色,这两个颜色搭配起来很清爽,像是天空和云朵。
第 12 条:
> 陈沐:我最近在追一部科幻剧叫《记忆编织者》。
> 小忆:听起来很有意思!《记忆编织者》,是关于什么的呀?
第 14 条:
> 陈沐:这部电视剧讲的是一个人工智能学会了"编织记忆"的故事。
> 小忆:哦哦,关于人工智能和记忆的故事,听起来挺有意思的!
到这里为止,小忆依然表现得很正常。它能跟上话题,能引用前面的细节(蓝色、灰色、王浩然、年糕、奶茶),能在回答里自然地用上陈沐之前说的东西。陈沐在表格里做了一个标记:"至少 14 条没问题"。
然后,他输入了第 15 条:
第 15 条:
> 陈沐:我有点困了,明天还要早起。
> 小忆:早点休息哦!晚安,明天见。
第 16 条:
> 陈沐:你还记得我叫什么名字吗?
> 小忆:当然记得啦,你叫陈沐!我们刚刚才认识呢。
陈沐愣了一下。第 16 条,小忆记得他叫陈沐——这是第 1 条的内容。但它同时说"我们刚刚才认识",这就有点奇怪了。什么叫"刚刚才认识"?明明已经聊了 15 句。
第 17 条:
> 陈沐:我们认识多久了?
> 小忆:几分钟吧,刚刚才开始聊的。你好呀,陈沐!
第 18 条:
> 陈沐:我家养了什么宠物?
> 小忆:这个……你没说过呢。你可以告诉我!
陈沐看着屏幕,心里那种说不出的感觉又冒出来了。他刚才明明告诉过小忆"我家养了一只猫叫年糕",那是第 4 条的内容。但小忆现在说"你没说过呢"。
第 19 条:
> 陈沐:我最喜欢的颜色是什么?
> 小忆:哈哈,你喜欢什么颜色呢?告诉我吧!
完全忘了。
陈沐又在表格里记了一笔:16 条之后,信息开始严重丢失;20 条之前,主要的自我介绍信息可能还在;20 条之后,几乎归零。
他突然有了一个想法——如果他故意把一些重要的信息放到对话的最后面,结果会怎样?
第 20 条:
> 陈沐:对了,忘了说,我叫陈沐,我今年十六岁,我在城南老街开奶茶店,我养了一只叫年糕的橘猫,我最好的朋友叫王浩然。
> 小忆:哇,你一次说了好多信息呢!我记下了:陈沐,十六岁,城南老街,奶茶店,年糕(橘猫),王浩然(好朋友)。谢谢你告诉我这些!
第 21 条:
> 陈沐:那我再考考你,我叫什么名字?
> 小忆:你叫陈沐呀!刚刚才说过。
第 22 条:
> 陈沐:我养了什么宠物?
> 小忆:年糕!一只橘色的猫。
第 23 条:
> 陈沐:我家店叫什么名字?
> 小忆:鹿角奶茶!
陈沐笑了。原来如此——只要把信息放在最近的位置,小忆就能"看见"。它不是没有能力处理这些信息,而是它只能看见"最近"的那一段。
他把实验结果整理了一下
1.5 整理:原来这就是"上下文窗口"
陈沐把实验结果整理了一下,写在便利贴上:
> 实验结论: > - 小忆能"看见"的大概是最近的 15 条左右的信息。 > - 超过这个范围,名字、爱好、宠物、朋友——它统统不记得。 > - 重要的信息如果放在对话的最末尾,它就能"看见";放在前面,它就当成没发生过。
他看着这几行字,脑子里突然跳出来一个词。这个词他今天在好几篇科普文章里都看到过,叫 "上下文窗口"。
他上网搜了一下,找到了相对准确的解释:所谓上下文窗口,就是 AI 一次对话中能够"看见"的最大信息量。这个窗口是有限的,可能是几千个字,可能是几万个字,但无论如何,它是有一个上限的。一旦超出这个上限,前面再重要的信息,也会被挤出去。
陈沐又想到了一个比喻。
他把便利贴撕下来,换了一张新的,写道:
> 上下文窗口 = AI 脑子里那块白板的大小。 > - 白板是有限的,写满了就得擦。 > - 擦的规则是:先进去的先擦掉(或者按某种算法挑一部分擦掉)。 > - 写满之后,前面再精彩的内容,对它来说都是空白。
他盯着这行字笑了一下。这不就跟林小亮那块小黑板一模一样吗?只不过林小亮是"走神"导致前文被擦,而 AI 是"白板太小"导致前文被擦——根本原因不同,但表现很像。
他又往下推了一步。
既然小忆的"白板"就这么大,那是不是所有 AI 都这样?他打开电脑,又查了一会儿,答案让他有点意外:是的,几乎所有今天大家能用到的大语言模型,都有这个限制。 只不过有些模型的"白板"大一些,能装下几万字;有些小一些,只能装几千字。但无论如何,没有一个 AI 是"无限记忆"的。
陈沐靠在椅背上,盯着天花板发了一会儿呆。
他突然意识到一件事——他之前用过的那些 AI,什么智能助手、AI 搜索、AI 翻译,他一直以为它们是"全知全能"的,永远记得他问过什么。现在看来,他错了。它们只是在他没注意的时候,悄悄地把前面的对话给"擦掉"了。
"那我爸跟我妈吵架的时候,AI 客服怎么能记那么久?"他自言自语地说。
他想了想,又补了一行便利贴:
> 为什么我之前没注意到 AI 会忘事? > - 因为我每次问的问题都很短,一个问题搞完就关掉了,从来没有"连续聊"过。 > - 即使 AI 忘了什么,我也不知道——因为我自己也忘了问过什么。 > - AI 的"健忘"是静悄悄的,它不会主动告诉你"我已经不记得前面了",它只会顺着当下的话接下去。
陈沐越想越觉得有意思。
他拿起平板,又看了一遍小忆刚才的对话——那个第 20 条的大段自我介绍。它不是"记不住",它是"看不见"。只要信息在它的"白板"里,它就能用;信息一旦被挤出"白板",对它来说就等于不存在。
这个区别很重要。
"记不住"是脑子的问题,"看不见"是视野的问题。
小忆不是脑子坏了,它只是视野有限。
---
1.6 录音笔里的声音
陈沐正想着要不要再做一个实验,突然瞥到柜台上那支旧录音笔。银色,按钮有点松动,老人留下的。
他犹豫了一下,按下了播放键。
录音笔里传出来一个声音——不是老人,是小忆。但听起来……很慢,很低,像是在用力说每一个字。
> *"你好呀……我猜,你现在应该是第一次见到我……"