在此次AI浪潮下,程序員是否會(huì)像畫(huà)師一樣大批失業(yè),已經(jīng)成為了這兩年前程序員社區(qū)里的熱點(diǎn)話(huà)題。但在兩年之后,許多程序員不僅不擔(dān)心AI可能會(huì)取代他們,反而一個(gè)個(gè)都化身為AI的忠實(shí)粉絲。如今Cursor、GitHub Copilot、CodeWhisperer、Trae等AI編程工具已經(jīng)成為了大量程序員日常工作中的一部分,可是用AI寫(xiě)代碼真的就沒(méi)有代價(jià)嗎?
日前,一份由軟件供應(yīng)鏈平臺(tái)Cloudsmith發(fā)布的報(bào)告,就揭示了AI在代碼生成領(lǐng)域的迅速普及所帶來(lái)的影響。在這份報(bào)告中顯示,使用AI的開(kāi)發(fā)者中有42%的代碼是由AI生成,其中16.6%的開(kāi)發(fā)者依賴(lài)AI貢獻(xiàn)大部分代碼,甚至有3.6%代碼完全是由AI生成。
這一報(bào)告中同時(shí)還指出,AI生成代碼的背后也存在隱憂(yōu),開(kāi)發(fā)者普遍擔(dān)憂(yōu)AI可能會(huì)加劇開(kāi)源惡意軟件的威脅,有79.2%的受訪(fǎng)者認(rèn)為AI將增加環(huán)境中惡意軟件的數(shù)量,其中30%認(rèn)為威脅將顯著上升。此外值得一提的是,Cloudsmith發(fā)現(xiàn)有超過(guò)1/3的開(kāi)發(fā)者沒(méi)有在每次部署前審查AI生成的代碼,從而導(dǎo)致大量未經(jīng)審查的代碼被直接部署在生產(chǎn)環(huán)境。
AI編程工具被程序員群體快速接納,乃至對(duì)其出現(xiàn)盲目信任的原因其實(shí)也很簡(jiǎn)單,因?yàn)椤懊艚蓍_(kāi)發(fā)、快速迭代”是科技公司的生命線(xiàn),“效率就是生命”更是成為許多科技公司高管的座右銘。而AI編程就是一個(gè)效率放大器,它們像是24小時(shí)不休息的編程伙伴,可有效加快開(kāi)發(fā)進(jìn)度。
以“通義靈碼”為例,阿里方面是這樣介紹它的,在傳統(tǒng)開(kāi)發(fā)模式下,程序員每天需要耗費(fèi)大量精力編寫(xiě)重復(fù)性代碼、調(diào)試優(yōu)化、編寫(xiě)代碼注釋?zhuān)@些工作大幅擠壓了核心業(yè)務(wù)代碼編寫(xiě)的時(shí)間,有了通義靈碼作為“代碼助理”,開(kāi)發(fā)者就能從編寫(xiě)代碼的繁瑣工作中解放出來(lái),使得他們能夠?qū)W⒂诟邉?chuàng)造性的工作,例如設(shè)計(jì)更高效的算法、解決復(fù)雜的技術(shù)問(wèn)題、開(kāi)發(fā)新的產(chǎn)品。
大家不妨想象一下,作為一位開(kāi)發(fā)者,如果你有一個(gè)24小時(shí)在線(xiàn)的編程助手,它能理解自然語(yǔ)言描述,并幫你寫(xiě)出高質(zhì)量的代碼,還能解釋復(fù)雜代碼的邏輯,甚至幫你debug,那么你又有什么理由不喜歡它呢?其實(shí)Cursor、CodeWhisperer被大規(guī)模應(yīng)用是有現(xiàn)實(shí)基礎(chǔ)的,因?yàn)樗鼈兇_實(shí)成為了程序員的“免費(fèi)牛馬”。
可問(wèn)題是,如今大量的程序員似乎對(duì)于AI的信任度過(guò)高。事實(shí)上,早在去年夏季,也就是Claude 3.5 Sonnet等一批高性能AI模型發(fā)布,讓使用Claude 3.5的Cursor開(kāi)始有了可用性之后,HakerNews、Reddit就同步出現(xiàn)了一批吐槽AI代碼的帖子。
其中就有開(kāi)發(fā)者表示,在他為客戶(hù)解決技術(shù)問(wèn)題的過(guò)程中發(fā)現(xiàn),有相當(dāng)多的BUG源于客戶(hù)使用了AI編程工具直接生成的代碼。由于AI幻覺(jué)的存在,AI編程工具就會(huì)出現(xiàn)各種低級(jí)錯(cuò)誤,例如訪(fǎng)問(wèn)不存在的端口,或是試圖從不存在的API中讀取數(shù)據(jù)。
由于AI的幻覺(jué)問(wèn)題導(dǎo)致AI生成的代碼也會(huì)有BUG,但AI本身的高技術(shù)屬性極具迷惑性,很容易就讓使用者盲目相信AI的輸出。更重要的是,程序員使用AI編程工具是為了提升效率,這就意味著他們?cè)谑褂肁I編程工具時(shí)往往缺乏debug的意識(shí)。因?yàn)榇a校驗(yàn)不僅是對(duì)數(shù)據(jù)和來(lái)源的核查,還包括了編程思路的審查。
如果AI生成的代碼還需要人工來(lái)核校,又與“重復(fù)造輪子”有什么區(qū)別呢?正是秉承著這樣的認(rèn)識(shí),一大批AI生成的代碼在未經(jīng)開(kāi)發(fā)者審查的情況下,就被部署到了生產(chǎn)環(huán)境中。如此一來(lái),一個(gè)更嚴(yán)重的問(wèn)題就浮出了水面,那就是AI究竟能不能擔(dān)責(zé)?
顯而易見(jiàn),如今業(yè)界的共識(shí)是AI不擔(dān)責(zé),那么一旦出現(xiàn)問(wèn)題就只能是使用AI編程工具的程序員承擔(dān)責(zé)任了。所以只需要有一次AI編寫(xiě)的代碼導(dǎo)致嚴(yán)重BUG,給相關(guān)企業(yè)造成重大損失,AI編程工具的熱潮可能就會(huì)結(jié)束。
從某種意義上來(lái)說(shuō),如今部分程序員對(duì)于AI編程工具的認(rèn)知,出現(xiàn)了矯枉過(guò)正的情況。以當(dāng)前的技術(shù)水平,AI編程工具更像是智能輔助駕駛中的“人機(jī)共駕”,絕不能排除人類(lèi)的存在,它只能成為一個(gè)代碼補(bǔ)全工具,而非純粹的代碼生成工具。
【本文圖片來(lái)自網(wǎng)絡(luò)】
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(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.