开发一个气象站系统时,我突然想到一个问题:如果用AI从头再做一遍,结果会怎样?
这不是简单的重复劳动。我想知道的是,AI开发真的像宣传的那样快吗?代码质量会不会打折扣?遇到的技术难题会变多还是变少?作为开发者,我的体验会更好还是更糟?
于是我把同一个项目做了两遍——一遍纯手写,一遍交给AI。以下是我的真实记录。
工具选择
起初我不想花钱,试了Gemini和OpenRouter的免费额度,还有本地跑的Ollama。结果免费额度很快就用完了,本地模型在我的电脑上跑不动。后来同事推荐了OpenCode,默认搭载Big Pickle模型。不管最终结果如何,这套工具链的稳定性确实不错。
测试方法
重写项目有个天然优势:你不需要摸索,目标明确。为了抵消这个优势,我给自己定了两条规则:假装手写版不存在,以及只做"vibe coder"——只提需求,一行代码都不写,也不关心实现细节。
时间统计按每天提交代码2小时折算。
数字背后的真相
表面数据很亮眼:AI版本快了4倍。
但手写版的时间里有大量隐性成本。当时我要现学Python,研究Pimoroni库的用法,代码结构也是边写边改,重构了好几轮才摸到Python的最佳实践。
版本控制的使用方式也不同。AI版本的提交次数明显更少,原因很现实:AI生成的代码块更大,调试周期更长,不像手写时那样频繁小步提交。
Web应用部分更说明问题。AI版16小时就"完工"了,但剩下的12小时全花在迭代上——试不同的统计数据展示方式,调整界面布局。而这些需求,手写版早就想清楚了,AI版只是直接照搬了最终方案。
作为vibe coder,我几乎没有审阅AI生成的代码。这种"蜘蛛感应"让我怀疑:4倍速的数字可能没有看起来那么美。
代码质量实测
我用SonarQube跑了两套代码的指标:可维护性、安全性、可靠性、重复代码率。
传感器读取模块有个典型差异。手写版报了45个可维护性问题,全是命名规范——我习惯用驼峰命名,但Python社区推崇snake_case。这些被我标为误报。Weather Hat显示类的问题也被我移除了,那部分基本是Pimoroni示例代码的包装。
热门跟贴