我用 2 個(gè)小時(shí)知道了,手搓代碼 VS AI 編程誰更厲害!

最近圈子里到處都在討論“AI能不能替代程序員”,各類觀點(diǎn)眾說紛紜、莫衷一是,讓人難以分辨。
到底是人機(jī)協(xié)作還是人機(jī)競(jìng)爭(zhēng)?AI究竟是不是比手搓代碼更厲害?為了評(píng)估AI在實(shí)際開發(fā)場(chǎng)景中的表現(xiàn),我們組織了一場(chǎng)人工手搓代碼與OpenAI Codex的比賽,看看在實(shí)際研發(fā)場(chǎng)景中,兩者到底誰更勝一籌。
這次要解決的問題場(chǎng)景是研發(fā)團(tuán)隊(duì)最日常的研發(fā)工作——解Bug!
解Bug不僅考驗(yàn)技術(shù)功底,更需要對(duì)項(xiàng)目邏輯、業(yè)務(wù)場(chǎng)景的熟悉度,也是最能體現(xiàn)編程實(shí)操能力的環(huán)節(jié)。
比賽規(guī)則:
產(chǎn)品經(jīng)理提前準(zhǔn)備好10個(gè)Bug和1個(gè)需求,由參賽的兩組選手同時(shí)處理。
處理完成后,需要提交代碼,再由禪道研發(fā)負(fù)責(zé)人剛哥負(fù)責(zé)評(píng)審雙方的代碼質(zhì)量,最后由2名測(cè)試工程師分別對(duì)兩組提交的成果進(jìn)行測(cè)試,重點(diǎn)驗(yàn)證Bug是否完全解決、需求是否實(shí)現(xiàn)。
接下來,讓我們隆重介紹古法編程參賽選手:

(手搓代碼組,由禪道資深研發(fā)工程師小明負(fù)責(zé),全程純手工編寫代碼、修復(fù)Bug、完成需求開發(fā)。)
以及新新新新新勢(shì)力AI參賽選手:

(AI輔助組,依靠OpenAI Codex,搭配禪道研發(fā)總監(jiān)金庸哥哥完成所有任務(wù)。)
比賽當(dāng)天9點(diǎn)10分,兩組同時(shí)開始處理,11點(diǎn)20分結(jié)束,全程耗時(shí)2小時(shí)10分鐘。
最終比拼結(jié)果如下:

Tips:此次主要聚焦日常解Bug的場(chǎng)景,后續(xù)還會(huì)補(bǔ)充更多的測(cè)試情況,覆蓋不同場(chǎng)景下的真實(shí)表現(xiàn)。
綜合本次比拼的全程表現(xiàn),我們的復(fù)盤總結(jié)如下:
首先,AI組的整體進(jìn)度主要卡在了前4個(gè)Bug的處理階段,由于對(duì)禪道的近期功能設(shè)計(jì)并不熟悉,遇到“設(shè)計(jì)如此”類問題時(shí),AI會(huì)在無效路徑中反復(fù)嘗試,導(dǎo)致耗時(shí)偏高;而人工組則更熟悉禪道設(shè)計(jì),對(duì)于“設(shè)計(jì)如此”的Bug能夠快速給出判斷,同時(shí)整體的Bug處理速度和節(jié)奏也明顯更快。
其次,在OpenAI Codex的使用過程中暴露出了幾個(gè)明顯問題,這也是影響AI效率的關(guān)鍵因素:
AI組未參與部分功能開發(fā),對(duì)項(xiàng)目的已有邏輯不熟悉,如果操作人員無法給出進(jìn)一步的精準(zhǔn)提詞,Codex就會(huì)一直在多種解決思路中反復(fù)嘗試,反而消耗大量時(shí)間,這也是前期進(jìn)度受阻的核心原因之一;
禪道的代碼存在不少特殊判斷邏輯,Codex在沒有明確提示的情況下,很容易給出錯(cuò)誤的解決方案,需要后續(xù)反復(fù)調(diào)整;
缺少完善的項(xiàng)目文檔支撐,Codex每次處理任務(wù)時(shí),都需要從0開始閱讀整個(gè)代碼庫,浪費(fèi)了大量不必要的時(shí)間,也間接影響了整體進(jìn)度。
基于上述發(fā)現(xiàn),我們也能夠梳理后續(xù)的AI輔助的優(yōu)化方向,既能提升AI的使用效率,又能完善團(tuán)隊(duì)自身的研發(fā)流程:
一是增加前端和后端業(yè)務(wù)的Skill文檔,讓AI能快速了解項(xiàng)目業(yè)務(wù)邏輯和代碼規(guī)范,減少無效嘗試;
二是可以讓AI對(duì)接visual、用例和日志,實(shí)現(xiàn)反饋循環(huán),讓其能根據(jù)測(cè)試結(jié)果和日志信息自動(dòng)調(diào)整解決方案,提升準(zhǔn)確性;
三是優(yōu)化產(chǎn)品代碼庫的整體組織,讓代碼結(jié)構(gòu)更清晰,方便AI快速檢索關(guān)鍵信息;
四是在業(yè)務(wù)流程中,相關(guān)人員提Bug時(shí)可帶上對(duì)應(yīng)url,這樣能夠?qū)崿F(xiàn)一步定位到模塊方法,減少AI閱讀代碼庫的時(shí)間,提升定位效率。
手搓 VS AI,究竟哪方更勝一籌?
從比賽的全程及后續(xù)的優(yōu)化方式來看,基于不同的人員操作,AI確實(shí)能實(shí)現(xiàn)提效,但效果并沒有我們想象中那么驚艷,不存在AI能夠“一鍵替代程序員”的情況。
同時(shí),AI輔助編程也存在一定的成本,比如需要投入時(shí)間整理文檔、優(yōu)化提詞、調(diào)整AI給出的錯(cuò)誤方案,這些都需要人工參與,并沒有大家說的那樣省心省力。
當(dāng)然,還有很多人認(rèn)為AI編程完全“不需要熟悉代碼,全部交給AI干就可以”,但從實(shí)際結(jié)果來看,對(duì)代碼的熟悉程度雖然不影響AI的使用,但會(huì)影響提詞的精準(zhǔn)度,進(jìn)而影響AI的效率和解決方案的準(zhǔn)確性。
整體來看,AI能達(dá)到20%~30%的提效,就已經(jīng)能夠滿足日常研發(fā)的需求了。而通過這次實(shí)測(cè),我們也更清晰地明確了AI的定位:它更適合作為輔助工具,用來提升編程效率、減輕人工負(fù)擔(dān),而不是完全替代程序員。畢竟在實(shí)際研發(fā)場(chǎng)景中,項(xiàng)目的特殊邏輯、個(gè)性化需求、代碼質(zhì)量的把控,以及問題的精準(zhǔn)定位,依然離不開人工的專業(yè)判斷。
那些在擔(dān)心AI能不能替代自己的程序員們,或是在思考能不能用AI替代程序員的老板們,看到這個(gè)結(jié)果,大家會(huì)作何感想?
轉(zhuǎn)載請(qǐng)?jiān)谖恼麻_頭和結(jié)尾顯眼處標(biāo)注:作者、出處和鏈接。不按規(guī)范轉(zhuǎn)載侵權(quán)必究。
未經(jīng)授權(quán)嚴(yán)禁轉(zhuǎn)載,授權(quán)事宜請(qǐng)聯(lián)系作者本人,侵權(quán)必究。
本文禁止轉(zhuǎn)載,侵權(quán)必究。
授權(quán)事宜請(qǐng)至數(shù)英微信公眾號(hào)(ID: digitaling) 后臺(tái)授權(quán),侵權(quán)必究。




評(píng)論
評(píng)論
推薦評(píng)論
暫無評(píng)論哦,快來評(píng)論一下吧!
全部評(píng)論(0條)