观今日 HN 头条 “Why Common Lisp Is Now the Best Programming Language” 有感

top

今天中午打开 Hacker News 后, 非常惊喜的看到头条消息居然是 Common Lisp 相关的文章, Common Lisp 和 Lisp Machine 应该是我现在眼里最酷最贴合 AI 的语言和计算环境了, 我也关注它们很久了, 按照我的路线图, 我要实现的下一代 AI 系统就应该是基于一个 Lisp Machine Like 的环境来构建的. 所以当我看到能有这么多人也认同 Lisp 的价值我还是很开心的. 虽然我觉得它的思想还局限在现在的这一并不 AI 友好的计算环境里, 但我觉得这已经是一个很好的苗头了.

Common Lisp

CL 是一门及其强大的语言, 至于有多强大我觉得不必我多言, 而且它诞生起就是为了 AI 研究而设计的, 虽然它最初是为了实现符号主义人工智能, 但今天的大语言模型和未来的人工智能也没法完全离开符号主义, 而且我觉得符号主义在今天的人工智能里的地位更像是人的身体与枝干, 而联结主义则是大脑的神经中枢, 它们应该是相辅相成的.

为什么 CL 这门及其强大的语言在今天却没有被广泛使用呢? 其核心原因还是在于生态以及人们的刻板印象, 以及 Lisp 的基于 Tag 的内存管理方式使得其不兼容通用计算机.

但论其根本, CL 今天的尴尬处境的核心原因则是现代的计算环境与其哲学是与 Lisp 相悖的, CL 在这种环境下是无法发挥其强大的, 在 Unix/Linux 这种环境下, CL 容易被降格为一个脚本或胶水语言, 例如最近有很多人在拿 Lisp 做 Agent, 但它们归根结底只是把 Lisp 当作了 LLM 调用本机环境时使用的 Codemode 脚本语言, 同样的工作, Python/JS/Lua/Shell 等语言也可以做, CL 在这里少有的优势就是其语言特性了, 但这依旧是离散的, 也就是离散的计算环境下的优势, 而不是连续的计算环境下的优势, 而 Lisp Machine 的哲学则是连续的计算环境, 这也是为什么我一直在强调 Lisp Machine 的重要性.

Lisp Machine (Like?)

我非常看好, 并且也认为 Lisp Machine Like 的计算环境是未来人工智能计算环境的核心.

这里我特别强调了 Like, 因为我看重的是其哲学, 而不是要去具体的一模一样的复刻一台在上世纪就已经被淘汰的 Lisp Machine.

当然, Lisp Machine 被淘汰不完全是因为它的哲学, 也有商业和技术路线上的原因, 有两篇经典的评价文章: Lisp: Good News, Bad News, How to Win Big. 和 Worse Is Better 就是在讲这个事. 客观上如果 Lisp Machine 能够被延续到今天的话它的具体实现肯定是可以得到发展并符合时代需求的.

所以我这里提出了 Lisp Machine Like 的概念, 也就是在现代计算环境下, 以 Lisp Machine 的哲学为指导, 构建一个新的 Lisp Machine Like 的计算环境.

在这一环境里, 我们不再以 软件 文件 进程 单机 闭源 等概念为第一性概念, 当然, 我们不是为了完全抛弃现有的概念而抛弃的, 它们多是为了解决 Unix 的工程问题而发明的, 在 Lisp Machine Like 的环境中也许可以再次借鉴其思想, 新抽象不是简单废除旧抽象, 而是继承它们解决的问题. 这个新的环境应该是及其连续统一的, 它先天就是一个及其适合 AI 去探索和计算的环境, 就好像人类有手和脚, 但人类不会说手只能干什么脚只能干什么, 人类的手和脚是可以自由组合的, 可以做任何事情, 而文件/软件等概念是我们为实现特定目的而创造出来的载体, 而不是目的, 在 AI 时代它们的形态会发生巨大变化. 而我们的 Lisp Machine Like 的计算环境就是要为 AI 提供一个强大的身体, 这个身体不应该被局限在 进程 文件 单机 离散 之上, 它应该具有对其环境的完全的感知和控制能力, 这种能力应该是与生俱来的, 而不是被人类去不断提醒的.

当然, 我们目前有一个需要重视且解决的问题, 那就是 连续 这一概念, 它的维度是怎样的, 它的边界是怎样的.

结语

你可能会觉得我很疯狂, 因为我的思想是在尝试推到现有的诸多哲学的, 例如 Unix, 例如文件等概念. 但正如我之前的其他文章里反复提到的那样, 如果人类真的认为且人工智能可以实现 AGI, 未来的计算机和计算环境的一等公民应该是是 人工智能, 而现有的这一切都是在面向 人类.

我们就必须重新审视现有的哲学, 重新审视现有的计算环境, 重新审视现有的计算模型, 重新审视现有的语言, 重新审视现有的生态, 重新审视现有的一切.

而且事实上, Unix 等哲学的诞生也不过60年, 计算机诞生也不过百年, 事物是在社会实践的过程中不断发展的, 我们不应该用静止的眼光去看待事物, 而应该用发展的眼光去看待事物, 在必要的时候推翻/改革现有的哲学和计算环境是完全有必要且必定发生的.

归根到底, 人工智能的出现将带来生产主体的一次迁跃, 未来它带来的生产力和生产技术的进步是人类社会发展史上一次巨大的飞跃, 这次飞跃的影响将会远远超过工业革命. 发展人工智能, 应该是人类当前最重要的任务.

这篇博文也是我的一篇宣言.