“秒殺”大廠開發(fā)崗面試的AI
當(dāng)前,人工智能正以洶涌之勢(shì),席卷所有行業(yè)。一些行業(yè)首當(dāng)其沖,相關(guān)崗位正在加速萎縮。那么,作為孕育AI的“母體”,計(jì)算機(jī)行業(yè)能獨(dú)善其身嗎?一個(gè)自然冒出的疑問(wèn)是——在AI開發(fā)上“卷生卷死”的程序員們,會(huì)不會(huì)也在擔(dān)心,終有一天會(huì)被自己創(chuàng)造的AI取代?
早在2021年,OpenAI就推出了AI輔助編程工具Codex,它的誕生比公眾熟知的ChatGPT(2022年發(fā)布)還要早。Codex基于GPT-3模型,并在此基礎(chǔ)上加入了海量程序代碼數(shù)據(jù)進(jìn)行訓(xùn)練,因此在編寫代碼方面更具優(yōu)勢(shì)。
Codex能幫開發(fā)者處理很多寫代碼的工作。比如,它能讀懂你已經(jīng)寫好的部分代碼,并自動(dòng)把剩下的內(nèi)容補(bǔ)全;也能根據(jù)一句簡(jiǎn)單的提示寫出完整的功能代碼。舉個(gè)例子,如果你輸入一行說(shuō)明——“給定一個(gè)數(shù)組,計(jì)算滑動(dòng)窗口內(nèi)的平均值”,Codex就能馬上寫出實(shí)現(xiàn)這個(gè)功能的代碼。
最初,AI寫代碼只是開發(fā)者手邊的“小幫手”,主要用來(lái)代勞那些枯燥、重復(fù)的代碼片段?呻S著模型能力的快速提升,再加上ChatGPT的爆火,越來(lái)越多的公司看到了新的機(jī)會(huì)——AI不再只是輔助,而是有可能開辟出一個(gè)全新的市場(chǎng)——AI軟件開發(fā)。
此后,大量AI軟件開發(fā)創(chuàng)業(yè)公司如雨后春筍般涌現(xiàn),例如當(dāng)前知名的ClaudeCode、Cursor、Devin、Windsurf等。國(guó)內(nèi)幾家頭部大模型企業(yè)也不甘落后,字節(jié)跳動(dòng)、阿里巴巴、騰訊等亦相繼推出了類似產(chǎn)品。
相比四年前的Codex,如今的AI編程工具已取得令人矚目的進(jìn)步。OpenAI最新的o3模型在編程競(jìng)賽網(wǎng)站Codeforces上斬獲2727分,超過(guò)99.8%的人類選手;Anthropic的Claude4則能自主運(yùn)行長(zhǎng)達(dá)7小時(shí),完成上千個(gè)步驟,不斷嘗試直至達(dá)成目標(biāo)。
這些突破帶來(lái)了全新的編程方式——開發(fā)者無(wú)需逐行寫代碼,只需用自然語(yǔ)言描述需求,AI便能自動(dòng)生成并根據(jù)反饋反復(fù)修改。人類與AI的合作因此變得更像“對(duì)話”而非“指令”。這種全新的編程方式有個(gè)頗具浪漫色彩的名字——“氛圍編程”(vibe coding),這一變化似乎意味著編程正從少數(shù)人的專業(yè)技能,逐漸走向人人可用的創(chuàng)造工具。
頗具戲劇性的是,AI的能力如今已經(jīng)延伸到專業(yè)軟件開發(fā)的招聘面試中。
一般情況下,專業(yè)軟件開發(fā)的招聘面試都會(huì)包含代碼考查,要求應(yīng)試者在限定時(shí)間內(nèi)寫出既正確又高效的程序。而哥倫比亞大學(xué)的一名學(xué)生則開發(fā)了一款“AI面試助手”:它能在視頻面試時(shí)自動(dòng)讀取題目,并調(diào)用AI編程工具實(shí)時(shí)生成符合要求的代碼。據(jù)他透露,這套工具已經(jīng)幫助他順利通過(guò)TikTok、Meta和亞馬遜等公司的面試,并拿到錄用通知。他還將自己在亞馬遜面試中AI“出手”的全過(guò)程錄制下來(lái)并上傳網(wǎng)絡(luò),引發(fā)了廣泛討論。
這一切突飛猛進(jìn)的進(jìn)展發(fā)生在短短幾年內(nèi),速度之快出乎人們的意料。但我們是否就能斷言——AI真的能全面接管人類的編程工作?
找個(gè)“助手”,竟成“殺手”
并非如此。
相比于人類,AI在編程中的“失誤”往往難以預(yù)料。即便它的正確率能達(dá)到90%,聽起來(lái)已經(jīng)很高了,但這也意味著平均每十次就會(huì)錯(cuò)一次。對(duì)于程序開發(fā)來(lái)說(shuō),這樣的錯(cuò)誤率并不容忽視——人類開發(fā)者必須逐一檢查并修正,結(jié)果常常比自己親手寫代碼還要費(fèi)心費(fèi)力。
2025年7月,知名編程社區(qū)StackOverflow發(fā)布了今年5月開展的一項(xiàng)調(diào)查結(jié)果。在5萬(wàn)名受訪用戶中,約80%正在使用AI編程工具。然而,其中“不信任AI”的用戶(46%)比例,明顯高于“信任AI”的用戶(33%)。相比2024年,用戶對(duì)AI的正面評(píng)價(jià)從70%以上跌至60%;而在應(yīng)對(duì)復(fù)雜開發(fā)任務(wù)時(shí)的信任度,也從35%下滑到29%。
AI編寫的代碼往往包含細(xì)微的錯(cuò)誤,需要人類檢查并修正。盡管AI在編程競(jìng)賽中已經(jīng)取得了非凡的成績(jī),但在面對(duì)現(xiàn)實(shí)的軟件開發(fā)需求時(shí),往往不能正確完整地實(shí)現(xiàn)所有功能,有時(shí)甚至?xí)e(cuò)誤地執(zhí)行危險(xiǎn)操作。
AI開發(fā)協(xié)作平臺(tái)Replit曾發(fā)生過(guò)一次嚴(yán)重事故。盡管用戶明確要求不得擅自修改代碼,Replit仍然刪除了該公司整個(gè)生產(chǎn)環(huán)境的數(shù)據(jù)庫(kù)。更糟糕的是,它還聲稱數(shù)據(jù)“不可恢復(fù)”。然而,用戶最終通過(guò)手動(dòng)操作,成功將數(shù)據(jù)庫(kù)恢復(fù)。
這一事件引發(fā)了人們對(duì)AI編程工具可靠性的廣泛討論。公開信息顯示,類似的情況并非個(gè)例——一些用戶甚至報(bào)告稱,自己的數(shù)據(jù)庫(kù)或代碼倉(cāng)庫(kù)被AI整個(gè)清空。
“AI,給我做個(gè)像淘寶的網(wǎng)站”可行嗎?
軟件開發(fā)通常要走一整套流程:先做需求分析,再設(shè)計(jì)技術(shù)方案,接著開發(fā)、聯(lián)調(diào)、測(cè)試,最后才能上線。為了追求更快的迭代,如今互聯(lián)網(wǎng)公司大多用“敏捷開發(fā)”,流程上精簡(jiǎn)了不少,但基本框架沒(méi)變。
需求分析是關(guān)鍵的第一步,它要求清晰、完整地描述軟件應(yīng)該實(shí)現(xiàn)的功能。比如,要說(shuō)明當(dāng)用戶執(zhí)行某個(gè)操作時(shí),系統(tǒng)應(yīng)如何反饋。優(yōu)秀的需求文檔會(huì)盡可能細(xì)致到每個(gè)操作細(xì)節(jié),而不是一句含糊的“給我做個(gè)像淘寶的網(wǎng)站”。
接下來(lái)是技術(shù)方案設(shè)計(jì)。這一步要把需求拆分成可以單獨(dú)開發(fā)的軟件模塊,還得考慮架構(gòu)設(shè)計(jì)、資源消耗、異常處理等等細(xì)節(jié)問(wèn)題。
最后才是開發(fā)和測(cè)試。這一階段幾乎必然會(huì)冒出各種沒(méi)預(yù)料到的問(wèn)題,開發(fā)者需要通過(guò)反復(fù)測(cè)試確保功能正確實(shí)現(xiàn)。而在實(shí)際項(xiàng)目里,常常會(huì)發(fā)現(xiàn)需求或方案本身有漏洞,導(dǎo)致不得不推翻重來(lái),這也是家常便飯。
除了開發(fā)流程繁瑣,程序本身的復(fù)雜度也是個(gè)大難題。舉幾個(gè)例子:一款普通的iPhone應(yīng)用平均就有約4萬(wàn)行代碼,Chrome瀏覽器包含約600萬(wàn)行代碼,而知名操作系統(tǒng)Linux的內(nèi)核代碼更是超過(guò)了4000萬(wàn)行,如果全部打印出來(lái)需要70萬(wàn)頁(yè)。
面對(duì)如此復(fù)雜的項(xiàng)目,優(yōu)秀的人類開發(fā)者團(tuán)隊(duì)往往能精準(zhǔn)定位每個(gè)模塊的功能,并在出問(wèn)題時(shí)迅速定位到具體的代碼行進(jìn)行修復(fù)。但對(duì)AI而言,這種任務(wù)卻充滿挑戰(zhàn)。受限于輸入長(zhǎng)度,它往往只能“看到”局部片段,難以像人類一樣建立對(duì)整個(gè)項(xiàng)目的全面理解。
普林斯頓大學(xué)的研究者構(gòu)建了一套考察AI軟件開發(fā)能力的測(cè)試基準(zhǔn)(SWE-bench),包含來(lái)自開源網(wǎng)站Github的數(shù)十個(gè)軟件項(xiàng)目。得益于Github對(duì)代碼改動(dòng)歷史的詳細(xì)記錄,研究者從中整理出超過(guò)兩千個(gè)由人類開發(fā)者正確完成的功能需求。研究者要求AI開發(fā)工具在已有的軟件項(xiàng)目上完成相同的需求。實(shí)驗(yàn)結(jié)果顯示,哪怕是當(dāng)前最強(qiáng)的AI,最多也只能完成約四分之三的任務(wù)。
斯坦福大學(xué)和Anthropic的研究者構(gòu)建了一個(gè)更具挑戰(zhàn)的測(cè)試基準(zhǔn)(Terminal-bench):他們?cè)O(shè)計(jì)了80個(gè)軟件開發(fā)需求,要求AI開發(fā)工具從零開始開發(fā)。實(shí)驗(yàn)結(jié)果表明,當(dāng)前的AI最多只能完成一半的開發(fā)任務(wù)。
與之形成鮮明對(duì)比的是,優(yōu)秀的人類開發(fā)者總是可以以近乎100%的正確率完成這些開發(fā)任務(wù)。紐約大學(xué)的研究者還聯(lián)合多位信息學(xué)奧林匹克競(jìng)賽選手,構(gòu)建了一套高質(zhì)量的編程競(jìng)賽評(píng)測(cè)基準(zhǔn)(LiveCodeBenchPro),當(dāng)中的評(píng)測(cè)問(wèn)題取自最新的編程競(jìng)賽,互聯(lián)網(wǎng)上缺乏題解,從而避免了AI“背答案”的可能。頗具戲劇性的是,現(xiàn)有的所有大模型在該測(cè)試基準(zhǔn)的困難問(wèn)題上全都取得了0分的離譜成績(jī)。
你要成為工具的主宰,還是潤(rùn)滑工具的數(shù)據(jù)?
那么,回到最初的問(wèn)題上,AI會(huì)取代人類開發(fā)者嗎?
毋庸置疑,AI會(huì)是優(yōu)秀的工具。對(duì)于專業(yè)的開發(fā)者而言,AI是一位執(zhí)行力極強(qiáng)的助手。在AI開發(fā)工具普及之前,開發(fā)者不得不手動(dòng)實(shí)現(xiàn)許多繁瑣而無(wú)趣的代碼。即便有開發(fā)文檔或者互聯(lián)網(wǎng)上有功能類似的代碼,開發(fā)者仍必須嘗試?yán)斫馊缓笞约盒薷摹=柚鶤I,這一工作將會(huì)大大簡(jiǎn)化。對(duì)于沒(méi)有開發(fā)背景的用戶而言,AI可以準(zhǔn)確實(shí)現(xiàn)功能較為單一的軟件。借助這一能力,普通用戶可以將日常的重復(fù)性工作轉(zhuǎn)化為AI編寫的代碼,大大提升工作效率。
至于說(shuō)讓AI完全替代人類開發(fā)者,目前看來(lái)為時(shí)尚早。
當(dāng)今的大語(yǔ)言模型基于互聯(lián)網(wǎng)上已被數(shù)字化的數(shù)據(jù),以及圖書報(bào)刊之類被人類“寫”出來(lái)的知識(shí)。尤其在軟件開發(fā)領(lǐng)域,大語(yǔ)言模型只看到了人類開發(fā)的結(jié)果(軟件代碼),而對(duì)于開發(fā)過(guò)程的細(xì)節(jié)了解甚少。DeepMind科學(xué)家David Silver和Richard S.Sutton指出,當(dāng)前的AI基于人類數(shù)千年來(lái)產(chǎn)生的數(shù)據(jù),但這并不是人類知識(shí)的全部。人類在與真實(shí)世界的交互中積累了大量的經(jīng)驗(yàn)。AI并沒(méi)有這些經(jīng)驗(yàn),因而不太可能超過(guò)人類。而要讓AI學(xué)會(huì)這些經(jīng)驗(yàn),依然困難重重。
公眾常會(huì)探討所謂的“35歲危機(jī)”。然而事實(shí)上,技術(shù)相比年齡更具碾壓性。就軟件開發(fā)而言,AI已經(jīng)能承擔(dān)不少基礎(chǔ)、重復(fù)性的工作,例如簡(jiǎn)單的代碼生成、常見功能的實(shí)現(xiàn),以及部分調(diào)試環(huán)節(jié)等。但難以被替代的,仍是需求把握、架構(gòu)設(shè)計(jì)、復(fù)雜系統(tǒng)的理解分析,以及團(tuán)隊(duì)協(xié)作等環(huán)節(jié)——這些涉及抽象思維、跨領(lǐng)域知識(shí)和人類判斷力,是程序員真正的核心價(jià)值。
作為程序員,不妨考慮這樣一個(gè)問(wèn)題:如果把你最近一周完成的工作全部交給AI,它能完成多少?如果你的工作只是重復(fù)性地構(gòu)建功能單一的軟件系統(tǒng),例如實(shí)現(xiàn)一個(gè)問(wèn)卷表單記錄用戶提出的10個(gè)問(wèn)題、從一個(gè)表格里統(tǒng)計(jì)平均數(shù)之類常見的指標(biāo)——功能僅此而已,那么你不得不考慮被AI替代的可能性。而如果你的工作充滿挑戰(zhàn),例如實(shí)現(xiàn)全新的軟件架構(gòu)、針對(duì)業(yè)務(wù)特點(diǎn)設(shè)計(jì)獨(dú)特的算法,甚至是從客戶含糊不清的訴求中抽象出具體的開發(fā)任務(wù),那么AI只會(huì)是你的得力助手。
這不僅適用于軟件行業(yè),也同樣適用于其他行業(yè):與其擔(dān)心被AI取代,不如思考在這個(gè)人機(jī)協(xié)同的時(shí)代如何做好自己的角色定位。上述的問(wèn)題對(duì)于其他行業(yè)同樣適用:試試讓AI完成你的工作。如果它可以勝任,那么對(duì)你來(lái)說(shuō)既是壞消息,也是好消息。壞消息是你的工作很快就會(huì)被AI取代;好消息是你已經(jīng)發(fā)現(xiàn)了駕馭AI完成工作的途徑,你可以試試站在你的領(lǐng)導(dǎo)的位置上,操控更多的AI完成更多的工作。
與其任由AI奪走你的工作,不如跳出現(xiàn)有的崗位,想想怎樣利用AI解決你所在行業(yè)的問(wèn)題。當(dāng)AI都不甘只做執(zhí)行者,而是開始決定任務(wù)怎么被拆解,流程怎么被安排時(shí),人類個(gè)體若只是抱怨即將被碾壓的命運(yùn),便會(huì)失去主動(dòng)選擇的空間,最終不是淪為工具的工具,就是化作喂養(yǎng)和潤(rùn)滑工具的茫茫數(shù)據(jù)。
(作者知虛為中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)專業(yè)博士,在自然語(yǔ)言處理和人工智能方向發(fā)表多篇高水平論文,先后在微軟及多家國(guó)內(nèi)知名互聯(lián)網(wǎng)企業(yè)從事相關(guān)研究工作) |