Vivien Henz 认为 Common Lisp 如今是最佳编程语言,因为其活镜像系统消除了传统的编译‑运行反馈循环。在大多数语言中,修改需要重新编译并重启程序,这可能需要几分钟;但在 Common Lisp 中,新函数定义会立即在内存中替换旧定义,因此 LLMs 能够即时看到其编辑的效果。

Common Lisp 的条件系统进一步加速了实验:出错时不会崩溃,而是进入一个保留完整调用栈和所有变量的调试器,使得 LLM 能够检查故障、应用修复并恢复执行。Autolith 项目实际上展示了这一点 — — 它是一个自修改的 Common Lisp 代理,能够在运行时检查、编辑、中断并恢复自己的实现,利用诸如 describe 和条件系统之类的运行时特性实现安全的自修改。

Autolith 吉祥物,一块拿着锄头的石块,代表该项目
Autolith 项目的吉祥物,文中提到的自修改 Common Lisp 代理autolith.rocks

展示了 Autolith 吉祥物,一块带有锄头的石块,代表在讨论条件系统和运行时实验的段落中提到的自修改 Common Lisp 代理。

由于代码和数据均以列表形式表示,Common Lisp 将程序视为数据,从而能够使用强大的宏来生成或修改代码,使开发者能够构建针对特定问题的领域特定语言。Henz 指出她的 Common Lisp 应用程序长度仅相当 Python 代码的六到七分之一,这降低了 token 成本,并使更多代码能够容纳在 LLM 的上下文窗口内。虽然她承认库生态系统较小(Quicklisp 与 npm 的对比),以及寻找工程师的挑战,但她认为 LLMs 可以编写缺失的部分,而雇佣学习者则可以缓解人才短缺。