開(kāi)發(fā)一個(gè)氣象站系統(tǒng)時(shí),我突然想到一個(gè)問(wèn)題:如果用AI從頭再做一遍,結(jié)果會(huì)怎樣?
這不是簡(jiǎn)單的重復(fù)勞動(dòng)。我想知道的是,AI開(kāi)發(fā)真的像宣傳的那樣快嗎?代碼質(zhì)量會(huì)不會(huì)打折扣?遇到的技術(shù)難題會(huì)變多還是變少?作為開(kāi)發(fā)者,我的體驗(yàn)會(huì)更好還是更糟?
![]()
于是我把同一個(gè)項(xiàng)目做了兩遍——一遍純手寫(xiě),一遍交給AI。以下是我的真實(shí)記錄。
工具選擇
起初我不想花錢,試了Gemini和OpenRouter的免費(fèi)額度,還有本地跑的Ollama。結(jié)果免費(fèi)額度很快就用完了,本地模型在我的電腦上跑不動(dòng)。后來(lái)同事推薦了OpenCode,默認(rèn)搭載Big Pickle模型。不管最終結(jié)果如何,這套工具鏈的穩(wěn)定性確實(shí)不錯(cuò)。
測(cè)試方法
重寫(xiě)項(xiàng)目有個(gè)天然優(yōu)勢(shì):你不需要摸索,目標(biāo)明確。為了抵消這個(gè)優(yōu)勢(shì),我給自己定了兩條規(guī)則:假裝手寫(xiě)版不存在,以及只做"vibe coder"——只提需求,一行代碼都不寫(xiě),也不關(guān)心實(shí)現(xiàn)細(xì)節(jié)。
時(shí)間統(tǒng)計(jì)按每天提交代碼2小時(shí)折算。
數(shù)字背后的真相
表面數(shù)據(jù)很亮眼:AI版本快了4倍。
但手寫(xiě)版的時(shí)間里有大量隱性成本。當(dāng)時(shí)我要現(xiàn)學(xué)Python,研究Pimoroni庫(kù)的用法,代碼結(jié)構(gòu)也是邊寫(xiě)邊改,重構(gòu)了好幾輪才摸到Python的最佳實(shí)踐。
版本控制的使用方式也不同。AI版本的提交次數(shù)明顯更少,原因很現(xiàn)實(shí):AI生成的代碼塊更大,調(diào)試周期更長(zhǎng),不像手寫(xiě)時(shí)那樣頻繁小步提交。
Web應(yīng)用部分更說(shuō)明問(wèn)題。AI版16小時(shí)就"完工"了,但剩下的12小時(shí)全花在迭代上——試不同的統(tǒng)計(jì)數(shù)據(jù)展示方式,調(diào)整界面布局。而這些需求,手寫(xiě)版早就想清楚了,AI版只是直接照搬了最終方案。
作為vibe coder,我?guī)缀鯖](méi)有審閱AI生成的代碼。這種"蜘蛛感應(yīng)"讓我懷疑:4倍速的數(shù)字可能沒(méi)有看起來(lái)那么美。
代碼質(zhì)量實(shí)測(cè)
我用SonarQube跑了兩套代碼的指標(biāo):可維護(hù)性、安全性、可靠性、重復(fù)代碼率。
傳感器讀取模塊有個(gè)典型差異。手寫(xiě)版報(bào)了45個(gè)可維護(hù)性問(wèn)題,全是命名規(guī)范——我習(xí)慣用駝峰命名,但Python社區(qū)推崇snake_case。這些被我標(biāo)為誤報(bào)。Weather Hat顯示類的問(wèn)題也被我移除了,那部分基本是Pimoroni示例代碼的包裝。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.