🤖 syntaqlite复盘:vibe-code可以做大事,但必须重写
💡 核心洞察:8年想做SQLite devtools,3个月用AI完成。第一个月vibe-code证明可行但代码是spaghetti,必须重写。第二个月改为"autocomplete on steroids"模式:自己掌控设计,AI执行。
背景
作者在Google Perfetto工作,维护基于SQLite的查询语言PerfettoSQL。内部有约100K行代码,但现有的SQLite工具都不够好:
- 不可靠
- 不够快
- 不够灵活来适配PerfettoSQL
但这个项目"永远不是最重要的事",于是8年来一直推迟。
为什么难?
- SQLite没有正式规范
- 没有稳定的parser API
- SQLite源码是C,极其难读
- >400条语法规则要写
- 又难又烦,side project的天敌
发生了什么:两阶段AI开发
阶段1:Vibe-code (2025年12月-2026年1月)
作者决定测试AI的极限:完全vibe-code,用Claude Code (£200/月)
- 把几乎所有设计和实现都委托给AI
- 结果:生成了可工作的parser (C + Python),formatter,web playground
- 但代码是spaghetti —— 不理解大部分Python代码、函数散落在随机文件、一些文件几千行
- 极其脆弱,永远无法整合到Perfetto
教训:必须重写。
阶段2:Autocomplete on steroids (2026年2月)
完全改变角色:自己掌控所有设计决策,AI只是执行层
- Opinionated design upfront
- Thoroughly review every change
- Fix problems eagerly as spotted
- 投资scaffolding:linting、validation、non-trivial testing
同时:C → Rust转换(C无法构建高级组件如validator和language server)
AI真正擅长什么
- 标准代码 —— "write a function with this behaviour"
- Refactoring —— AI擅长,但必须持续做
- 文档 —— AI会写我不会写的文档
- 消除inertia —— "instead of 'I need to understand how SQLite parsing works', it was 'I need to get AI to suggest an approach'"
AI不擅长什么
- 核心架构 —— 非标准部分、edge cases
- "标准化本能"的反面 —— syntaqlite的extraction pipeline和parser architecture需要非标准化
- "standard dialect"不是一切 —— 每个项目的edge是价值所在
关键教训
必须持续refactoring,否则代码immediately失控。这是vibe-code month的核心教训。
- AI生成代码、工业规模使用 = 必须constant和continuous refactoring
- 不做 → 代码失控 → 必须重写
- 技术栈选择:C → Rust是正确决策
- AI是强大的伙伴,但不是自动驾驶
一句话总结
AI可以让你8年的梦想3个月成真,但如果你想做好,必须在vibe-code证明可行后重写。AI是autocomplete on steroids,不是autopilot。