- URL: https://p.ocmatos.com/blog/jsse-a-javascript-engine-built-by-an-agent.html
- Added At: 2026-04-03 13:51:53
- Tags: #read #agent #deepdive
JSSE 是首个通过 test262 非暂存测试的从零构建 JavaScript 引擎,由 AI 代理在 42 天内自主开发完成,代码约 17 万行,验证了代理编程的可行性。
项目概述
JSSE(JavaScript Simple Engine)是一个用 Rust 从零开始构建的 JavaScript 引擎,由作者 Paulo Matos 通过 AI 代理(Claude Code)在 YOLO 模式下完全自主开发。项目历时 42 天,于 2026 年 3 月 9 日实现 100% 通过 test262 非暂存测试(98,426 个场景),成为首个达成此成就的从零构建引擎。
开发过程
- 启动与规划:2026 年 1 月 27 日启动,代理基于 ECMAScript 规范和 test262 自动生成
PLAN.md任务列表。作者仅提供战略指导(如优先级选择),未编写任何代码。 - 核心工作流:作者通过简单提示(如“实现下一个高影响任务”)驱动代理,代理自主完成编码、测试、提交。使用 Ralph Loop 等插件实现长时间无人值守运行(最长 16 小时完成 Temporal API 实现)。
- 关键里程碑:
- 1 月 27 日:启动后 4 小时内实现基础解释器,通过 26% 测试。
- 1 月 31 日:修复字符串原型错误,单日通过率提升至 51%。
- 2 月 13 日:扩展测试套件至 intl402,通过率升至 88%。
- 3 月 9 日:最终通过 100% 非暂存测试。
技术细节
- 架构:纯树遍历解释器,无字节码编译或优化。
- 性能:与 Node.js(V8)和 Boa(Rust 引擎)对比,性能较差(如数组操作慢 703 倍),但符合“仅追求正确性”的目标。
- 测试覆盖:通过 101,044/101,234 个场景(99.81%),包括 acorn 测试套件全通过。暂存测试通过率 98.36%,部分失败源于测试套件自身问题。
成本与资源
- 开发成本:作者使用 Claude Code Max 20x 订阅,等效 API 成本约 $4,619(主要由 Claude Opus 4.6 模型贡献)。
- 代码规模:约 170,000 行 Rust 代码,592 次提交,作者实际键盘时间仅约 4 小时。
经验与反思
- 计划至关重要:代理生成的
PLAN.md质量直接影响开发效率,早期架构决策导致后期重构成本。 - 测试驱动开发:test262 提供了高效反馈循环,使代理能通过“提升通过率”目标自主推进。
- 代理局限性:长上下文易导致代理迷失,需通过拆分任务、重启会话解决。
- Rust 优势:类型系统和编译器作为额外反馈信号,减少调试时间,适合代理开发。
未来方向
- 优化性能(如引入字节码编译、VM),但项目初衷是探索代理编程潜力,而非构建生产级引擎。
- 作者认为 agentic coding 将 revolutionize 软件开发,未来从零构建优化引擎可能仅需“散步时间”。
结论
JSSE 证明了当前 AI 代理工具的能力,展示了以测试为导向、代理自主驱动的开发模式可行性。代码已开源(MIT 许可),欢迎贡献(但需保持 agentic 风格)。