研究人员开展了一个他们称之为“可执行考古学”的项目,这是一种通过运行原始代码来研究历史计算系统的研究方法。这一被称为“重振”的过程被应用于两个来自 20 世纪中叶的不同程序:Herbert Simon 的 Heuristic Compiler (1961) 和 KBEmacs (1984)。虽然这些程序是为不同的目的和时代开发的,但它们都作为人类如何处理编程任务的明确、可执行的理论存在。
Heuristic Compiler 是一个实验模型,旨在将编程视为一个问题解决任务。它利用了源自 General Problem Solver 的手段-目标分析(means-ends analysis)来研究编程的本质。相比之下,KBEmacs 是由 MIT 的 Programmer's Apprentice 项目开发的智能编程助手原型。KBEmacs 的运行基于这样一个理论:专家程序员能够识别并组合熟悉的模式(即“陈词滥调”),并使用风格化的英语命令语言来构建程序。通过重振这些系统,研究人员能够重现 Simon 在 1963 年论文中的编译代码,以及 KBEmacs 在 1984 年自我测试中的 SQRT 序列。
这项研究揭示了这两个系统之间一个令人惊讶的共同点:两者都是通过调整现有程序来运行的。Simon 后来认为,如果没有大量的预先存在的编程知识,仅靠基于搜索的方法是不够的。有趣的是,研究人员使用了现代 AI 工具 Anthropic 的 Claude Code (Opus 5.5) 来协助详细的重振工作。他们指出这些历史系统与现代工具之间存在显著区别:Heuristic Compiler 和 KBEmacs 所体现的明确、可执行的编程理论,在当今功能更强大的 AI 编程助手中很大程度上是缺失的,因为后者依赖于不同的底层机制来生成代码。
