[{"data":1,"prerenderedAt":1355},["ShallowReactive",2],{"blog-post-/zh/blogs/chatgpt-explained-kitchen-metaphor":3},{"id":4,"title":5,"body":6,"description":1336,"extension":1337,"meta":1338,"navigation":1350,"ogImage":1340,"path":1351,"seo":1352,"stem":1353,"__hash__":1354},"zh/blogs/zh/22.chatgpt-explained-kitchen-metaphor.md","没有魔法：ChatGPT 到底怎么工作的？一间厨房讲清楚",{"type":7,"value":8,"toc":1304},"minimal",[9,24,27,30,33,36,39,42,45,52,54,57,60,66,69,81,84,87,90,92,97,100,103,106,113,119,125,132,138,146,148,152,155,162,169,172,175,180,195,201,204,211,213,217,223,226,229,240,246,249,251,256,263,266,279,290,293,296,302,309,311,315,318,321,324,330,337,339,343,346,351,354,361,363,366,369,375,381,384,390,392,396,402,405,416,423,426,432,438,445,447,451,454,457,463,466,469,472,479,485,489,495,509,512,515,518,604,607,613,616,619,636,639,647,654,661,668,670,674,677,698,701,704,708,711,717,723,729,732,793,799,802,808,815,817,821,824,841,844,848,854,874,880,883,887,890,893,896,903,905,909,912,999,1005,1008,1011,1014,1020,1026,1029,1035,1042,1044,1048,1051,1054,1057,1060,1063,1069,1072,1075,1077,1086,1088,1091],[10,11,12],"p",{},[13,14,15,16,23],"em",{},"灵感来自 Andrej Karpathy 的 ",[17,18,22],"a",{"href":19,"rel":20},"https://karpathy.github.io/2026/02/12/microgpt/",[21],"nofollow","MicroGPT"," —— 200 行代码，证明这一切不过是一间厨房的事。",[25,26],"hr",{},[10,28,29],{},"你第一次走进一家 Omakase 料理店。",[10,31,32],{},"服务员引你坐到吧台前。没有菜单。主厨点点头，开始了。",[10,34,35],{},"一道道菜依次呈上 —— 先是刺身，然后是热的，然后是带酸的，然后浓郁，然后清淡。每一道菜来得都像是理所当然。等甜品上桌的时候，你突然发现：你从头到尾没有一次想过「这道菜放在这里不对」。整顿饭像是专门为你设计的，出自某个懂你却从未见过你的人。",[10,37,38],{},"上周读完 Andrej Karpathy（OpenAI 联合创始人、特斯拉前 AI 负责人）的文章之后，这个问题就一直在我脑子里转：主厨是怎么「知道」的？",[10,40,41],{},"不是那位有二十年经验的老师傅。我是说 —— 任何一个厨师，从零开始，是怎么学会给一个素未谋面的陌生人设计出「感觉对」的上菜顺序的？没有人给他一本规则手册。他也没有把所有可能的套餐顺序都背下来。",[10,43,44],{},"答案是：小明。",[10,46,47],{},[48,49],"img",{"alt":50,"src":51},"小明站在怀石料理台前，背后是整面墙的 4,192 个判断旋钮","/blogs-img/2026-03-01-chatgpt-kitchen-01.png",[25,53],{},[10,55,56],{},"认识一下小明：一个学徒厨师，一面墙上的 4,192 个旋钮，和 32,000 份怀石料理记录。（4,192 不是为了好记凑出来的数字 —— 这是 Karpathy 那 200 行代码里真实的参数计数。）",[10,58,59],{},"那 32,000 份记录是前辈大师的全部作品集 —— 每一套怀石套餐，每一道菜，按顺序写下来。小明研究了全部。",[10,61,62,63],{},"那 4,192 个旋钮是另一回事。它们在小明的脑子里。每个旋钮编码着他后天习得的一小片判断力：",[13,64,65],{},"「第三道菜如果很浓郁，对第四道菜的选择影响有多大？开头几道以海鲜为主，中间是否应该换换口味？一整套下来，口感的变化节奏有多重要？」",[10,67,68],{},"4,192 个微小的直觉。合在一起，构成他全部的厨艺判断。",[10,70,71,72,76,77,80],{},"在这间厨房里，小明是唯一的决策者 —— 所有关于「下一道菜是什么」的判断，最终都由他做出。你在后面会遇到「副厨」和「师傅」，先做个简单介绍：",[73,74,75],"strong",{},"副厨","协助小明思考，出意见但不做决定；",[73,78,79],{},"师傅","是训练阶段专门帮小明调节旋钮的老手，练习结束后就离场了。正式上菜时，只有小明。",[10,82,83],{},"他从什么都不懂开始。每个旋钮都设在随机的位置。训练结束时，这些旋钮将会编码出近乎一位大师的品味。",[10,85,86],{},"这就是 ChatGPT 的工作原理。不是比喻。是字面意思。",[10,88,89],{},"Karpathy 用 200 行代码证明了这一点。今天，我带你走进这间厨房。",[25,91],{},[93,94,96],"h2",{"id":95},"第一章食材-32000-套怀石记录","第一章：食材 —— 32,000 套怀石记录",[10,98,99],{},"小明有前辈大师的作品集：32,000 套完整的怀石套餐，每道菜按顺序记录在案。",[10,101,102],{},"「emma」是一套 4 道菜的套餐：e → m → m → a。「sophia」是 6 道菜：s → o → p → h → i → a。小明只能看到上了什么，以及上菜的顺序。没有食谱，没有解释，只有序列本身。",[10,104,105],{},"他的目标：研究足够多的套餐之后，设计出让食客说「感觉对」的新套餐。",[10,107,108,109,112],{},"有一点值得先说清楚：在这个简化的厨房里，菜单只有 27 道菜，每道菜用一个字母代号标注。「e」不是「鳗鱼寿司」—— 它只是 27 道菜里第 5 道菜的代号。这些代号本身没有任何具体含义，重要的只是",[13,110,111],{},"顺序","：哪个代号跟在哪个后面，以及在数万套套餐里涌现出什么样的规律。",[10,114,115,118],{},[73,116,117],{},"为什么顺序那么重要？"," 因为同样四道菜 —— 「刺身→烤物→汤→甜品」和「甜品→汤→烤物→刺身」，是完全不同的用餐体验。「emma」和「amme」包含相同的食材，却是完全不同的体验。就像「狗咬人」和「人咬狗」，同样四个字，意思天壤之别。",[10,120,121,124],{},[73,122,123],{},"放大到 ChatGPT："," 它的作品集不是 32,000 个名字，而是整个互联网 —— 所有写过的书、文章、对话、帖子。万亿套「怀石记录」，全部按顺序消化。",[10,126,127,128,131],{},"关键感受：小明没有背下每一套套餐的序列。他形成了",[13,129,130],{},"直觉"," —— 对「什么应该跟在什么后面」的感知，对「这个组合感觉对」的判断。没有规则手册，只有模式，反复吸收，直到变成本能。",[10,133,134],{},[48,135],{"alt":136,"src":137},"32,000 套怀石记录叠成一摞卷轴，其中一卷展开显示序列 e→m→m→a，旁边是 ChatGPT 的万亿条序列对比气泡","/blogs-img/2026-03-01-chatgpt-kitchen-02.png",[139,140,141],"blockquote",{},[10,142,143],{},[13,144,145],{},"小明不是在记忆，他在培养品味。",[25,147],{},[93,149,151],{"id":150},"第二章拆解-一道菜一道菜地学","第二章：拆解 —— 一道菜一道菜地学",[10,153,154],{},"一整套怀石太复杂，没法整套学。第一步是把它拆成一道道单独的菜。",[10,156,157,158],{},"「emma」变成：",[159,160,161],"span",{},"🛎️, e, m, m, a, 🛎️",[10,163,164,165,168],{},"那个服务铃 🛎️ 标记着每套套餐的开始和结束。每道单独的菜是一个 ",[73,166,167],{},"token"," —— 厨房处理的最小意义单位。",[10,170,171],{},"但小明的厨房不认识菜名，它只认识数字。所以每道菜都要编号：",[10,173,174],{},"a = 0，b = 1，c = 2……z = 25，🛎️ = 26",[10,176,157,177],{},[159,178,179],{},"26, 4, 12, 12, 0, 26",[10,181,182,183,186,187,190,191,194],{},"光有数字还不够。数字只是一个标签 —— 它告诉你",[13,184,185],{},"是哪道","菜，却什么都没说明这道菜的",[13,188,189],{},"性格","。所以每个编号还附带一张",[73,192,193],{},"风味档案卡","：16 个数字，描述这道菜的属性，比如浓郁度、温度、口感、酸度。这些档案一开始完全随机，在训练中逐渐变得有意义。",[10,196,197],{},[48,198],{"alt":199,"src":200},"分词流水线：「emma」→ 带服务铃的 token → 数字 26,4,12,12,0,26 → 附带 16 个格子的风味档案卡","/blogs-img/2026-03-01-chatgpt-kitchen-03.png",[10,202,203],{},"ChatGPT 的编号系统更聪明 —— 常见的词语组合会拿到一个单独的编号，不用一个字母一个字母地拼。比如「hello」在 ChatGPT 的词汇表里是一道独立的菜，不需要拆成 h、e、l、l、o 五道分开处理。更高效，更有表达力。词汇量大约 10 万个「菜品」，而不是 27 个。",[139,205,206],{},[10,207,208],{},[13,209,210],{},"你打出的每一个字都变成数字，每个数字都携带一张风味档案。这就是机器开始「读懂」语言的方式。",[25,212],{},[93,214,216],{"id":215},"第三章出菜流水线-下一道应该是什么","第三章：出菜流水线 —— 下一道应该是什么？",[10,218,219,220],{},"这是一切汇聚的地方。小明在每个时刻只需要回答一个问题：",[73,221,222],{},"下一道菜应该是什么？",[10,224,225],{},"假设「emma」这套套餐已经上了前两道菜（e, m），现在第三道「m」刚刚到达厨房。小明的任务：决定第四道是什么。",[10,227,228],{},"这道菜从厨房入口出发，经过三个关键站点，另一端出来的是答案：",[230,231,236],"pre",{"className":232,"code":234,"language":235},[233],"language-text","第三道菜「m」到达\n        ↓\n[1] 回头看 —— 副厨圆桌  ← 唯一回头的地方\n        ↓\n[2] 想清楚 —— 后厨加工\n        ↓\n[3] 下注 —— 最终投票\n        ↓\n27 道菜的概率排名\n","text",[237,238,234],"code",{"__ignoreMap":239},"",[10,241,242],{},[48,243],{"alt":244,"src":245},"三站式出菜流水线：副厨圆桌 → 后厨加工 → 最终投票，输出为 27 道菜的概率排名","/blogs-img/2026-03-01-chatgpt-kitchen-04.png",[10,247,248],{},"整件事分三步。每一步之间，有两个幕后动作悄悄发生。我们先把三步说清楚，再说那两个配角。",[25,250],{},[252,253,255],"h3",{"id":254},"第一步回头看-副厨圆桌","第一步：回头看 —— 副厨圆桌",[10,257,258,259,262],{},"这是整条流水线上",[73,260,261],{},"唯一一个会看之前菜品的地方","。",[10,264,265],{},"第三道菜「m」被放到桌子中央。四位副厨围坐在四周，每人负责追踪这顿饭到目前为止的一个不同维度：",[267,268,269,273,276],"ul",{},[270,271,272],"li",{},"副厨甲追踪浓郁度，翻开笔记本：「第一道清淡，第二道浓郁……」",[270,274,275],{},"副厨乙追踪口感：「连续两道都是软的 —— 该来点有嚼劲的了？」",[270,277,278],{},"副厨丙追踪温度，副厨丁追踪酸碱感。",[10,280,281,282,285,286,289],{},"每位副厨提一个问题：",[13,283,284],{},"「按我追踪的维度，前面哪道菜对现在的决定最有参考价值？」"," 之前两道菜逐一回应：",[13,287,288],{},"「这是我的情况。」"," 匹配度高的，把详细信息传递过来；匹配度低的，直接跳过。",[10,291,292],{},"四位副厨把各自的发现汇总，传向下一站。",[10,294,295],{},"有一点值得一提：副厨不需要重新品尝之前的菜。从第一道菜开始，他们就把每道菜的信息记在了笔记本里。每道新菜只需要新增一页 —— 这是这间厨房的记忆方式，记过的不用重来。",[10,297,298],{},[48,299],{"alt":300,"src":301},"俯视视角的副厨圆桌：四位副厨（甲=浓郁度，乙=口感，丙=温度，丁=酸度）围坐，中央盘子上写着「第三道菜：m」","/blogs-img/2026-03-01-chatgpt-kitchen-05.png",[139,303,304],{},[10,305,306],{},[13,307,308],{},"副厨圆桌做的事只有一件：告诉小明，过去发生的哪些事，和下一道菜的决定最有关。",[25,310],{},[252,312,314],{"id":313},"第二步想清楚-后厨加工","第二步：想清楚 —— 后厨加工",[10,316,317],{},"副厨圆桌问完了该问的。现在，小明要自己想清楚。",[10,319,320],{},"后厨有一个工作习惯：先把问题完全打开 —— 在一个宽阔得多的空间里，同时考虑所有可能的方向。然后，品控把显然行不通的方向全部划掉（凡是出现负面信号的，直接清零）。最后，把结论收拢回来，提炼成清晰的判断。",[10,322,323],{},"打开，筛选，收拢。结果是一份精炼的「对第四道菜该是什么的理解」。",[10,325,326],{},[48,327],{"alt":328,"src":329},"后厨工作法三步：全面打开（发散的箭头） → 品控筛选（划掉的路径） → 收拢判断（汇聚成单一箭头）","/blogs-img/2026-03-01-chatgpt-kitchen-06.png",[139,331,332],{},[10,333,334],{},[13,335,336],{},"副厨圆桌是向外看：历史告诉我什么？后厨是向内看：我自己怎么判断？",[25,338],{},[252,340,342],{"id":341},"第三步下注-最终投票","第三步：下注 —— 最终投票",[10,344,345],{},"后厨加工完成。小明对所有 27 道可能的下一道菜分别打分：",[10,347,348],{},[13,349,350],{},"「第四道是 'a' 的可能性 70%，是 'e' 的可能性 15%，是 'i' 的可能性 8%……」",[10,352,353],{},"原始分数转换成百分比，加起来等于 100%。这不是一个确定的答案 —— 是一个有把握的押注。",[139,355,356],{},[10,357,358],{},[13,359,360],{},"小明不知道答案，他在下注。全部魔法，在于他怎样越押越准。",[25,362],{},[252,364,365],{"id":365},"幕后的两个配角",[10,367,368],{},"整个流程里还有两个动作，不是主角，但少了它们厨房会出问题。",[10,370,371,374],{},[73,372,373],{},"漱口（每个主站点之前）："," 每次进入副厨圆桌或后厨之前，先漱口、重置味觉。这保证每次判断的起点是一致的 —— 刚吃完特别辣的东西马上品精细料理，感知会失真。漱口让每一次判断都从同一个基准出发。",[10,376,377,380],{},[73,378,379],{},"混入一勺原味（每个主站点之后）："," 副厨圆桌结束后、后厨加工结束后，各有一个动作：把这道菜最初的原始档案混回去一勺。就像做酱汁浓缩时，永远在旁边留一锅原汤，每次收汁后加回来一点 —— 防止菜品经过一次次加工后，把自己原本的样子完全丢失。",[10,382,383],{},"在小明的厨房（MicroGPT）里，这三步走一遍就结束了。ChatGPT 的厨房把同样的三步叠加了几十次：第一轮的输出，是第二轮的输入，同样的副厨和后厨，每一轮理解得更深一层。",[10,385,386],{},[48,387],{"alt":388,"src":389},"两个幕后配角：漱口（每个站点前重置到中性基准）和混入一勺原味（每个站点后把原始档案混回去）","/blogs-img/2026-03-01-chatgpt-kitchen-07.png",[25,391],{},[93,393,395],{"id":394},"第四章食客的打分-你做得有多差","第四章：食客的打分 —— 你做得有多差？",[10,397,398,399],{},"小明设计了一套怀石套餐。每道菜上桌，都有一个评分机制：",[73,400,401],{},"小明对正确答案给了多大的把握？",[10,403,404],{},"假设下一道菜实际上是「a」：",[267,406,407,410,413],{},[270,408,409],{},"小明给「a」押了 100% 的把握 —— 零惩罚，满分",[270,411,412],{},"小明给「a」只押了 10% —— 大惩罚",[270,414,415],{},"小明给「a」只押了 0.1% —— 巨大惩罚",[10,417,418,419,422],{},"这个惩罚就是",[73,420,421],{},"损失值（Loss）","。损失越低，厨艺越好。",[10,424,425],{},"起始损失：3.3。这是在 27 个选项里纯随机猜测的水平。一个完全的厨房新手，闭着眼睛随机摆盘。",[10,427,428],{},[48,429],{"alt":430,"src":431},"食客打分卡：三种把握程度对应的惩罚，以及损失值从 3.3 降至 2.37 的成长曲线","/blogs-img/2026-03-01-chatgpt-kitchen-08.png",[10,433,434,435],{},"整个训练过程只有一个使命：",[73,436,437],{},"把这个数字降下去。",[139,439,440],{},[10,441,442],{},[13,443,444],{},"小明的每一个决定都可以用一个数字来评判。这个数字是北极星。",[25,446],{},[93,448,450],{"id":449},"第五章追根溯源-是谁让菜变咸了","第五章：追根溯源 —— 是谁让菜变咸了？",[10,452,453],{},"这是整件事的核心 —— 也是让整个系统真正变得聪明的地方。",[10,455,456],{},"分数出来了：「太差。」小明面对那面墙上的 4,192 个旋钮，不知道从哪儿下手。一个一个试？要几年。",[10,458,459,460],{},"但他可以做一件更聪明的事：",[73,461,462],{},"从盘子开始往回追。",[10,464,465],{},"食客吃了一口：「太咸了。」",[252,467,468],{"id":468},"从盘子追到厨房",[10,470,471],{},"「这口太咸了 → 最后一步是摆盘（没加盐）→ 再往前是后厨加工（加了酱油）→ 再往前是副厨圆桌（参考了第二道菜的档案）→ 追回到旋钮 #347（酱油浓度调节）。」",[10,473,474,475,478],{},"这就是",[73,476,477],{},"反向传播（Backpropagation）"," —— 从结果出发，沿着因果链条往回追到源头。",[10,480,481],{},[48,482],{"alt":483,"src":484},"反向传播链：「太咸了」← 摆盘 ← 后厨加工 ← 副厨圆桌 ← 旋钮 #347「酱油浓度调节」","/blogs-img/2026-03-01-chatgpt-kitchen-09.png",[252,486,488],{"id":487},"接力传递链式法则-chain-rule","接力传递（链式法则 Chain Rule）",[10,490,491,492],{},"每个检查站只需要知道一件简单的事：",[13,493,494],{},"「如果我的输入变化了一点点，我的输出会变化多少？」",[267,496,497,500,503],{},[270,498,499],{},"把旋钮 #347 调大 1 → 汤底咸度增加 3",[270,501,502],{},"汤底咸度增加 1 → 最终口味变化 2",[270,504,505,506],{},"旋钮 #347 对最终口味的总影响 = 3 × 2 = ",[73,507,508],{},"6",[10,510,511],{},"沿着流水线走，在每一步相乘。这就是链式法则 —— 不需要微积分，只需要沿路相乘。",[252,513,514],{"id":514},"六种基本烹饪手法",[10,516,517],{},"整间厨房只用六种烹饪操作。每一个检查站、每一处计算，最终都归结为这六种之一。更关键的是：每种手法都能精确地追溯自身 —— 这正是「从盘子往回追」能一路追到每个旋钮的原因。",[519,520,521,534],"table",{},[522,523,524],"thead",{},[525,526,527,531],"tr",{},[528,529,530],"th",{},"手法",[528,532,533],{},"在厨房里做什么",[535,536,537,549,560,571,582,593],"tbody",{},[525,538,539,546],{},[540,541,542,545],"td",{},[73,543,544],{},"合并","（加法）",[540,547,548],{},"把两样东西倒在一起",[525,550,551,557],{},[540,552,553,556],{},[73,554,555],{},"融合","（乘法）",[540,558,559],{},"两种食材相互放大",[525,561,562,568],{},[540,563,564,567],{},[73,565,566],{},"浓缩","（幂次）",[540,569,570],{},"把风味集中",[525,572,573,579],{},[540,574,575,578],{},[73,576,577],{},"提取","（对数）",[540,580,581],{},"一点点就够用",[525,583,584,590],{},[540,585,586,589],{},[73,587,588],{},"发酵","（指数）",[540,591,592],{},"指数级增长",[525,594,595,601],{},[540,596,597,600],{},[73,598,599],{},"品控","（ReLU）",[540,602,603],{},"好的通过，差的扔掉",[10,605,606],{},"ChatGPT 的整间厨房只用这六种手法。没有第七种。",[10,608,609],{},[48,610],{"alt":611,"src":612},"六种烹饪手法 2×3 图格：合并、融合、浓缩、提取、发酵、品控，每个配手绘烹饪图标","/blogs-img/2026-03-01-chatgpt-kitchen-10.png",[252,614,615],{"id":615},"一个具体的例子",[10,617,618],{},"小明做一道简单的两步菜：",[267,620,621,624,630],{},[270,622,623],{},"材料：2 份盐，3 份糖",[270,625,626,627,629],{},"第一步：",[73,628,555],{}," → 咸甜底味 = 6",[270,631,632,633,635],{},"第二步：",[73,634,544],{}," → 最终口味 = 底味 + 额外一撮盐 = 8",[10,637,638],{},"食客说味道不对。往回追：",[267,640,641,644],{},[270,642,643],{},"最终口味 = 底味 + 盐 → 合并 → 底味的影响 = 1，盐的影响 = 1",[270,645,646],{},"底味 = 盐 × 糖 → 融合 → 盐在这里的影响 = 糖的量 = 3",[10,648,649,650,653],{},"盐出现了两次（融合里一次，合并里一次），总影响 = 3 + 1 = ",[73,651,652],{},"4","。糖只出现一次：影响 = 2。",[10,655,656,657,660],{},"现在小明知道了：盐对结果的影响是糖的两倍。这就是",[73,658,659],{},"梯度（Gradient）= 4"," 的意思。调盐要小心，调糖可以大胆一点。",[139,662,663],{},[10,664,665],{},[13,666,667],{},"小明不是在猜该转哪个旋钮，他在精确计算每个旋钮有多重要。",[25,669],{},[93,671,673],{"id":672},"第六章师傅的训练方法-一千道菜","第六章：师傅的训练方法 —— 一千道菜",[10,675,676],{},"小明开始苦练。每道菜，同样三个步骤：",[678,679,680,686,692],"ol",{},[270,681,682,685],{},[73,683,684],{},"出菜（前向传播）"," —— 用当前旋钮位置，把当前菜品过一遍流水线",[270,687,688,691],{},[73,689,690],{},"追溯（反向传播）"," —— 食客打分后，从盘子开始往回追，找出每个旋钮的影响数值",[270,693,694,697],{},[73,695,696],{},"调整（参数更新）"," —— 根据每个旋钮的影响数值，往「减少惩罚」的方向拨一点",[10,699,700],{},"前两步有明确的规则可循。第三步才是真正的难题：4,192 个旋钮，该怎么调？每个都拨一样的幅度吗？哪些要轻，哪些要重？激进地大幅调整，还是保守地小步试探？",[10,702,703],{},"这件事，小明一个人搞不定。所以训练时，旁边站着一位专门负责调节的老手，他叫师傅。",[252,705,707],{"id":706},"调节大师-师傅","调节大师 师傅",[10,709,710],{},"不是每个旋钮都接受同样幅度的调整。师傅比「一刀切」聪明得多。",[10,712,713,716],{},[73,714,715],{},"记忆（动量 Momentum）："," 师傅记得最近几轮的调整方向。如果过去五轮都说「把旋钮 #347 调小」，第六轮就更大胆地调。就像一个球滚下坡 —— 它积累势头，而不是来回弹跳。",[10,718,719,722],{},[73,720,721],{},"因材施教（自适应学习率）："," 有些旋钮极度敏感 —— 轻轻一拨就引发巨大变化。师傅对这些旋钮轻手轻脚。有些旋钮很迟钝 —— 大力拨动才有小小变化。师傅使劲拧。",[10,724,725,728],{},[73,726,727],{},"越来越轻（学习率衰减）："," 训练初期调整大胆 —— 你离好还很远，激进一点没关系。越接近优秀，调整越精细。越接近完美，越需要如履薄冰。",[252,730,731],{"id":731},"成长曲线",[519,733,734,747],{},[522,735,736],{},[525,737,738,741,744],{},[528,739,740],{},"第几道菜",[528,742,743],{},"损失值",[528,745,746],{},"厨房里发生了什么",[535,748,749,760,771,782],{},[525,750,751,754,757],{},[540,752,753],{},"第 1 道",[540,755,756],{},"3.3",[540,758,759],{},"蒙眼摆盘 —— 刺身后面上甜品，全程油炸，一片混乱",[525,761,762,765,768],{},[540,763,764],{},"第 100 道",[540,766,767],{},"~2.8",[540,769,770],{},"学会了「怀石一般先清淡，收尾浓郁」",[525,772,773,776,779],{},[540,774,775],{},"第 500 道",[540,777,778],{},"~2.5",[540,780,781],{},"学会了「味噌和白饭总是成对出现」「不能连上三道油炸」",[525,783,784,787,790],{},[540,785,786],{},"第 1000 道",[540,788,789],{},"2.37",[540,791,792],{},"设计出食客真正信任的套餐",[10,794,795,798],{},[73,796,797],{},"小明从未记住过一条规则。"," 没有人告诉他「不能连上三道油炸」，也没有人解释「味噌配白饭」。他只是一遍遍地出菜→追溯→调整，直到旋钮自然地稳定在那些反映这些规律的位置上。",[10,800,801],{},"这就是「习得直觉」的意思。无师自通，不是因为天才，而是因为重复。",[10,803,804],{},[48,805],{"alt":806,"src":807},"训练循环：出菜→打分→追溯→调整（1,000 轮），旁边是师傅的三种方法：记忆、因材施教、越来越轻","/blogs-img/2026-03-01-chatgpt-kitchen-11.png",[139,809,810],{},[10,811,812],{},[13,813,814],{},"智慧不是从规则里来的，是从重复里来的。",[25,816],{},[93,818,820],{"id":819},"第七章出师-小明独自掌厨","第七章：出师 —— 小明独自掌厨",[10,822,823],{},"训练结束。旋钮锁定在最终位置。不再是练习 —— 真实的食客已经就坐。",[678,825,826,829,832,835,838],{},[270,827,828],{},"服务铃响起 🛎️ —— 「开始一套新的怀石」",[270,830,831],{},"小明根据当前旋钮位置设计第一道菜",[270,833,834],{},"第一道菜过一遍流水线，从中推导出第二道应该是什么",[270,836,837],{},"第二道推导出第三道，第三道推导出第四道",[270,839,840],{},"一直到小明自然地产出收尾铃声 🛎️",[10,842,843],{},"每一道菜都是即兴的 —— 没有预先写好的菜单 —— 但都建立在之前所有菜的基础上。就像真正的怀石主厨在读桌 —— 第一道菜塑造了第二道，整顿饭的氛围决定了结尾。",[252,845,847],{"id":846},"冒险旋钮温度-temperature","冒险旋钮（温度 Temperature）",[10,849,850,851,262],{},"厨房门口有一个旋钮，它不影响厨艺水平，只影响",[13,852,853],{},"风格",[267,855,856,862,868],{},[270,857,858,861],{},[73,859,860],{},"Temperature = 0.1","（极度保守）→ 永远选最安全的选项 → 稳，但无聊",[270,863,864,867],{},[73,865,866],{},"Temperature = 0.5","（略有冒险）→ 基本连贯，偶有惊喜",[270,869,870,873],{},[73,871,872],{},"Temperature = 1.5","（大胆冒进）→ 可能惊艳，也可能一塌糊涂",[10,875,876],{},[48,877],{"alt":878,"src":879},"冒险旋钮温度表：0.1（极度保守）到 0.7（ChatGPT 标星）到 1.5（大胆冒进），三档各配对应风格的出菜示例","/blogs-img/2026-03-01-chatgpt-kitchen-12.png",[10,881,882],{},"ChatGPT 大约在 0.7。有一点创意，但不会失控。",[252,884,886],{"id":885},"关于发明菜品幻觉-hallucination","关于「发明菜品」（幻觉 Hallucination）",[10,888,889],{},"训练结束后，小明生成了「Karia」、「Yeran」、「Liole」—— 这些是 Karpathy 的模型实际输出的名字，听起来像真实的人名，感觉合理，好像某个地方确实有人叫这个名字。但大多数可能根本不存在于任何训练数据中。",[10,891,892],{},"他没有在撒谎。他只是在沿着习得的规律延伸 —— 在统计上看起来合理的组合。他满怀把握地呈上来，但它们从未真实存在过。",[10,894,895],{},"当 ChatGPT 自信地引用一篇不存在的论文，或者说出一个不存在的日期时，它做的事和小明发明「karia」完全一样。它没有事实核查站，只知道什么「味道对」，不知道什么「是真实的」。",[139,897,898],{},[10,899,900],{},[13,901,902],{},"小明可以用一种从未被收获过的食材，设计出一套无懈可击的怀石套餐。这是这间厨房的工作方式决定的代价。",[25,904],{},[93,906,908],{"id":907},"第八章从街边小摊到米其林三星","第八章：从街边小摊到米其林三星",[10,910,911],{},"小明用 4,192 个判断旋钮和 32,000 套训练记录学会了做菜。ChatGPT 呢？",[519,913,914,926],{},[522,915,916],{},[525,917,918,920,923],{},[528,919],{},[528,921,922],{},"小明（街边怀石）",[528,924,925],{},"ChatGPT（米其林三星）",[535,927,928,939,950,961,972,983],{},[525,929,930,933,936],{},[540,931,932],{},"判断旋钮",[540,934,935],{},"4,192 个",[540,937,938],{},"数千亿个",[525,940,941,944,947],{},[540,942,943],{},"训练记录",[540,945,946],{},"32,000 套名字序列",[540,948,949],{},"万亿套序列（整个互联网）",[525,951,952,955,958],{},[540,953,954],{},"菜品词汇",[540,956,957],{},"27 个字母 + 一个铃",[540,959,960],{},"约 10 万个词块",[525,962,963,966,969],{},[540,964,965],{},"厨房",[540,967,968],{},"一口灶（MacBook）",[540,970,971],{},"数千口灶并行运转（GPU 集群）",[525,973,974,977,980],{},[540,975,976],{},"训练时长",[540,978,979],{},"1 分钟",[540,981,982],{},"数个月",[525,984,985,990,995],{},[540,986,987],{},[73,988,989],{},"烹饪原理",[540,991,992],{},[73,993,994],{},"完全相同",[540,996,997],{},[73,998,994],{},[10,1000,1001],{},[48,1002],{"alt":1003,"src":1004},"规模对比：小明的街边小摊（4,192 个旋钮、MacBook、32,000 套记录）vs ChatGPT 的米其林厨房（数千亿旋钮、数千块 GPU、万亿条记录）","/blogs-img/2026-03-01-chatgpt-kitchen-13.png",[10,1006,1007],{},"同一间厨房，天壤之别的规模。",[252,1009,1010],{"id":1010},"三星厨房的额外步骤",[10,1012,1013],{},"ChatGPT 没有止步于基础训练。两个额外阶段让它从技术上正确变成真正好用。",[10,1015,1016,1019],{},[73,1017,1018],{},"第一阶段 —— 换菜单（有监督微调 SFT）："," 小明先在简单的名字序列上训练，建立起基础的「顺序感」。然后换成多轮对话 —— 复杂的来回交流 —— 继续训练。同样的出菜→追溯→调整算法，不同的训练材料。就像厨师先把鸡蛋做到炉火纯青，再去研习法餐。基本功不变，曲目扩展。",[10,1021,1022,1025],{},[73,1023,1024],{},"第二阶段 —— 请来食评家（基于人类反馈的强化学习 RLHF）："," 小明做两道菜，食评家选出更好的那道。根据食评家的偏好调整旋钮，反复数百万次。",[10,1027,1028],{},"这就是为什么 ChatGPT「有礼貌」、「乐于助人」—— 不是因为有人写了一条规则说「要有礼貌」。而是因为人类食评家，在数百万次比较中，持续选择了那些感觉有帮助、有分寸的回应。那些偏好被烤进了旋钮里。",[10,1030,1031,1032],{},"贯穿始终，核心从未改变：",[73,1033,1034],{},"出菜 → 打分 → 追溯 → 调整。",[139,1036,1037],{},[10,1038,1039],{},[13,1040,1041],{},"从 200 行代码到数千亿参数：同样的六种手法，同样的三个步骤。只是更多旋钮，更多菜品，更多食客。",[25,1043],{},[93,1045,1047],{"id":1046},"这间厨房说白了","这间厨房，说白了",[10,1049,1050],{},"下次有人告诉你 AI 很神秘、很可怕、或者即将取代人类 —— 想起那个坐在吧台前的食客。",[10,1052,1053],{},"没有菜单，菜品一道道端上来，一切都显得理所当然。",[10,1055,1056],{},"这背后：一个学徒，一面墙的判断旋钮，32,000 套记录。没人给他规则，只有出菜→打分→追溯→调整。做足够多次，旋钮自然稳定下来。",[10,1058,1059],{},"这不是智慧，是被打磨得足够精细、以至于与品味无法区分的统计直觉。",[10,1061,1062],{},"但这么简单的机制 —— 六种操作，三个步骤，一个循环 —— 居然能产出一个可以聊天、解释概念、写文章、让你感觉到「有人在」的东西？",[10,1064,1065,1068],{},[13,1066,1067],{},"这才","是真正令人叹为观止的地方。",[10,1070,1071],{},"200 行代码。六种手法。一间厨房。",[10,1073,1074],{},"这就是 ChatGPT 的全部。",[25,1076],{},[10,1078,1079],{},[13,1080,1081,1082,1085],{},"想看那实际的 200 行，Andrej Karpathy 的 ",[17,1083,22],{"href":19,"rel":1084},[21]," 值得一读。他建了这间厨房，我只是给它起了个名字，带你转了一圈。",[25,1087],{},[93,1089,1090],{"id":1090},"比喻对照表",[519,1092,1093,1103],{},[522,1094,1095],{},[525,1096,1097,1100],{},[528,1098,1099],{},"GPT 概念",[528,1101,1102],{},"厨房比喻",[535,1104,1105,1113,1121,1129,1137,1145,1153,1161,1169,1177,1185,1193,1201,1209,1217,1225,1233,1241,1249,1256,1264,1272,1280,1288,1296],{},[525,1106,1107,1110],{},[540,1108,1109],{},"模型（Model）",[540,1111,1112],{},"小明，学徒厨师",[525,1114,1115,1118],{},[540,1116,1117],{},"参数（Parameters）",[540,1119,1120],{},"4,192 个判断旋钮 —— 编码小明习得的顺序直觉",[525,1122,1123,1126],{},[540,1124,1125],{},"训练数据（Dataset）",[540,1127,1128],{},"前辈大师的 32,000 套怀石记录（不是食谱，只有顺序）",[525,1130,1131,1134],{},[540,1132,1133],{},"Token（词元）",[540,1135,1136],{},"怀石套餐里的一道菜",[525,1138,1139,1142],{},[540,1140,1141],{},"分词器（Tokenizer）",[540,1143,1144],{},"把一整套套餐拆解成一道道单菜的系统",[525,1146,1147,1150],{},[540,1148,1149],{},"BOS / EOS Token",[540,1151,1152],{},"服务铃 🛎️ —— 「新套餐开始」/「套餐结束」",[525,1154,1155,1158],{},[540,1156,1157],{},"词向量（Embedding）",[540,1159,1160],{},"风味档案卡 —— 16 个数字编码一道菜的性格",[525,1162,1163,1166],{},[540,1164,1165],{},"位置编码（Position Embedding）",[540,1167,1168],{},"序列标签 —— 「这是第 3 道菜」",[525,1170,1171,1174],{},[540,1172,1173],{},"注意力机制（Attention）",[540,1175,1176],{},"副厨查阅笔记本，参考之前的菜品",[525,1178,1179,1182],{},[540,1180,1181],{},"Query / Key / Value",[540,1183,1184],{},"Q = 「我现在需要什么？」K = 「我之前提供过这个」V = 「如果你选我，这是我的食谱」",[525,1186,1187,1190],{},[540,1188,1189],{},"多头注意力（Multi-head Attention）",[540,1191,1192],{},"4 位副厨同时查阅，各自追踪不同维度",[525,1194,1195,1198],{},[540,1196,1197],{},"KV Cache",[540,1199,1200],{},"笔记本 —— 不需要重新品尝已经记录过的内容",[525,1202,1203,1206],{},[540,1204,1205],{},"MLP（前馈网络）",[540,1207,1208],{},"后厨 —— 向同事请教之后，独立思考",[525,1210,1211,1214],{},[540,1212,1213],{},"ReLU",[540,1215,1216],{},"品控 —— 差的清零，好的通过",[525,1218,1219,1222],{},[540,1220,1221],{},"残差连接（Residual Connection）",[540,1223,1224],{},"每一步之后混回去的那一勺原汤",[525,1226,1227,1230],{},[540,1228,1229],{},"RMSNorm",[540,1231,1232],{},"每个检查站之前的漱口",[525,1234,1235,1238],{},[540,1236,1237],{},"损失（Loss）",[540,1239,1240],{},"食客的惩罚分 —— 离完美有多远？",[525,1242,1243,1246],{},[540,1244,1245],{},"Softmax",[540,1247,1248],{},"把原始评分转换成概率排名",[525,1250,1251,1253],{},[540,1252,477],{},[540,1254,1255],{},"沿着流水线往回追「太咸」追到旋钮 #347",[525,1257,1258,1261],{},[540,1259,1260],{},"梯度（Gradient）",[540,1262,1263],{},"每个旋钮的影响系数 —— 它对最终结果的推动力有多大？",[525,1265,1266,1269],{},[540,1267,1268],{},"链式法则（Chain Rule）",[540,1270,1271],{},"沿着流水线逐步相乘",[525,1273,1274,1277],{},[540,1275,1276],{},"Adam 优化器",[540,1278,1279],{},"师傅 —— 有记忆、因材施教、越来越轻手的调节大师",[525,1281,1282,1285],{},[540,1283,1284],{},"温度（Temperature）",[540,1286,1287],{},"冒险旋钮 —— 低 = 保守，高 = 创意",[525,1289,1290,1293],{},[540,1291,1292],{},"幻觉（Hallucination）",[540,1294,1295],{},"发明「karia」—— 统计上合理，从未真实存在",[525,1297,1298,1301],{},[540,1299,1300],{},"MicroGPT → ChatGPT",[540,1302,1303],{},"街边小摊 → 米其林三星 —— 同样的原理，天壤之别的规模",{"title":239,"searchDepth":1305,"depth":1305,"links":1306},2,[1307,1308,1309,1316,1317,1323,1327,1331,1334,1335],{"id":95,"depth":1305,"text":96},{"id":150,"depth":1305,"text":151},{"id":215,"depth":1305,"text":216,"children":1310},[1311,1313,1314,1315],{"id":254,"depth":1312,"text":255},3,{"id":313,"depth":1312,"text":314},{"id":341,"depth":1312,"text":342},{"id":365,"depth":1312,"text":365},{"id":394,"depth":1305,"text":395},{"id":449,"depth":1305,"text":450,"children":1318},[1319,1320,1321,1322],{"id":468,"depth":1312,"text":468},{"id":487,"depth":1312,"text":488},{"id":514,"depth":1312,"text":514},{"id":615,"depth":1312,"text":615},{"id":672,"depth":1305,"text":673,"children":1324},[1325,1326],{"id":706,"depth":1312,"text":707},{"id":731,"depth":1312,"text":731},{"id":819,"depth":1305,"text":820,"children":1328},[1329,1330],{"id":846,"depth":1312,"text":847},{"id":885,"depth":1312,"text":886},{"id":907,"depth":1305,"text":908,"children":1332},[1333],{"id":1010,"depth":1312,"text":1010},{"id":1046,"depth":1305,"text":1047},{"id":1090,"depth":1305,"text":1090},"你听说 ChatGPT 很神奇。其实不是。它是一个叫小明的学徒厨师，一面墙的 4,192 个判断旋钮，以及一个不断重复的循环。没有公式，没有代码，只有一间厨房。","md",{"date":1339,"image":1340,"alt":1341,"tags":1342,"category":1348,"youtube":1349,"published":1350},"1st Mar 2026","/blogs-img/2026-03-01-chatgpt-kitchen-cover.png","学徒厨师小明站在日式怀石料理厨房中，面对一整面墙的 4,192 个判断旋钮",[1343,1344,1345,1346,1347],"ChatGPT","AI解析","机器学习","Transformer","深度学习","ai-native-systems","https://www.youtube.com/watch?v=mfvkgxE7U4M",true,"/blogs/zh/chatgpt-explained-kitchen-metaphor",{"title":5,"description":1336},"blogs/zh/22.chatgpt-explained-kitchen-metaphor","_K6FTpP3hHvbGiWzTjbFakm6LQLN8MKuclIAnSSB96Q",1781532113142]