
这是什么
一个用 Python 写的 Prolog 解释器,产出过程遵守作者先写下来、然后照做的规则:不许人类写代码,只允许提示和指令。它始于一次意外——用剩的 Claude Code 额度加上手机上的一个周末——最后变成四周 825 次提交、一套 ISO 一致性测试、109 个测试文件,以及一份给干活 agent 的操作手册。README 对「这证明了什么、没证明什么」说得很坦率。
谁做的Apache Portals 的 committer 与项目管理委员会成员(Apache 站点上以 nlothian 列出),后来是 Tyto.AI 的创始人兼 CEO——一家位于悉尼与阿德莱德的 AI 咨询与产品公司;在此之前他在 Data2Decisions 合作研究中心担任总监,负责机器学习项目。他有大约二十年没写过 Prolog 了。
制作过程
6 个阶段- 01
用剩的额度,和手机上的一个周末
起源是带着数字写的。2025 年 11 月初 Anthropic 发放 $250 的 Claude Code 网页版额度;11 月 18 日到期,到 15 日作者还剩 $220 没用。他本来在做别的事,结果「那个周末在手机上顺手 vibe code 出一个 Prolog 解释器」。他提到自己已经二十年没用过 Prolog。第一个提交日期是 2025 年 11 月 19 日。
- 02
规则本身就是实验的一部分
README 立了三条规则和两种态度,而这是整个仓库里最可复用的东西。不许人类写代码——提示和指令可以,而配置文件与文档明确不算代码。不要刻意制造垃圾:发现它在做错事,就去修好。把所有能用的工具都用上,多写测试、加自动代码审查、加安全审计。然后是:不要满足于平庸的代码,并且玩得开心。
- 03
四周下来是什么样子
2025 年 11 月 19 日到 12 月 14 日之间 825 次提交,分布在 29 个分支上,分支名读起来就是一份 Prolog 一致性工作的待办清单:尾调用优化、ISO 字符与字节 I/O 谓词、带引号字面量里的八进制转义、模块限定的谓词指令、残差目标的 library 投影。conformance 目录里放着 ISO 测试套件,另有 109 个测试文件,用 pytest 运行,并分成需显式开启的慢速与性能两档。
- 04
真正有意思的产物是脚手架
解释器旁边是那些指挥工作的文件:一份 AGENTS.md 写明目标、编码规则、文档与测试必须放在哪里;CLAUDE.md 与 GEMINI.md;一个 .gemini 目录;以及两个装着辅助工具的目录——ai-tools,和 tools 下十个 Python 脚本,用来检查重复内置谓词、抓取期望的一致性结果、测量库加载耗时。docs 里十二份文档覆盖架构、文法对比、递归优化与一致性测试。这个项目既是软件的记录,也是流程的记录。
- 05
哪些不是 AI 生成的,写得很明白
README 把一处标成加粗,免得被漏掉:Prolog 库和示例不是 AI 生成的。library 目录通过 git subtree 来自 scryer-prolog,并保留原有许可。考虑到仓库其余部分都处在「不许人类写代码」的规则之下,这条披露是在做实事——它区分了「一个能通过库测试的解释器」和「一个连库也是自己写的解释器」。
- 06
作者自己的判词
仓库的谨慎一节比大多数发布帖都有用。他不知道它到底能不能工作;它看起来能,有些测试也能过,主张到此为止。因为代码是 AI 写的,他指出它是否受版权保护并不清楚——这也是它采用 MIT 的原因。最后他把人往外指:有很多真正的 Prolog 实现可能比这个好,请去用它们。最后一次提交是 2025 年 12 月 14 日。
他会告诉你什么
- 把界线画清楚,然后守住它。「不许人类写代码」之所以可行,是因为作者同时说了什么不算代码——配置与文档——以及什么算:提示和指令可以,悄悄改源码不行。
- 垃圾要被指出来,而不是被容忍。五条规则里有两条都在讲拒绝接受它:发现做错就去修,产出平庸时就说清哪里不对,而不是将就。
- 别让演示跑在证据前面。他写出了能跑的解释器,然后写下自己不知道它能不能工作、AI 生成代码的版权状态不清楚、以及存在更好的 Prolog 实现、应当去用那些。
相关档案
全部档案 →第 029 号
realworld-vibe-coded
一个完整的 RealWorld 全栈实现,但它真正的主体是围绕着它的那套工装:三十二个自定义 Roslyn 分析器、一个构建入口,以及会拦住 agent 做错事的钩子。
第 009 号
Open Interpreter
一个终端编码智能体,最初是 OpenAI Code Interpreter 的本地开源替代品,2026 年被重写成基于 Codex 的 Rust 项目,面向开放权重模型。
第 039 号
classic-vibe-mac
在浏览器标签页里写 C,按下 Build & Run,一台 System 7 的 Macintosh 就带着你刚编译出来的 68k 程序启动,程序就摆在桌面上。