Согласно работе на arXiv (рубрика cs.AI), две ранние ИИ-программы, которые сами пишут программы, снова удалось запустить: Heuristic Compiler Герберта Саймона 1961 года и KBEmacs 1984 года. Авторы рассматривают обе также как теории о том, как люди программируют.

Что такое KBEmacs?

KBEmacs был работающим прототипом интеллектуального помощника программиста из проекта Programmer's Apprentice в MIT. Идея в том, что опытные программисты узнают знакомые шаблоны, так называемые клише, и собирают из них программу. Соответственно, программы строили, комбинируя клише, с помощью стилизованного английского командного языка.

Heuristic Compiler как противоположность

У Heuristic Compiler Саймона была другая цель: он моделировал программирование как решение задач и использовал анализ «средства — цель» из General Problem Solver. Проще говоря, этот метод сравнивает текущее состояние с целью и ищет шаги, которые сокращают расстояние до неё.

Запускать, а не только читать

Метод называется Executable Archaeology: исторические системы изучают, выполняя их исходный код (реанимация). Так Heuristic Compiler воспроизводит скомпилированный код из статьи Саймона 1963 года. KBEmacs воспроизводит последовательность SQRT из своего самотестирования в декабре 1984 года.

При сравнении у подходов оказывается больше общего, чем предполагалось: Heuristic Compiler тоже адаптирует уже имеющиеся процедуры, а Саймон позднее утверждал, что один лишь поиск требует большого объёма знаний о программировании.

Что KBEmacs значит для пользователей?

Для детальной работы авторы намеренно использовали Claude Code от Anthropic (Opus 5.5). Их вывод: явных исполняемых теорий программирования в современных, более мощных ИИ-ассистентах в основном не хватает.

Разработчикам это может подсказать вопрос: какие знания о шаблонах их инструменты отражают явно. Практических рекомендаций в аннотации работы нет.