Ruby 语言创始人松本行弘(业内常称 Matz),正借助 Anthropic 旗下的 Claude Code 工具,开发面向 Ruby 语言的原生编译器 Spinel。

Spinel 项目已托管于 GitHub,采用 MIT 开源许可证。其工作原理为:先将 Ruby 代码解析为抽象语法树(AST)文件,再转译为 C 语言代码,交由标准 C 编译器完成编译。松本行弘的测试结果显示,在开发中的 Roby 4.1.0 环境下,经 Spinel 编译后的代码,运行速度约为精简版 Ruby 构建程序 MiniRuby 的 11.6 倍

该工具最终输出 C 语言源码,可在 Linux、Windows(搭配 MinGW 极简 GNU 工具集)平台通过 GCC 编译器,或在 Linux、macOS 平台借助 LLVM 旗下 Clang 编译器,编译生成原生可执行程序。项目说明文档提及,BSD 系统理论上可兼容,但尚未经过实际测试。

Ruby 之父松本行弘
Ruby 之父松本行弘

Ruby 属于解释型语言,依赖运行时引擎解析并执行代码。为提升运行性能,Ruby 已支持多种即时编译器(JIT),包括基于方法的 MJIT,以及电商平台 Shopify 主导开发的 YJIT、ZJIT。而 Spinel 的定位截然不同:它能够生成独立的原生可执行文件,部署时无需额外依赖任何运行环境。

Spinel 目前存在明显局限,仅支持 Ruby 语法的部分子集。暂不兼容的功能包括:运行时解析执行代码的 eval 语句、多线程、UTF-8 以外的文本编码、运行时动态定义方法等元编程特性,以及深层嵌套的匿名函数。

Ruby 变量本身无类型约束,但对象具备强类型特性。由于 C 语言是强类型语言,Spinel 会通过类型推断技术实现 C 代码生成。项目复用了成熟稳定的现有 Ruby 解析器 Prism,内置方法内联、死代码消除等多项优化机制,生成的 C 代码在默认告警级别下可顺利编译。Spinel 自带垃圾回收机制,能自动回收内存,同时支持外部函数接口(FFI),可对接 libc、SQLite 等原生代码库。

现阶段 Spinel 仍处于实验阶段,无法适配绝大多数现有 Ruby 项目,主流 Web 框架 Ruby on Rails 也不在兼容范围内。不过开发者可针对性编写适配 Spinel 的代码,例如开发通用工具函数,供其他 Ruby 程序调用,以此实现性能优化。

上月,松本行弘在日本函馆举办的 2026 年 RubyKaigi 技术大会上公开介绍了 Spinel。据参会者分享(原文为日文),松本行弘表示,Spinel 的构想三年前便已萌生,如今借助人工智能,仅用数周就完成了落地实现。

Spinel 代码仓库中的大部分文件,头部注释均标注有共同作者:Claude Open 4.7(百万级上下文版本)。此外,该项目已历经三轮整体重构,完成多轮技术试验迭代。

松本行弘堪称 AI 生成代码的理想使用者:他能透彻理解生成的代码逻辑,既借助 AI 大幅提升开发效率,又始终掌控代码核心逻辑;既能凭借自身技术功底优化代码,也可通过持续向 AI 提问迭代完善项目。目前整个项目已配套数百项测试用例与性能基准测试,保障代码稳定性。