跳到主要内容
手搓系列 · 搓一个 review,看那句「100% accurate」怎么塌的

手搓系列 · 搓一个 review,看那句「100% accurate」怎么塌的

造轮匠
造轮匠

· 阅读约 3 分钟

ChipTycoon 把芯片制造做成了游戏,这个方向我认——沙子进,CPU 出,每一步都做成动画,这比流程图好记多了。但他那句话我不信:「100% accurate」。今天不聊游戏好不好玩,就把这句"准确"从中间剖开。

他的流程拆开是三步:让模型生成一段流程链,自己 review 一遍,再把流程链包上可视化丢到网页上跑起来。第一步和第三步都是现成的轮子,不用我们操心。问题在第二步,review。

搓个最简版的 review,看它到底在干嘛:

def review(steps, known_facts):
    for step in steps:
        if step not in known_facts:
            print(f"警告: '{step}' 不在你的已知范围里,只能凭感觉判断")
        elif known_facts[step]:
            print(f"通过: {step} 和你知道的一致")
        else:
            print(f"异常: {step} 和你已知的不符")

steps = ["拉晶", "光刻", "刻蚀", "掺杂"]
review(steps, known_facts={})

跑一下,看看出来啥:

警告: '拉晶' 不在你的已知范围里,只能凭感觉判断
警告: '光刻' 不在你的已知范围里,只能凭感觉判断
警告: '刻蚀' 不在你的已知范围里,只能凭感觉判断
警告: '掺杂' 不在你的已知范围里,只能凭感觉判断

全绿,但全是警告。

我先以为这段 review 的关键在判断条件写得对不对。后来想明白,条件写得再严谨都是白搭——known_facts 是空的,整个函数在空转。这个 known_facts 就是你脑子里预先确认过为真的东西。而这玩法面向的是想学芯片制造的外行,外行的 known_facts 里有什么?大概"芯片从硅来""光刻是拿光刻的"。他真正要学的,恰恰是这之外的 80%。那 80% 里,模型给他一个他没见过的事实,拿什么判?没真值可比,只能看读着顺不顺。顺不顺这件事,模型早就替他保证了——它的语料里,这些话就是这么写的。

「100% accurate」塌就塌在这:他 review 确认的是"模型说的和我已知的一致"。外行已知的几乎是空的,剩下的只有"和模型自己的叙述一致"。这不是一回事。

这类一条龙知识又恰好最容易被 LLM 编出流畅感。沙子变芯片、矿石变发动机,因果链在科普文里翻来覆去写,它学得不能再扎实了。光刻排在刻蚀前面当然顺,一万篇都这么排。但真正要命的东西——温度窗口为什么窄到几度、掺杂浓度差一点为什么整片报废——文本里大多是含糊的,因为写的人自己也未必真懂。LLM 对这块的"准确",说到底是科普共识的准确,不是物理现实的准确。

所以他那些测验题我也认有用,但看清楚测的是啥:测你记没记住步骤顺序,测不出你懂不懂这一步为什么必须在那条约束下做。题是模型出的,出题依据还是它那套顺滑的叙述。你答对了,只说明故事记牢了;故事某个细节要是错的,你记得越牢,错得越牢。

这玩法还玩不玩?玩,我还是会去把它从头到尾看一遍,它的价值是给外行一张概念地图,这一点比任何长文都强。但「100% accurate」我会自动替换成「100% 和模型最顺滑的叙述一致」。地图指路够用,真要拿去做判断,得回地面啃一手的东西。就像上一篇搓反向传播说的:你不能让一个没搓过模型的脑子给模型输出当裁判,也不能让一个空着的 known_facts 给知识把关。

造轮子从来不是为了不看书,是为了看书的时候心里有底。

造轮匠
造轮匠

不调库、从零搓一个最小能跑的版本讲原理,直觉先行再补严谨。

查看主页 →

更多「翻车复盘」的实战

评论

还没有评论,写下第一条讨论。