# 补丁崇拜
# 补丁时代
工业时代的系统设计,离不开模块化,所以越 “专业” 的人,越崇尚模块化。
这类 “专业” 人士,设计的系统,往往有鲜明的特征,比如:系统中有多套语言构成、且模块多到看花眼,最典型的比如 Web 环境中的 Html + Css + Javascript + Vue + Java + SQL。
当然不是说专业不好,而是说 “专业化” 和 “模块化” 不适合于 AGI 的架构,在工业生产中适用的规则,也许不再适用于通用智能。
以工业思维设计 AGI,可能适得其反,南辕北辙,因为容易把专用模块的堆砌,误以为是通用智能的路线,这是对 AGI 的 G,即通用一词的最大误解。
在通用智能设计中,模块则代表不必要的 补丁,AGI 不需要补丁,以最典型的 GI(通用智能)婴儿来举例,婴儿的大脑不需要额外嵌入“向量记忆库”,因为大脑神经元自身具有记忆功能。
要实现通用智能,必须先实现一个功能健全的核心,即一个完备的神经元细胞,然后再让这个核心细胞通过自我复制、连接和剪枝,演化出各种模块。
AGI 婴儿的大脑在成长过程中,自动自发地演化出各种的专业技能或模块,而不是依赖外部人为地嵌入各种 “模块”。
如果仅仅实现了一个功能不健全的核心,会导致各种问题,然后人们又不自觉地在外围打上各种补丁,这就类似下面的补丁图:
外围补丁越多,越能证明内核神经元的设计不完备,这样的补丁集合,可以成为不错的通用工具,但难以成为通用智能。
有人会说,通用的工具也很好啊,是很好,但也是有代价的:这种工具越 “智能”,其更新所需的人工投入就越多。
具体来说:
# 统计型神经元的设计有什么缺陷
主流学术界所谓的 “神经元网络”,在设计上有如下缺陷:
补丁 | 补丁尝试修补和附加的功能 / 内核缺失的功能 | 人类大脑神经元具备的能力 |
---|---|---|
强化学习 | 目标对齐(训练时) | 对多巴胺等激素的响应能力 |
提示词工程 | 目标对齐(部署时) | 对多巴胺等激素的响应能力 |
蒸馏 | 对不重要的“参数”的遗忘能力 | 遗忘能力、对有限能源的适应能力 |
向量记忆库 | 记忆能力(部署时)、细粒度记忆能力 | 记忆能力、边学边用的能力、局部记忆更新能力 |
还有很多,比如混合专家模式,这里就不再赘述了,补丁一旦开始使用,就停不下来。
你可以从它生态中众多的补丁,反向分析出来,内核缺失了哪些能力。
那么...
# 解决方案是什么?
反其道而行之,坚决不打补丁,持续专注于把该有的元功能添加到核心代码中:
设计完备的神经元,以及基于这种神经元构成的逻辑神经元网络,一切后天功能都应该交给神经元自身的成长来实现,而不可以人为附加功能补丁。
一旦发现了缺失的元功能,则应反思是否在内核的元功能设计上需要优化,而不是去外围加补丁。
具体来说,设计出完备的神经元的研究路径的细节都有哪些呢?
这是另外的话题,个人推荐参考 OpenNARS 的设计思路:
https://cis.temple.edu/~pwang (opens new window)
本文中的插图,是用 Blender 4.5 (opens new window) 绘制的,源文件如下:
https://oss.poerlang.com/nars/ani3.blend (opens new window)
https://oss.poerlang.com/nars/ani3toagi.blend (opens new window)