Simon Willison用Claude Code生成sparqlite:在SQLite内运行SPARQL 1.1的Rust扩展
Willison称,这个由Claude Code在“Ultracode”模式下耗时超过 12 小时生成的Rust扩展,把RDF四元组存入普通SQLite表,并在SQLite进程内执行SPARQL 1.1查询和更新;它通过 639 项适用W3C评测中的 636 项。他同时表示自己难以审阅这套代码。
AI解读:他给出的性能数字是:与“SQL翻译”方式相比,count模式快 3.5 倍,返回完整结果时快 2.8 倍;在W3C评测中通过 639 项适用测试里的 636 项。这些是作者说法,来源未给出可复现的基准细节。
项目起源于一条手机输入错误:Willison本意是“直接命中这些行”,却打出“delete rows directly”,随后Claude Code for web在“Ultracode”模式下运行了 12 个多小时。
Willison说,他无法审阅生成的全部代码,光是跟着文档操作就要投入不少精力,因此不确定该如何使用这个“凭一时兴起”造出的完整SPARQL实现。
simon Willison在个人博客中介绍了sparqlite:一个用Rust编写的SQLite可加载扩展,在SQLite进程内执行SPARQL 1.1查询和更新,并把RDF四元组存放在普通SQLite表中。
据Willison所述,这个项目由Claude Code for web在开启“Ultracode”模式后生成,运行时间超过 12 小时;他唯一追加的提示是要求为crates/下每个目录补README,并加入tutorial.md(讲安装、在SQLite CLI中运行以及SPARQL入门)和配套的示例数据填充脚本。
作者给出的实现与性能数据
Willison称,sparqlite使用整数编码的术语、覆盖索引、基于代价的查询计划器、批量连接,以及可选的SQLite B-tree直接读取。
他给出的对比数字是:与“SQL翻译”方式相比,count模式快 3.5 倍,返回完整结果时快 2.8 倍。来源没有披露SQL翻译的具体实现方式、数据集规模或基准测试脚本。
在兼容性方面,Willison称该项目通过了 639 项适用W3C评测中的 636 项,并经过了数百万次差分模糊测试。这些数字同样来自作者陈述,尚未经过独立复现。
项目的来源与作者的态度
Willison说,最初的提示词本意是“直接命中这些行”(hit the rows directly),但他在手机上误打成了“delete rows directly”,也就是“直接删除行”。这条带错字的提示触发了Claude Code长时间运行。
他在文中把这次过程描述为“下一层次的vibe coding”,并表示远程审阅产出的代码并不可行,即便只是读懂文档也需要投入大量精力。他写道,自己不太确定该拿这个项目怎么办:看上去已经有一个完整的、运行在SQLite内的Rust SPARQL实现,但它是凭一时兴起造出来的,他未必愿意或能够投入时间去弄清它能做什么。