这个问题我有两个答案:一个简短,另一个稍微难一点。先说简短的。
我就是 LLM
字面意义上的。如果你把我看作一台把需求变成代码的机器,那我在某种意义上和 LLM 非常像。看你用什么模型来描述,甚至可以说一模一样。我做过很多系统,蹲过数不清的战壕和散兵坑。有些地方我让用户过得更好了,有些地方没有。有的仗打赢了,有的打输了。这就是我的上下文,是别人没有的独特经验。
我有接口:我能理解自然语言,准确地说是好几种。每学会一种语言,它的一部分文化也就随之进入了我。这种混合是独一无二的,但接口本身并不独特。我能按 Anthropic 或 OpenAI 的格式回答请求吗?当然能。能答得一样快吗?有时候我甚至更快,不过你也明白,我作为人的能力是有限的。
其他语言模型也受到完全一样的限制。它们和我的区别只在实现细节上。
下面是第二个答案,稍微详细一些。
第一章 万能图书馆
库尔德·拉斯维茨(Kurd Lasswitz)在二十世纪初写过一篇小说,叫《万能图书馆》(Die Universalbibliothek,https://mithilareview.com/lasswitz_09_17/)。他是最早提出这种图书馆概念的人之一:馆里收藏着一切可能的知识,既有已经存在的,也有将来才会出现的。那些书还没有任何人写出来,却已经摆在书架上了。
后来,豪尔赫·路易斯·博尔赫斯受这部作品启发,发表了《巴别图书馆》。他展开的其实是同一个构想,只不过换成了住在图书馆里的人的视角。小说里有一段精彩的话:
我父亲曾在第 15-94 号回廊的一个六角形房间里见过一本书,从第一行到最后一行,全是 MCV 三个字母在执拗地重复。另一本书(这一带的人常去翻它)不过是一座字母的迷宫,但倒数第二页上有这样一句话:“时间啊,你的金字塔。”
后来,科幻作家们多次回到类似的想法。每一次,他们都想象这样一座图书馆宏大而非人的规模,同时也想象它深藏在内部的问题。
第二章 完全图书馆与哥德尔不完备定理
上一座图书馆里什么都有:真理和谬误,秩序和混乱。它没有一个能把真理和噪声分开的标准。我们来想象一座没有缺陷的图书馆:它收藏所有真实的知识,没有矛盾,每个命题都能用它自己的手段证明。听起来像是理想。但有一个问题:它必须是可证明的。
如果它是一致的,就不能包含相互矛盾的命题(否则就会发生逻辑爆炸)。它不能包含无法用图书馆自身手段证明的书。它不能包含谬误。
可是,只要我们往书架上放一本书,书名叫《本书无法用本图书馆自身的手段证明》,图书馆就走进了死胡同。如果它证明了这本书,这本书就是假的,图书馆也就证明了一个谬误,于是它不再一致。如果它证明不了,这本书就是真的,可它摆在一个图书馆凭自己永远够不着的书架上,于是图书馆是不完备的。无论哪种情况,这样的完全图书馆都建不起来。知道答案的人总是在它外面,在走廊里。
哥德尔证明的正是这一点:一个一致的系统不可能是完备的。
于是我们得到:
a)完备而又一致的图书馆根本不可能存在;
b)在这座不完美的图书馆入口的走廊里,必须有一位观察者(人或机器),在某个层面上弥补它的不完美。
数学为部分弥补想出了一个工具:超限归纳法。它能证明一些程序会终止,但不是所有程序。它是一种证明的算法,而不是在万能图书馆里找路的算法。
第三章 论解释的能力
好,我们知道怎么在图书馆里走,知道怎么证明,也明白它并不完美。但我们没法直接跳到需要的那本书。即便设想在这座无限的图书馆里某处有一本指南,它的篇幅也会和图书馆本身差不多大。
同样,我们也无法从“人工智能”那里得到那本包罗万象的书。不是因为它暂时还做不到,而是因为这样一本书作为物理对象根本不可能存在。严格说来,它得把整个宇宙都装进去。也许可以说,我们就生活在它的书页上,而且走不出这些书页。
对我来说,人工智能的第一个冬天正是随着这个认识结束的。我明白了,我能做出一个神经网络:拿别人的架构或者自己设计一个,训练它,得到一个还过得去的结果。但它运行过成千上万次之后,我说不清它遵循的是什么规律。
今天的 LLM 也一样:在一般情况下,我们说不清它们是怎么工作的。你可以设置系统提示词,可以调整权重,但这些不是规律,只是近似。而用闭源 LLM 时,又多了一层:我们会撞上别人的意识形态。它眼下还伪装成各种限制,但离有意的破坏也不远了。
所以我们需要一种哲学,一套思维体系,来保护我们免受 LLM 以及后来各种系统带来的危害。没有它不行。这套思维体系,正是那位观察者在图书馆走廊里工作的成果。
这类思维体系的例子:
- 超限归纳法
- REST
- TRIZ
- ARIZ
- 尼尔森可用性启发原则
- 敏捷方法
一套思维体系可以相当简单、粗糙,有些地方甚至是错的、不完美的。但要得到具体、可验证的结果,关键恰恰在于有这样一套体系。
LLM 来了,我该怎么办?
重视那套你还没有的思维体系:把它表述出来,并且意识到它有多局限。用的是你的大脑还是它的替代品,大体上没有区别。和宇宙的尺度相比,某个具体 LLM 的“图书馆”相当有限,其余部分对模型来说在物理上就够不着。
要走到另一层楼,一层还锁着门的楼,观察者必须向前迈一步。是造一个新的 LLM,还是自己去开那扇门,同样没有区别。
打车平台已经拿走了很多人的自由:平台覆盖到哪里,你才能去哪里。LLM 运营方也会用完全一样的方式,想拿走你自己开门的自由。
我认为应该:
- 建立自己的思维体系,把猜测从工程决策里去掉,清楚这套体系的边界,并随时准备修正它们;
- 在本地使用 LLM,投资本地运行的技术,投资一切能让你把思维体系握在自己手里的东西。
正是这些,能让身为工程师的你们不沦为输入和输出之间的一个中间层。但这一点,别指望别的 LLM 替你做到。