对抗知识焦虑,从看懂这条开始
App 下载对抗知识焦虑,从看懂这条开始
App 下载
语法解析器|SQLite源码|AI编码助手|syntaqllite工具|谷歌Perfetto项目|AI产业应用|人工智能
作为谷歌Perfetto项目的开发者,他盯着SQLite的开发工具缺口整整8年。这个支撑着谷歌内部10万行性能查询代码的数据库,却始终没有能用的格式化器、语法检查器——现有工具要么慢得离谱,要么没法适配Perfetto的定制语法。直到2026年初,他花了3个月业余时间,靠AI编码助手造出了一套能打工具syntaqllite。没人料到的是,这套工具的第一版,是他不得不全部删掉重写的「垃圾代码」。
他最初的思路很直接:把AI当「超级实习生」,丢给它SQLite的源码,让它自动提取400多条语法规则,生成能把SQL代码转成「语法树」的解析器——这是所有代码工具的核心,就像把句子拆成主谓宾,才能做语法检查、自动格式化。AI没让人失望:3个月里生成了500多份测试用例,连他从未听说过的「Wadler-Lindig格式化算法」,都能在1小时内给他讲透原理。
但当他打开生成的代码库时,后背发凉:Python脚本和C代码缠成一团,几千行的函数散落在随机文件里,他完全看不懂这个「自己造出来的东西」。AI把每一个小任务都完成得很漂亮,但把这些零件拼起来的,是一个逻辑混乱的「怪物」——它根本不懂什么是可维护的架构,只会把能跑的代码堆在一起。
他不得不删掉全部代码,换成Rust语言重写。这一次,他把AI从「决策者」降成了「执行者」:自己画好架构图,定义好每个模块的边界,再让AI去写具体的函数。每生成100行代码,就停下来重构一次——要么让AI自己整理,要么他提出抽象思路,让AI去落地。

这个项目最耐人寻味的,不是AI能写多少代码,而是它彻底改变了开发者的工作。过去他是「代码工匠」,要亲手打磨每一行代码;现在他是「设计监督者」,把90%的精力放在画边界、定规则、做审核上。

AI的优势是「标准化劳动」:写重复的语法规则、生成测试用例、把C代码转成Rust,这些任务它比人快3倍,还能自动跟上项目的代码风格。但一旦涉及「判断」——比如怎么设计一个让用户舒服的API,怎么权衡性能和可扩展性,AI就会变成「睁眼瞎」。它能生成10种API写法,但不知道哪一种是用户真正需要的;它能写出跑通的代码,但不知道这会给未来的维护埋下多少坑。
更隐蔽的风险是「技能退化」。他发现自己偶尔会忘了某个函数的具体实现——因为AI写得太多,他对代码细节的记忆模糊了。有一次AI生成的解析器出了bug,他花了3小时才找到问题:AI偷偷改了一个语法规则的优先级,而他因为没亲手写,完全没意识到这个改动。后来他养成了一个习惯:每看一段AI代码,就问自己「如果是我写,会怎么改」,强迫自己保持对代码的掌控感。
这个项目的教训,正在被越来越多的开发者验证。2026年的一项研究显示:用AI辅助的开发者完成任务速度快了30%,但调试时间反而增加了20%——因为AI生成的代码总有「看起来对,实际错」的细节。更糟的是,过度依赖AI的开发者,代码理解能力下降了17%,尤其是调试这种需要底层知识的技能。

真正的高效人机协同,不是让AI替人干活,而是让AI干「人不想干的活」,让人干「AI干不了的活」。比如在syntaqllite的开发中,AI负责把SQLite的C源码转成Rust的抽象语法树,他负责设计怎么让这个语法树适配Perfetto的定制规则;AI负责生成所有的测试用例,他负责设计测试的边界和场景。
还有一个容易被忽略的点:AI没有「时间感」。它不知道这个项目过去踩过什么坑,不知道某个设计决策是为了兼容3年前的老系统,只会根据当前的代码生成「最优解」——而这个「最优解」,可能恰恰是团队当年抛弃的方案。他后来养成了写「架构决策记录」的习惯,把每个设计的原因写下来,再喂给AI,才避免了重复踩坑。
当syntaqllite发布时,有人在GitHub上留言:「AI终于能替代程序员了」。他回复:「AI能替我写代码,但不能替我决定写什么代码。」
这或许是AI时代开发者最该记住的话:AI是放大器,它能把你的优点放大10倍,也能把你的懒惰和短视放大10倍。你依然需要知道代码的底层逻辑,需要能画出清晰的架构图,需要能判断什么是真正的好代码——这些能力,才是开发者不可替代的核心。
AI能写代码,但写不出代码的灵魂。