魔法口袋里的小精灵——认识可可与'上下文'
第 1 章 魔法口袋里的小精灵——认识可可与"上下文"
引子:一台旧电脑的秘密
夏日的午后,蝉鸣声透过纱窗钻进来,把整间小屋烘得暖烘烘的。八岁的小米蹲在爷爷的书桌前,面前是一台灰扑扑的旧电脑。这台电脑的年纪比小米还大,屏幕有一点点泛黄,键盘上有些字母已经磨得看不清了,机箱后面还拖着一根长长的、卷成螺旋状的电源线,像一条冬眠的小蛇。
"爷爷说,这台电脑里藏着他年轻时候写的故事。"小米一边嘟囔着,一边用袖子小心翼翼地擦掉屏幕上的灰。
今天是大人们都外出的日子,妈妈去参加同学的婚礼,爸爸出差,爷爷去看望老朋友。家里只剩下小米和阳台上的乌龟"慢慢"。小米原本打算把暑假作业写完,可是写了两行字就再也坐不住了。她觉得无聊,于是开始在家里东翻翻、西找找,直到翻到这台被遗忘在角落的旧电脑。
她按下开机键。风扇发出"呜——呜——"的声音,像一头刚刚睡醒的老牛,慢吞吞地转动起来。屏幕先是黑黑的,然后闪了几下,亮出一行蓝底白字的英文。小米看不懂,但她很有耐心地等着。
过了好一会儿,屏幕上出现了一个非常奇怪的画面。
那不是平时爸爸电脑里那种干干净净的桌面,而是一片黑漆漆的、闪烁着星星的夜空。星星一闪一闪的,像是在跟她打招呼。夜空中央,缓缓浮现出一个小小的身影——一个穿着蓝色斗篷、戴着一顶尖尖帽子的……小精灵!
小精灵眨了眨眼睛。她的眼睛像两颗亮晶晶的玻璃珠,头发是淡淡的紫色,蓬松松地飘在半空中,像云朵一样。她看着小米,歪了歪脑袋,发出一阵清脆得像风铃一样的声音:
"你好呀,我叫可可。我在这里睡了……嗯……一百年零三天。你是来叫醒我的吗?"
小米吓得差点从椅子上摔下来。
"你……你是谁?你怎么会说话?你从哪里来的?"小米结结巴巴地问。
可可笑了。她从斗篷里掏出一个小小的、发光的口袋。口袋是金黄色的,上面绣满了星星和月亮,看起来非常神奇。
"我呀,是一个'记忆小魔法师'。我住在电脑的深处,专门负责帮助别人记住重要的事情。可是不知道为什么,我睡了很久很久。"可可笑眯眯地说,"你能告诉我现在是什么年代吗?外面是不是已经有会飞的汽车了?"
小米摇摇头:"会飞的汽车还没出现呢,现在是 2024 年。"
"哎呀!"可可惊讶地捂住嘴巴,"一百年!整整一百年!我都睡了一百年了!难怪我的口袋这么空……"
可可用力抖了抖她的魔法口袋,哗啦啦地响了几下,什么也没有掉出来。她皱起眉头,看起来有点苦恼。
"我的口袋叫做'上下文口袋',是我最重要的魔法道具。"可可解释道,"可是我睡得太久了,口袋里的'记忆'全都变得模模糊糊。要是我现在给你变一个魔法,我可能什么也变不出来……除非,你能帮我重新装满它!"
小米虽然还是有点紧张,但是好奇心已经完完全全占据了上风。她握紧了小拳头,自信满满地说:
"没问题!我来帮你!"
于是,一个关于魔法、关于记忆、关于 AI 的奇妙冒险,就这样在爷爷的旧电脑里开始了。
---
1.1 魔法口袋里的"上下文"
可可从斗篷里掏出她的魔法口袋,摊开在桌面上。口袋看上去只有巴掌大小,可是里面却深得看不到底。可可用手伸进去摸了摸,又掏了掏,最后叹了口气:
"你看,这里面本来应该装满了我需要的所有信息。可是现在,它几乎是空的。我就像一个饿了三天的小厨师,就算有一口锅,也没有食材可以做菜呀。"
小米看着那个空空的口袋,心里有点心疼。她问道:
"你说的'信息'是什么呀?是故事吗?是数字吗?还是……"
可可想了想,决定用一个游戏来解释。她从口袋里掏出一样东西——一张写着"苹果"两个字的卡片。
"小米,闭上眼睛。"
小米乖乖地闭上了眼睛。
"现在,你告诉我:'苹果是什么?'"
小米想了想,说:"苹果是一种水果,红红的,圆圆的,可以吃。"
"非常好!"可可兴奋地拍着手,"但是,如果你闭上眼睛之前,心里想的不是苹果,而是刚刚看过的一场恐龙电影呢?"
"那……我可能就会说:'苹果是一种恐龙的名字!'"小米哈哈大笑。
"对啦!"可可用手指在空气中比划着,"你脑子里'正在想的事情',决定了你会怎么回答问题。而我——作为一个小魔法师——我口袋里的'信息',就是我'正在想的事情'。这些信息合起来,有一个特别的名字——"
可可在空中写下了三个闪闪发光的大字:
上下文
"上下文?"小米跟着念了一遍。
"对,'上下文'就是'上下文'。听起来有点奇怪是不是?"可可笑眯眯地说,"让我来拆开讲给你听。"
可可用粉笔在地上画了两个大大的圆圈,左边那个写着"上",右边那个写着"下",中间用一条弯弯曲曲的线连起来。
"'上'就是'上面','下'就是'下面','文'就是'文字'或者'东西'。所以'上下文'这个词的意思就是——把一段文字或者一件事的'上面'和'下面'连起来读。"
小米听得有点迷糊。可可看到她的表情,连忙换了一种说法:
"打个比方。如果我说:'它很甜,可以吃,红红的。'你知道我在说什么吗?"
"是苹果!"小米立刻回答。
"如果我只说:'它很甜。'你能猜出来吗?"
"可能是糖,可能是蜂蜜,可能是……西瓜?"小米有点不确定。
"对啦!"可可眼睛亮了起来,"当我说的话'上面'和'下面'连在一起的时候,你就能猜得很准。可是一旦少了'上下文',你就要猜好久。这就是我说的——"
可可用力在"上下文"三个字下面画了一道波浪线:
上下文就是"上下连起来看,才能读懂的全部信息"。
小米觉得这句话有点长,但是很好玩。她决定把它记在自己的小本子上。
"那……"小米举手问道,"你的口袋里装的,就是这种'上下连起来的信息'吗?"
"完全正确!"可可用力点头,"我的'上下文口袋'里装着的,是我工作时需要考虑的所有信息。这些信息包括:
- 你刚才说的话(这就是'上文');
- 我之前说的话(这就是'下文');
- 你想让我做什么任务(这是'任务说明');
- 还有一些我不知道的事情,比如'苹果是红色的'这种常识(这是'外部知识')。
当这些信息都装进我的口袋时,我就能好好地工作。可是一旦我的口袋空了,或者装得太满,我就会出问题。"
小米似懂非懂地"哦"了一声。
"没关系!"可可拍拍小米的肩膀,"我们现在就来玩一个游戏。玩着玩着,你就懂啦!"
---
1.2 第一次魔法考验——猜谜语大冒险
可可让小米坐在小椅子上,自己则飘浮在空中,双手背在身后,装出一副很严肃的样子。
"小米同学,欢迎来到'可可魔法学校'!今天是你的第一堂课。我们来玩'猜谜语游戏'!"
可可用魔法棒一点,空中浮现出一行大字:
游戏规则: 1. 小米心里想一个东西(动物、植物、玩具都可以); 2. 可可来猜; 3. 小米只能回答"是"或者"不是",不能说别的提示; 4. 如果可可能在 20 个问题之内猜出来,可可就赢; 5. 如果 20 个问题还没猜出来,小米就赢。
小米想了想,决定心里想一个她最喜欢的动物——小猫。
"我准备好啦!"小米闭上眼睛,"开始猜吧!"
可可笑嘻嘻地开始发问:
"它是活的东西吗?" "是!"小米回答。
"它比桌子大吗?" "不是!"
"它有四条腿吗?" "是!"
"它会飞吗?" "不是!"
"它是常见的动物吗?" "是!"
"它会汪汪叫吗?" "不是!"
"它喜欢抓老鼠吗?" "是!"
"它是猫!"
小米睁开眼睛,惊讶得嘴巴张成了 O 形。
"你……你怎么这么快就猜出来了?"
可可笑得眯起了眼睛。她在空中画了一个大大的方框,里面写着:
可可口袋里的信息:
- 活的东西 ✓
- 比桌子小 ✓
- 有四条腿 ✓
- 不会飞 ✓
- 常见动物 ✓
- 不汪汪叫 ✓
- 喜欢抓老鼠 ✓
"你看,"可可解释道,"你每回答一个问题,我就把这个信息'装进'我的口袋里。等我口袋里的信息越来越多了,我就能猜出来啦。这就是'上下文'在工作!"
小米恍然大悟:"原来是这样!"
"而且,"可可继续说,"你看我问了 7 个问题就猜出来了。说明我用的'线索'是'刚刚好'的——不多也不少。如果我问得太少,比如只问一个问题'它是动物吗'然后就不问了,那我永远也猜不出来。反过来,如果我问得太多,比如还问'它喜欢晒太阳吗'、'它喜欢玩毛线球吗'——"
小米抢着说:"那你就要问好多好多问题,口袋就要装得满满的!"
"对啦!"可可竖起大拇指,"如果我的口袋装得满满的,我就要花更多时间去'消化'这些信息。就像你吃了十碗饭一样,会撑得走不动路。所以呀——"
可可在空中写下了一个大大的公式:
恰到好处的上下文 = 不多不少,刚刚好
小米用力点了点头。她决定把这个游戏也记在自己的本子上,因为这个游戏太好玩了!
---
1.3 口袋太少会"饿",口袋太多会"撑"
可可看小米玩得很开心,决定加大难度。她用魔法变出了两个小方块,一个写着"信息太少",另一个写着"信息太多"。
"小米,我们现在来做两个实验。看看'上下文'不够用和'上下文'太多,会发生什么奇妙的事情。"
实验一:口袋太空——小米变成了"小迷糊"
可可让小米闭上眼睛。然后,她对小米说:
"小米,听好了——请告诉我,那个东西是什么。"
小米等了一下,睁开眼睛,满脸疑惑:"什么东西?"
"我刚才说的那个东西呀。"可可眨眨眼睛。
"可是……你什么都没说呀!"小米着急地说。
可可笑嘻嘻地说:"对啦!这就是'信息太少'的情况。如果我的口袋里什么都没有,那我就像一个饿了三天的小厨师,根本不知道该做什么菜。我只能随便猜一下。"
可可在空中写了几个大字:
当上下文太少时:
- AI 不知道你想问什么;
- AI 只能瞎猜;
- AI 可能会说出一些奇奇怪怪、完全不正确的话。
"这叫做'AI 产生幻觉'。"可可补充道,"'幻觉'是一种奇怪的现象——AI 在信息不够的情况下,会'胡思乱想',编造一些听起来很厉害、但其实不对的东西。就像一个人饿了太久,会产生看到食物的幻觉一样。"
小米有点害怕:"那 AI 一直饿着肚子,它会一直产生幻觉吗?"
"不会的,"可可安慰道,"只要我们把'上下文'——也就是有用的信息——装进它的口袋里,它就不会饿啦。我们需要做的,就是提供'刚刚好'的信息。"
实验二:口袋太满——小米变成了"小糊涂"
接下来是第二个实验。这次可可一口气给小米讲了十分钟的故事,故事里有小猫、小狗、小鸟、小鱼、小兔子、小乌龟、小仓鼠……还讲了它们的颜色、喜欢吃的东西、住在哪里、喜欢玩什么游戏。
讲完之后,可可问:
"小米,刚才的故事里,会游泳的小动物有哪些?"
小米抓了抓脑袋,一脸茫然:"啊……呃……太多了……我记不清了……"
"这就是'信息太多'的情况!"可可比了一个大大的 V 字手势,"当 AI 的口袋里装了太多信息时,它也会'消化不良'——就像你吃了十碗饭一样!它会开始'注意力分散',记不住哪些信息重要,哪些信息不重要。最后,它可能会漏掉一些关键的细节,给出不太准确的回答。"
可可在空中又写了一行字:
当上下文太多时:
- AI 的"口袋"装不下;
- AI 会"消化不良";
- AI 会漏掉重要的细节;
- AI 的反应会变慢。
小米点了点头:"所以,AI 的'上下文口袋'要装得'刚刚好'才行!"
"完全正确!"可可高兴得在空中翻了一个跟头,"你真是我的魔法天才学生!"
魔法口袋的容量
可可又掏出了她的魔法口袋,摊开让小米看。
"你看,"可可指着口袋的底部说,"我的口袋是有容量的。如果超过了容量,就会出问题。但是——"可可神秘地笑了笑,"这个容量是可以'变大'的!这就需要用到一些高级魔法,比如'压缩魔法'、'整理魔法'、'摘要魔法'等等。这些魔法,我们以后再学!"
小米非常兴奋:"那我可以现在就学到吗?"
可可摇摇头:"不行不行,今天先学最基础的。高级魔法要留到以后的章节里学。这本书一共有 15 章呢,我们有的是时间!"
小米听了,眼睛里闪闪发光。她决定,要把今天学到的所有东西都好好记下来。
---
1.4 给小侦探的"线索设计课"
可可觉得小米学得很快,决定再教她一个实用的技能——怎么设计"刚刚好"的线索,让别人猜出答案。
"小米,你知道侦探是怎么破案的吗?"可可问。
"知道!他们会找证据,找线索!"小米回答。
"对啦!那我现在要考考你。如果我想让你猜'草莓',我应该给你多少线索?"
小米想了想,说:"如果只给一条线索,比如'它是红色的',那别人可能会猜是苹果、西瓜、樱桃……太多了。"
"那如果给十条线索呢?"
"那就太多了,别人要看好久才能找到关键线索。"
"那'刚刚好'的线索应该是几条呢?"
小米举起手,认真地说:"我觉得是 3 到 5 条!比如:
1. 它是红色的; 2. 它长在地上; 3. 它表面有小小的颗粒; 4. 它甜甜的,可以做果酱。
这四条线索合起来,别人一猜就知道是草莓啦!"
可可激动得在空中跳了三下:"太棒了!太棒了!你设计的这四条线索就是'刚刚好'的上下文!"
可可在空中画了一个大大的表格:
| 线索数量 | 别人能不能猜出来 | 为什么会这样 | |---------|---------------|------------| | 1 条 | 不能(可能猜错)| 信息太少 | | 3-5 条 | 大部分能猜对 | 信息刚刚好 | | 10 条 | 能猜对,但是很累| 信息太多,消化不良 |
"你看,"可可用手指点着表格说,"设计线索就像设计'上下文'。我们给 AI 的信息,也要像这样'刚刚好'——不多不少。这样 AI 才能给我们最准确的回答。"
小米突然想到了一个绝妙的主意:"那我能不能回去考考爸爸妈妈?"
"当然可以!"可可拍手说,"而且我还要给你布置一个魔法作业!"
---
1.5 魔法小作业——设计你的"刚好"谜语
可可从斗篷里掏出一张金色的羊皮纸,递给小米。羊皮纸上写着:
📜 可可魔法学校的家庭作业 📜
作业一: 请设计 3 个谜语,每个谜语提供 3-5 条线索,让你的朋友或家人猜出答案。线索要"刚刚好",不能太少也不能太多。
作业二: 请用你自己的话,向爸爸妈妈解释一下:什么是"上下文"?可以打比方,可以说故事,只要让他们听懂就行。
作业三: 请写一个小故事,故事的主角用 3-5 条线索猜出了一个秘密。故事要短,但是要有趣。
奖励: 完成作业的小朋友,可以获得"记忆小魔法师勋章"一枚!(勋章由可可亲自颁发 ✨)
小米看着羊皮纸,眼睛里闪烁着兴奋的光芒。她决定今天晚上就完成作业!
---
1.6 小米的第一天小结
不知不觉,太阳已经西斜了。窗外的蝉鸣声变得稀稀拉拉,远处传来妈妈自行车铃声的叮当响——妈妈回来了。
可可看了看窗外,恋恋不舍地说:"小米,我不能出来太久。我要回电脑里睡觉了。但是你别担心,我们明天还可以继续玩!"
"可是……"小米有点舍不得,"你不在的时候,我要是遇到问题了怎么办?"
可可笑嘻嘻地说:"你只要在心里喊三遍'可可可可可',我就会醒过来!但是记住——不能喊太多次,否则我的口袋会装不下你的想念,会消化不良哦!"
小米笑了。她和可可拉钩钩,约好明天继续玩。
电脑屏幕慢慢暗了下来,那片星空消失了。可可的身影也渐渐模糊,最后缩成一个小小的光点,飞进了电脑深处。
小米回过神来,发现自己还蹲在爷爷的旧电脑前。屏幕回到了正常的桌面。可是她的手里,多了一张金色的羊皮纸,上面写着今天的作业。
"哇……"小米喃喃自语,"我不是在做梦吧?"
她低头看了看羊皮纸,又看了看电脑。羊皮纸上的字迹清清楚楚,绝对不是梦。
"原来电脑里真的住着小精灵!"小米开心地笑了。
她抱着羊皮纸跑回自己的小房间,开始认真地完成作业。她要在今晚把三个谜语全部想好,明天一早就去考爸爸妈妈!
---
1.7 实践时间:魔法口袋的信息流动图
晚上,小米做完作业后,又跑回爷爷的书桌前。她用手指在电脑的键盘上敲了三下,心里喊着"可可可可可"。
屏幕慢慢亮起来,星空再次出现。可可揉着眼睛,飘了出来。
"小米,怎么啦?"
"可可,我想让你帮我画一张图。我想看清楚你的口袋是怎么工作的!"
可可比了一个 OK 的手势:"没问题!这是最基础的'AI 工作流程图'。看好了哦!"
可可用魔法棒在空中画了起来。一张漂亮的图慢慢浮现:
```mermaid flowchart TD A[用户提问: 小米想问问题] --> B[收集上下文: 可可的口袋] B --> C[上下文口袋: 装着所有相关线索] C --> D[AI 思考: 在口袋里翻找信息] D --> E[生成回答: 可可开口回答] E --> F[输出给小用户: 小米听到了!]
C -->|信息太少| G[产生幻觉: 胡说八道] C -->|信息太多| H[消化不良: 记不住重点] C -->|刚刚好| I[完美回答: 答得又准又好] ```
"这就是我工作的流程!"可可解释道。
"你看,每一次有人问我问题,我都要做这几件事:
1. 接收问题:先把你说的话听清楚。 2. 收集上下文:把跟我有关的、所有有用的信息都装进口袋里。 3. 思考分析:在口袋里翻来翻去,找到最相关的信息。 4. 生成回答:根据找到的信息,组织成一段话。 5. 输出答案:把回答告诉你。
如果我的口袋太空——也就是上下文太少——我就会产生幻觉,胡说八道。
如果我的口袋太满——也就是上下文太多——我就会消化不良,记不住重点。
只有当口袋'刚刚好'的时候,我才能给你最完美的回答!"
小米看着那张图,似懂非懂地点了点头。她决定明天把这张图画在自己的小本子上。
"对了,小米,"可可突然想起什么,"我还要告诉你一个秘密!"
"什么秘密?"
"我的魔法口袋——也就是上下文——并不是什么神秘的魔法。它其实是 AI 工作中非常重要的一个概念。所有的 AI 小精灵——不管是会画画的小精灵、会说话的小精灵、还是会下棋的小精灵——他们都有一个跟我一样的'上下文口袋'。"
小米惊讶地张大嘴巴:"所有的 AI 都有口袋?"
"是的!"可可用力点头,"他们都需要'上下文'才能工作。但是不同的 AI,口袋的大小不一样。有的口袋很大,能装下整本书;有的口袋很小,只能装下一段话。这个'口袋的大小',在 AI 的世界里有一个专门的名字,叫做'上下文窗口'。"
可可在空中写下了这几个字:
上下文窗口 = AI 一次能处理的全部信息量
"哇!"小米惊叹道,"原来是这样!"
"但是——"可可神秘地眨了眨眼睛——"这个'上下文窗口'也是有缺点的。如果 AI 的口袋太大,它虽然能装下很多信息,但是有时候会'挑花眼',不知道哪些信息更重要。如果口袋太小,它又装不下关键信息。所以呀,这里面有很多很多的学问呢!"
小米听得入神,眼睛一眨不眨。
"明天,"可可笑嘻嘻地说,"我们就去寻找传说中的'长长魔法卷轴'。看看当上下文变得超级长的时候,会发生什么奇妙(或者糟糕)的事情。"