正在閱讀:

ChatGPT能取代多少程序員?

掃一掃下載界面新聞APP

ChatGPT能取代多少程序員?

沒(méi)人能在人工智能的洪流前保持傲慢,推動(dòng)科技的人,都有可能反過(guò)來(lái)被科技取代。

圖片來(lái)源:pexels-Lukas

文|深燃 鄒帥

編輯|唐亞華

“去年年底,我看到大佬們都在分享ChatGPT相關(guān)的內(nèi)容,一開(kāi)始我以為還是資本和大佬fomo的玩具,但是經(jīng)過(guò)使用、和朋友交流,加上自己的研究,我確信ChatGPT模型是革命性的。”樊高曾在國(guó)內(nèi)大廠做過(guò)后端工程師,離開(kāi)程序員崗位許久,他因?yàn)镃hatGPT又再一次將目光投向代碼世界。

樊高覺(jué)得,作為生成式AI,ChatGPT的交互能力極強(qiáng),“它其實(shí)是用整個(gè)人類在互聯(lián)網(wǎng)中的語(yǔ)調(diào),訓(xùn)練成了一個(gè)大語(yǔ)言集合,可以想象它會(huì)開(kāi)啟一個(gè)使用自然語(yǔ)言和機(jī)器交互的新時(shí)代?!倍鳛樵?jīng)的技術(shù)人員,樊高也承認(rèn), 部分初級(jí)和重復(fù)勞動(dòng)的工作都會(huì)被AI代勞,這在程序員工作中也一樣。

“我們?nèi)粘?xiě)代碼,最早是一行行的碼,每個(gè)變量方法都要自己生成,后來(lái)idea有代碼補(bǔ)全和編譯器,現(xiàn)在GitHub Copilot(微軟與OpenAI共同推出的AI編程工具)可以通過(guò)描述需求和上下文,智能寫(xiě)代碼?!卑凑者@個(gè)邏輯,他認(rèn)為,編碼也并不是不可取代的能力,交給AI指日可待。

市場(chǎng)上也有AI取代程序員的消息傳出。據(jù)CNBC報(bào)道,據(jù)谷歌內(nèi)部的測(cè)試顯示,ChatGPT能夠通過(guò)谷歌的初級(jí)軟件工程師面試,這個(gè)職位通常適用于新的大學(xué)畢業(yè)生和第一次從事編碼工作的求職者。有計(jì)算機(jī)從業(yè)者也進(jìn)行了嘗試,發(fā)現(xiàn)ChatGPT確實(shí)能夠進(jìn)行寫(xiě)基礎(chǔ)的腳本,雖不能進(jìn)行完整的編程直接開(kāi)發(fā)一個(gè)程序,但它能通過(guò)一步步指令,教人類完成這一項(xiàng)工作,它甚至有debug(排錯(cuò))的能力。

如此看來(lái),大量基礎(chǔ)的編碼工作可以由AI完成,而AI通過(guò)長(zhǎng)時(shí)間學(xué)習(xí)能否無(wú)限提升自己的編碼能力,也未可知。有程序員向深燃表達(dá)了自己的擔(dān)憂,曾以為搞IT會(huì)是比高速收費(fèi)員穩(wěn)定的“鐵飯碗”,然而現(xiàn)在發(fā)現(xiàn)自己也是那個(gè)小窗里隨時(shí)會(huì)被取代的人。

沒(méi)人能在人工智能的洪流前保持傲慢。推動(dòng)科技的人,都有可能反過(guò)來(lái)被科技取代。

01 “我?guī)追昼妼?xiě)的代碼,ChatGPT只要幾秒鐘”

譚林是一位前端開(kāi)發(fā)工程師,目前在加拿大工作。去年年底,ChatGPT面世,北美科技圈就已經(jīng)開(kāi)始關(guān)注并討論了。她說(shuō),同事們?cè)囉弥螅紡募夹g(shù)角度充分肯定了這款工具的優(yōu)勢(shì),也有人開(kāi)玩笑說(shuō)要轉(zhuǎn)行,以后讓ChatGPT寫(xiě)代碼就行了。

“我試著用ChatGPT寫(xiě)了代碼之后,確實(shí)感受到了一絲焦慮。”譚林告訴深燃,她給ChatGPT的指令是:寫(xiě)一個(gè)JS(JavaScript)文件,生成一個(gè)restart button(重啟按鈕),點(diǎn)擊這個(gè)button要求刷新頁(yè)面。ChatGPT很快就給出了一段完整的代碼,并在下面解釋了自己的思路?!斑@段如果我寫(xiě)可能需要幾分鐘,它只要幾秒鐘?!?/p>

譚林嘗試的僅僅是一段基礎(chǔ)的代碼,需求只是在頁(yè)面添加一個(gè)功能。樹(shù)莓健康A(chǔ)PP聯(lián)合創(chuàng)始人阿晨告訴深燃,他讓ChatGPT寫(xiě)了一個(gè)小程序,它也能又快又好地完成。“我的需求是開(kāi)發(fā)一個(gè)AI識(shí)別錯(cuò)別字的軟件。我首先問(wèn)了一下ChatGPT開(kāi)發(fā)思路是什么,從后端用哪個(gè)框架去搭建,前端用微信小程序的某某框架去做,再到小程序怎么上架發(fā)布,它都能夠一一列舉出來(lái)?!卑⒊勘硎?,他此前沒(méi)有小程序開(kāi)發(fā)經(jīng)驗(yàn),這次也是正好讓ChatGPT教他做,從提供思路到如何執(zhí)行,阿晨按照它的指引,成功開(kāi)發(fā)完了這個(gè)小程序,并在微信開(kāi)發(fā)平臺(tái)上架了。

和譚林的感受相似,阿晨也發(fā)現(xiàn),ChatGPT不僅能幫用戶解決具體問(wèn)題,還能有理有據(jù)地解釋背后的邏輯,既能授人以魚(yú),又能授人以漁。阿晨舉例,他對(duì)ChatGPT提出指令“小程序textarea指定位置顏色變紅”,ChatGPT給出回答:“要在小程序中的‘textarea’中指定某個(gè)位置的文本顏色變濃,可以通過(guò)在‘textarea’中插入‘rich-text’標(biāo)簽來(lái)實(shí)現(xiàn)。在‘rich-text’中使用‘’標(biāo)簽,并為該標(biāo)簽指定‘style’屬性來(lái)控制文字的顏色、字體大小等樣式?!被卮疬@些原理之后,ChatGPT還給出了具體的操作步驟。

阿晨在開(kāi)發(fā)過(guò)程中還遇到了幾個(gè)程序報(bào)錯(cuò),他把報(bào)錯(cuò)信息貼入ChatGPT讓它檢查,它也能準(zhǔn)確地debug,“我根據(jù)它的回答可以直接解決問(wèn)題?!卑⒊勘硎?,在沒(méi)有小程序開(kāi)發(fā)經(jīng)驗(yàn)的情況下,他可能需要查閱資料學(xué)習(xí),大概兩三天能完成開(kāi)發(fā),遇到問(wèn)題也不一定很快地解決。“我們平時(shí)會(huì)用百度這樣的搜索引擎,但因?yàn)檫@類工具給出的答案不是特別準(zhǔn)確,我還需要在海量的信息中做二次篩選,所以整體時(shí)間會(huì)拉長(zhǎng)。而放到ChatGPT里面,它從告訴我怎么做,到解決bug成功運(yùn)行,總共就花了3個(gè)小時(shí)。”

人類幾天才能完成的工作,ChatGPT只要幾小時(shí);人類要做幾分鐘的工作,ChatGPT只要幾秒鐘。速度和效率的提升,是AI的價(jià)值之一,而在程序員的眼中,從分到秒的進(jìn)化,也幾乎是“恐怖”的程度,因?yàn)楹茈y想象AI在速度上的上限。

除了速度,ChatGPT的“邏輯”和“思考”能力也超出了一些程序員的預(yù)期。譚林在日常工作中會(huì)經(jīng)常尋求ChatGPT的幫助,他覺(jué)得比以前用Google效率高得多。

“比如我要寫(xiě)一個(gè)軟件,這里面包含幾十個(gè)文件,我把其中一個(gè)文件中的一段代碼篩下來(lái)給ChatGPT,這里邊可能會(huì)出現(xiàn)很多變量和數(shù)據(jù)是來(lái)自其他文件的,它就會(huì)在底下解釋的時(shí)候,說(shuō)這部分變量雖然在這段代碼里沒(méi)有出現(xiàn),但可能是從其他文件中傳遞過(guò)來(lái)的。同樣的問(wèn)題如果問(wèn)Siri這類AI,它們就會(huì)說(shuō)‘我不知道你這個(gè)變量從哪來(lái)的?!?/p>

接觸了ChatGPT一段時(shí)間,譚林的心情也經(jīng)歷了幾次變化,“最開(kāi)始聽(tīng)到的時(shí)候還是持質(zhì)疑態(tài)度,以為只是類似Siri一樣的東西。發(fā)現(xiàn)它能跟我一樣寫(xiě)代碼,并且可以運(yùn)行的時(shí)候,我是很震驚的。這種震驚直接引發(fā)了一些職業(yè)焦慮,它的速度比我快這么多,那如果它經(jīng)歷長(zhǎng)時(shí)間的學(xué)習(xí)和訓(xùn)練,是不是就會(huì)有取代我的一天?”

譚林以前學(xué)生物,轉(zhuǎn)做程序員理由之一就是覺(jué)得這個(gè)職業(yè)很難像收銀、銀行柜臺(tái)、高速收費(fèi)員一樣快速被機(jī)器取代,“疫情也讓我有一些僥幸心理,因?yàn)槲覀冞@個(gè)工作沒(méi)有受什么影響,還能居家辦公,但直到ChatGPT這種AI的出現(xiàn),我才反應(yīng)過(guò)來(lái),原來(lái)程序員也不是鐵飯碗,原來(lái)我的職業(yè)危機(jī)可能會(huì)是它帶來(lái)的?!?/p>

02 能部分代工,但不能完全取代程序員

ChatGPT具備基礎(chǔ)的代碼能力,而且寫(xiě)起來(lái)速度更快。不過(guò),如果真的把ChatGPT放在程序員的工作場(chǎng)景中,它還是暴露出了不少局限性。

先說(shuō)寫(xiě)代碼這一基礎(chǔ)環(huán)節(jié)。幾位程序員的共同體驗(yàn)是,讓ChatGPT寫(xiě)一些基礎(chǔ)的腳本,為網(wǎng)頁(yè)寫(xiě)一個(gè)功能,指導(dǎo)完成小程序的開(kāi)發(fā),從技術(shù)角度來(lái)說(shuō)都是可行的。但是,“它只能寫(xiě)代碼片段,不能寫(xiě)完整的代碼?!卑⒊拷忉專翱梢赃@樣理解,比如我想生成一個(gè)word文檔,但ChatGPT只能生成一個(gè)文字形式,我如果需要兩個(gè)word文檔,它還是只能給我一段文字,要生成文檔我還需要手動(dòng)拷貝到office軟件進(jìn)行人工處理,而且ChatGPT是有字?jǐn)?shù)限制的,最多15000個(gè)字符?!卑⒊空J(rèn)為,只從寫(xiě)代碼這個(gè)層面來(lái)說(shuō),不能寫(xiě)一個(gè)完整的程序是ChatGPT最大的劣勢(shì),因?yàn)殚_(kāi)發(fā)人員是需要有把控整個(gè)框架的能力的。

有人曾這樣形容程序員工種的不可替代性:“程序員的核心競(jìng)爭(zhēng)力不在于寫(xiě)代碼,而是在于跟各種人扯皮,斗智斗勇?!睂?shí)際上,在業(yè)務(wù)場(chǎng)景中,不管是前端還是后端,測(cè)試還是運(yùn)維,程序員工作中最困難和耗費(fèi)時(shí)間的是需求轉(zhuǎn)換,測(cè)試、修改。簡(jiǎn)單來(lái)說(shuō)就是明確公司要什么,然后做出來(lái)。這一項(xiàng)需要大量人類經(jīng)驗(yàn)和創(chuàng)意的工作,ChatGPT目前還很難完成。

阿晨舉例,他們做的是健康管理類的APP,里面需要有一些減肥菜譜,這種菜譜之間存在一定邏輯,“如果讓ChatGPT幫我實(shí)現(xiàn)一個(gè)菜譜查詢的功能,它不知道這個(gè)減肥菜譜是怎么插入數(shù)據(jù)庫(kù)、怎么調(diào)出來(lái)、工作人員怎么通過(guò)后臺(tái)維護(hù),需要我把步驟跟它講一遍,但這樣的步驟等于是我自己已經(jīng)把代碼的框架寫(xiě)完了,它只是幫我實(shí)現(xiàn)框架里的內(nèi)容填充?!?/p>

讓ChatGPT理解業(yè)務(wù),目前來(lái)看顯然是一個(gè)偽命題,所以程序員在日常工作中最耗時(shí)耗力的那一部分,很難被取代。不僅是具體的業(yè)務(wù)難以理解,涉及一些復(fù)雜的極端的生產(chǎn)活動(dòng),ChatGPT也只能從自己的數(shù)據(jù)庫(kù)中歸攏總結(jié)一些“漂亮的廢話”。

樊高說(shuō),比如向ChatGPI提問(wèn)“k8s中的Workload Type有哪些”,這個(gè)問(wèn)題很基礎(chǔ),一般是用于面試程序員的,ChatGPT能非常完整地作答。“但是如果問(wèn)‘如何做雙十一淘寶的下單功能,讓它支持54萬(wàn)/gps?’,它只能列舉采用分布式架構(gòu)、采用緩存技術(shù)、使用負(fù)載均衡、數(shù)據(jù)庫(kù)優(yōu)化、代碼優(yōu)化這幾點(diǎn)?!狈哒J(rèn)為,這只是一個(gè)模棱兩可的,沒(méi)有給出具體模型理論和實(shí)操價(jià)值的答案?!岸覀儸F(xiàn)實(shí)生活中的一些業(yè)務(wù)場(chǎng)景,只能使用人腦去探索和解決,這也是程序員的工作。解決這些專業(yè)性強(qiáng),跟隨市場(chǎng)變化的問(wèn)題,人腦甚至都很難給出完美答案,AI暫時(shí)更是無(wú)法代勞?!?/p>

“各行各業(yè)都有一些擰螺絲的工作,一般都會(huì)交給實(shí)習(xí)生或者剛?cè)腴T的人員來(lái)做。在我們的工作中,比如設(shè)立一個(gè)技術(shù)方案,需要有人去具體地把它實(shí)現(xiàn),但這個(gè)crud(數(shù)據(jù)庫(kù)的增刪改查)就比較無(wú)聊和繁瑣。類似這種已經(jīng)設(shè)計(jì)好了,只需要執(zhí)行的工作,以后完全可以交給AI來(lái)做。”國(guó)內(nèi)某大廠程序員阿冬認(rèn)為,這種來(lái)自AI的‘侵入’是個(gè)好事,“能被AI替代的工作,本來(lái)我就不想干了。這些沒(méi)有創(chuàng)造性的工作由AI接手,正好能讓我有精力做更多有意思的事情。”

從事基礎(chǔ)工作的“底層程序員”也許會(huì)感到一絲涼意,前美的集團(tuán)AIoT算法負(fù)責(zé)人連詩(shī)路告訴深燃,高階程序員,也就是“大?!笔呛茈y被取代的。

“拿開(kāi)發(fā)一個(gè)ChatGPT來(lái)舉例。在搭建這個(gè)模型的時(shí)候,大牛會(huì)提出,第一個(gè)環(huán)節(jié)要用supervised deep learning(有監(jiān)督的深度學(xué)習(xí)),而且用的是GPT3這樣一個(gè)成熟的模型?!彼忉專罱蚣艿倪@撥人很難替代,原因就在于如果一個(gè)沒(méi)有足夠開(kāi)發(fā)經(jīng)驗(yàn)的人,萬(wàn)一把損失函數(shù)放到第一步,優(yōu)化損失函數(shù)值的空間會(huì)極低,那對(duì)結(jié)果來(lái)說(shuō)就是南轅北轍?!拔艺J(rèn)為底層程序員做的事情就是,大牛已經(jīng)告訴他用什么框架,告訴他如何調(diào)整dataset和參數(shù)的大小,他只需要引入,寫(xiě)一些固定的代碼即可,這部分ChatGPT就會(huì)做。這一撥人已經(jīng)產(chǎn)生不了更高的價(jià)值,或者說(shuō)這一撥人的價(jià)值會(huì)被ChatGPT替代。”

“山腳下很擠,山腰上人少一些,山頂上就能呼吸到新鮮空氣了。”連詩(shī)路說(shuō),歸根結(jié)底,有頂層設(shè)計(jì)能力,并且能夠發(fā)現(xiàn)和解決問(wèn)題,創(chuàng)造新的生產(chǎn)力的程序員,才會(huì)在ChatGPT面前更加從容和自信。

03 未來(lái)已來(lái),程序員不再是“鐵飯碗”

在對(duì)效率和生產(chǎn)力的無(wú)限追求中,人類創(chuàng)造并訓(xùn)練人工智能。當(dāng)人工智能發(fā)展到ChatGPT出現(xiàn)的這一刻,被人類創(chuàng)造出來(lái)的機(jī)器,反過(guò)來(lái)撕下了人類無(wú)效工作的假面,將一些重復(fù)、機(jī)械、含金量低的工作推到懸崖邊。

相比普通大眾,計(jì)算機(jī)行業(yè)人士作為多年來(lái)始終身處這個(gè)賽道,見(jiàn)證人工智能一步步來(lái)到今天的親歷者,他們又興奮又焦慮。連詩(shī)路說(shuō),興奮是因?yàn)閷?duì)ChatGPT以及人工智能的未來(lái)充滿希望,“現(xiàn)在ChatGPT走大數(shù)據(jù)、大模型、大算力的路線,采用龐大的Dataset(數(shù)據(jù)集),這個(gè)路子很可能是完全正確的,因?yàn)橐郧拔覀儑L試過(guò)很多小數(shù)據(jù)、小調(diào)優(yōu)算法都達(dá)不到這種效果?!?/p>

焦慮的原因就更為復(fù)雜,簡(jiǎn)單來(lái)說(shuō)就是怕被拋下。連詩(shī)路說(shuō),現(xiàn)在很多互聯(lián)網(wǎng)的大佬都在沒(méi)日沒(méi)夜地找ChatGPT的應(yīng)用方向,大家都在浪潮上,他從十年前就大喊AI,現(xiàn)在更怕自己起了大早趕個(gè)晚集。“搞算法的人也焦慮,焦慮自己的算法方向有沒(méi)有問(wèn)題?!?/p>

在譚林看來(lái),ChatGPT給程序員帶來(lái)的焦慮,也是一件好事。千千萬(wàn)萬(wàn)個(gè)普通程序員的核心競(jìng)爭(zhēng)力還是對(duì)需求的理解能力,獨(dú)立完成設(shè)計(jì)架構(gòu)的能力,而這恰恰也是避免自己被AI取代的核心競(jìng)爭(zhēng)力。“像我從事的網(wǎng)站開(kāi)發(fā)工作,可能前端人性化設(shè)計(jì)類的工作比較難取代,但后端數(shù)據(jù)庫(kù)操作、傳參接口這些可能過(guò)個(gè)幾十年就不好說(shuō)了,這些也沒(méi)辦法,只能多去鍛煉自己的代碼能力,繼續(xù)學(xué)習(xí)?!?/p>

阿晨最近也在為自己的團(tuán)隊(duì)面試技術(shù)人員,有了ChatGPT之后,他對(duì)經(jīng)驗(yàn)較少的面試者的要求也會(huì)更辯證一些?!皼](méi)有真實(shí)開(kāi)發(fā)經(jīng)驗(yàn)不要緊,我會(huì)更希望他們有自己的邏輯思維,不能只會(huì)執(zhí)行,只會(huì)做ChatGPT能夠做的事情?!?/p>

連詩(shī)路還提出,如果將來(lái)ChatGPT這類AI大規(guī)模進(jìn)入企業(yè),伴隨而生可能是對(duì)于復(fù)合型技術(shù)人才的需求,也就是產(chǎn)品型技術(shù)人員,或技術(shù)型產(chǎn)品人員,這種人才現(xiàn)在是非常稀缺的。他解釋,從他的觀察來(lái)看,國(guó)內(nèi)外很多大型互聯(lián)網(wǎng)公司里,產(chǎn)品人員和技術(shù)人員是水火不相容的,雙方不愿意良性溝通?!癈hatGPT則需要一個(gè)兼容的角色,懂技術(shù),又能快速發(fā)現(xiàn)需求,并把需求清晰地解釋出來(lái),因?yàn)槔碚撋现v,未來(lái)只要給ChatGPT明確的prompts(提示、激勵(lì)),它是可以給你編程的?!?/p>

另一個(gè)繞不開(kāi)的話題是成本。阿晨說(shuō),參考文心一言的模式,很多企業(yè)都宣布準(zhǔn)備接入。“這個(gè)可能就像現(xiàn)在很多的云服務(wù)器,最開(kāi)始使用的時(shí)候肯定由生產(chǎn)商支付了大部分費(fèi)用,企業(yè)端可能覺(jué)得很便宜,但是一旦依賴了,人工智能公司造成壟斷,這個(gè)使用成本就會(huì)慢慢增加,現(xiàn)在很多企業(yè)開(kāi)始考慮搭建私有化的服務(wù)器,我覺(jué)得人工智能系統(tǒng)也會(huì)經(jīng)歷這樣一種消費(fèi)階段?!?/p>

人工智能進(jìn)入企業(yè),應(yīng)用于智能傳呼、智能客服等等崗位已經(jīng)有跡可循,但對(duì)于程序員這個(gè)崗位來(lái)說(shuō),需要視情況而定。一方面,判斷一個(gè)工種能否被人工智能取代,首先要看該工種與智能化的結(jié)合程度,包含大量人類經(jīng)驗(yàn)和創(chuàng)意的工種尚能保住飯碗。另一方面則是成本的對(duì)比,如果人工智能系統(tǒng)用于做客服的價(jià)格比雇傭人力要低,那自然可以取代,但如果人工智能系統(tǒng)用于做編程的價(jià)格更高,那程序員就會(huì)一直被需要。

不可否認(rèn)的是,機(jī)會(huì)在走向高處,走向控制AI的算法工程師,走向懂需求和技術(shù)的復(fù)合型人才?;A(chǔ)性工作會(huì)逐漸喪失價(jià)值感,這一部分人要么離開(kāi),要么就要被AI驅(qū)使著,跑得更快。這或許正是人工智能與人類應(yīng)該有的關(guān)系,如果人類創(chuàng)造AI的初衷就是解決掉人類工作和生活中的繁文縟節(jié),那AI就不會(huì)是敵人,而是更聰明的諍友。

譚林說(shuō),就像馬車協(xié)會(huì)抵制燃油車一樣,面對(duì)新生事物,舊的事物會(huì)天然地排斥和恐慌,但當(dāng)你發(fā)現(xiàn)潮水不可逆轉(zhuǎn)的時(shí)候,你同時(shí)也發(fā)現(xiàn),你正和潮水涌向同一個(gè)方向。

應(yīng)受訪者要求,樊高、譚林、阿晨、阿冬為化名。

本文為轉(zhuǎn)載內(nèi)容,授權(quán)事宜請(qǐng)聯(lián)系原著作權(quán)人。

評(píng)論

暫無(wú)評(píng)論哦,快來(lái)評(píng)價(jià)一下吧!

下載界面新聞

微信公眾號(hào)

微博

ChatGPT能取代多少程序員?

沒(méi)人能在人工智能的洪流前保持傲慢,推動(dòng)科技的人,都有可能反過(guò)來(lái)被科技取代。

圖片來(lái)源:pexels-Lukas

文|深燃 鄒帥

編輯|唐亞華

“去年年底,我看到大佬們都在分享ChatGPT相關(guān)的內(nèi)容,一開(kāi)始我以為還是資本和大佬fomo的玩具,但是經(jīng)過(guò)使用、和朋友交流,加上自己的研究,我確信ChatGPT模型是革命性的。”樊高曾在國(guó)內(nèi)大廠做過(guò)后端工程師,離開(kāi)程序員崗位許久,他因?yàn)镃hatGPT又再一次將目光投向代碼世界。

樊高覺(jué)得,作為生成式AI,ChatGPT的交互能力極強(qiáng),“它其實(shí)是用整個(gè)人類在互聯(lián)網(wǎng)中的語(yǔ)調(diào),訓(xùn)練成了一個(gè)大語(yǔ)言集合,可以想象它會(huì)開(kāi)啟一個(gè)使用自然語(yǔ)言和機(jī)器交互的新時(shí)代。”而作為曾經(jīng)的技術(shù)人員,樊高也承認(rèn), 部分初級(jí)和重復(fù)勞動(dòng)的工作都會(huì)被AI代勞,這在程序員工作中也一樣。

“我們?nèi)粘?xiě)代碼,最早是一行行的碼,每個(gè)變量方法都要自己生成,后來(lái)idea有代碼補(bǔ)全和編譯器,現(xiàn)在GitHub Copilot(微軟與OpenAI共同推出的AI編程工具)可以通過(guò)描述需求和上下文,智能寫(xiě)代碼?!卑凑者@個(gè)邏輯,他認(rèn)為,編碼也并不是不可取代的能力,交給AI指日可待。

市場(chǎng)上也有AI取代程序員的消息傳出。據(jù)CNBC報(bào)道,據(jù)谷歌內(nèi)部的測(cè)試顯示,ChatGPT能夠通過(guò)谷歌的初級(jí)軟件工程師面試,這個(gè)職位通常適用于新的大學(xué)畢業(yè)生和第一次從事編碼工作的求職者。有計(jì)算機(jī)從業(yè)者也進(jìn)行了嘗試,發(fā)現(xiàn)ChatGPT確實(shí)能夠進(jìn)行寫(xiě)基礎(chǔ)的腳本,雖不能進(jìn)行完整的編程直接開(kāi)發(fā)一個(gè)程序,但它能通過(guò)一步步指令,教人類完成這一項(xiàng)工作,它甚至有debug(排錯(cuò))的能力。

如此看來(lái),大量基礎(chǔ)的編碼工作可以由AI完成,而AI通過(guò)長(zhǎng)時(shí)間學(xué)習(xí)能否無(wú)限提升自己的編碼能力,也未可知。有程序員向深燃表達(dá)了自己的擔(dān)憂,曾以為搞IT會(huì)是比高速收費(fèi)員穩(wěn)定的“鐵飯碗”,然而現(xiàn)在發(fā)現(xiàn)自己也是那個(gè)小窗里隨時(shí)會(huì)被取代的人。

沒(méi)人能在人工智能的洪流前保持傲慢。推動(dòng)科技的人,都有可能反過(guò)來(lái)被科技取代。

01 “我?guī)追昼妼?xiě)的代碼,ChatGPT只要幾秒鐘”

譚林是一位前端開(kāi)發(fā)工程師,目前在加拿大工作。去年年底,ChatGPT面世,北美科技圈就已經(jīng)開(kāi)始關(guān)注并討論了。她說(shuō),同事們?cè)囉弥?,都從技術(shù)角度充分肯定了這款工具的優(yōu)勢(shì),也有人開(kāi)玩笑說(shuō)要轉(zhuǎn)行,以后讓ChatGPT寫(xiě)代碼就行了。

“我試著用ChatGPT寫(xiě)了代碼之后,確實(shí)感受到了一絲焦慮?!弊T林告訴深燃,她給ChatGPT的指令是:寫(xiě)一個(gè)JS(JavaScript)文件,生成一個(gè)restart button(重啟按鈕),點(diǎn)擊這個(gè)button要求刷新頁(yè)面。ChatGPT很快就給出了一段完整的代碼,并在下面解釋了自己的思路。“這段如果我寫(xiě)可能需要幾分鐘,它只要幾秒鐘?!?/p>

譚林嘗試的僅僅是一段基礎(chǔ)的代碼,需求只是在頁(yè)面添加一個(gè)功能。樹(shù)莓健康A(chǔ)PP聯(lián)合創(chuàng)始人阿晨告訴深燃,他讓ChatGPT寫(xiě)了一個(gè)小程序,它也能又快又好地完成?!拔业男枨笫情_(kāi)發(fā)一個(gè)AI識(shí)別錯(cuò)別字的軟件。我首先問(wèn)了一下ChatGPT開(kāi)發(fā)思路是什么,從后端用哪個(gè)框架去搭建,前端用微信小程序的某某框架去做,再到小程序怎么上架發(fā)布,它都能夠一一列舉出來(lái)?!卑⒊勘硎荆饲皼](méi)有小程序開(kāi)發(fā)經(jīng)驗(yàn),這次也是正好讓ChatGPT教他做,從提供思路到如何執(zhí)行,阿晨按照它的指引,成功開(kāi)發(fā)完了這個(gè)小程序,并在微信開(kāi)發(fā)平臺(tái)上架了。

和譚林的感受相似,阿晨也發(fā)現(xiàn),ChatGPT不僅能幫用戶解決具體問(wèn)題,還能有理有據(jù)地解釋背后的邏輯,既能授人以魚(yú),又能授人以漁。阿晨舉例,他對(duì)ChatGPT提出指令“小程序textarea指定位置顏色變紅”,ChatGPT給出回答:“要在小程序中的‘textarea’中指定某個(gè)位置的文本顏色變濃,可以通過(guò)在‘textarea’中插入‘rich-text’標(biāo)簽來(lái)實(shí)現(xiàn)。在‘rich-text’中使用‘’標(biāo)簽,并為該標(biāo)簽指定‘style’屬性來(lái)控制文字的顏色、字體大小等樣式?!被卮疬@些原理之后,ChatGPT還給出了具體的操作步驟。

阿晨在開(kāi)發(fā)過(guò)程中還遇到了幾個(gè)程序報(bào)錯(cuò),他把報(bào)錯(cuò)信息貼入ChatGPT讓它檢查,它也能準(zhǔn)確地debug,“我根據(jù)它的回答可以直接解決問(wèn)題?!卑⒊勘硎?,在沒(méi)有小程序開(kāi)發(fā)經(jīng)驗(yàn)的情況下,他可能需要查閱資料學(xué)習(xí),大概兩三天能完成開(kāi)發(fā),遇到問(wèn)題也不一定很快地解決。“我們平時(shí)會(huì)用百度這樣的搜索引擎,但因?yàn)檫@類工具給出的答案不是特別準(zhǔn)確,我還需要在海量的信息中做二次篩選,所以整體時(shí)間會(huì)拉長(zhǎng)。而放到ChatGPT里面,它從告訴我怎么做,到解決bug成功運(yùn)行,總共就花了3個(gè)小時(shí)?!?/p>

人類幾天才能完成的工作,ChatGPT只要幾小時(shí);人類要做幾分鐘的工作,ChatGPT只要幾秒鐘。速度和效率的提升,是AI的價(jià)值之一,而在程序員的眼中,從分到秒的進(jìn)化,也幾乎是“恐怖”的程度,因?yàn)楹茈y想象AI在速度上的上限。

除了速度,ChatGPT的“邏輯”和“思考”能力也超出了一些程序員的預(yù)期。譚林在日常工作中會(huì)經(jīng)常尋求ChatGPT的幫助,他覺(jué)得比以前用Google效率高得多。

“比如我要寫(xiě)一個(gè)軟件,這里面包含幾十個(gè)文件,我把其中一個(gè)文件中的一段代碼篩下來(lái)給ChatGPT,這里邊可能會(huì)出現(xiàn)很多變量和數(shù)據(jù)是來(lái)自其他文件的,它就會(huì)在底下解釋的時(shí)候,說(shuō)這部分變量雖然在這段代碼里沒(méi)有出現(xiàn),但可能是從其他文件中傳遞過(guò)來(lái)的。同樣的問(wèn)題如果問(wèn)Siri這類AI,它們就會(huì)說(shuō)‘我不知道你這個(gè)變量從哪來(lái)的?!?/p>

接觸了ChatGPT一段時(shí)間,譚林的心情也經(jīng)歷了幾次變化,“最開(kāi)始聽(tīng)到的時(shí)候還是持質(zhì)疑態(tài)度,以為只是類似Siri一樣的東西。發(fā)現(xiàn)它能跟我一樣寫(xiě)代碼,并且可以運(yùn)行的時(shí)候,我是很震驚的。這種震驚直接引發(fā)了一些職業(yè)焦慮,它的速度比我快這么多,那如果它經(jīng)歷長(zhǎng)時(shí)間的學(xué)習(xí)和訓(xùn)練,是不是就會(huì)有取代我的一天?”

譚林以前學(xué)生物,轉(zhuǎn)做程序員理由之一就是覺(jué)得這個(gè)職業(yè)很難像收銀、銀行柜臺(tái)、高速收費(fèi)員一樣快速被機(jī)器取代,“疫情也讓我有一些僥幸心理,因?yàn)槲覀冞@個(gè)工作沒(méi)有受什么影響,還能居家辦公,但直到ChatGPT這種AI的出現(xiàn),我才反應(yīng)過(guò)來(lái),原來(lái)程序員也不是鐵飯碗,原來(lái)我的職業(yè)危機(jī)可能會(huì)是它帶來(lái)的。”

02 能部分代工,但不能完全取代程序員

ChatGPT具備基礎(chǔ)的代碼能力,而且寫(xiě)起來(lái)速度更快。不過(guò),如果真的把ChatGPT放在程序員的工作場(chǎng)景中,它還是暴露出了不少局限性。

先說(shuō)寫(xiě)代碼這一基礎(chǔ)環(huán)節(jié)。幾位程序員的共同體驗(yàn)是,讓ChatGPT寫(xiě)一些基礎(chǔ)的腳本,為網(wǎng)頁(yè)寫(xiě)一個(gè)功能,指導(dǎo)完成小程序的開(kāi)發(fā),從技術(shù)角度來(lái)說(shuō)都是可行的。但是,“它只能寫(xiě)代碼片段,不能寫(xiě)完整的代碼?!卑⒊拷忉專翱梢赃@樣理解,比如我想生成一個(gè)word文檔,但ChatGPT只能生成一個(gè)文字形式,我如果需要兩個(gè)word文檔,它還是只能給我一段文字,要生成文檔我還需要手動(dòng)拷貝到office軟件進(jìn)行人工處理,而且ChatGPT是有字?jǐn)?shù)限制的,最多15000個(gè)字符?!卑⒊空J(rèn)為,只從寫(xiě)代碼這個(gè)層面來(lái)說(shuō),不能寫(xiě)一個(gè)完整的程序是ChatGPT最大的劣勢(shì),因?yàn)殚_(kāi)發(fā)人員是需要有把控整個(gè)框架的能力的。

有人曾這樣形容程序員工種的不可替代性:“程序員的核心競(jìng)爭(zhēng)力不在于寫(xiě)代碼,而是在于跟各種人扯皮,斗智斗勇?!睂?shí)際上,在業(yè)務(wù)場(chǎng)景中,不管是前端還是后端,測(cè)試還是運(yùn)維,程序員工作中最困難和耗費(fèi)時(shí)間的是需求轉(zhuǎn)換,測(cè)試、修改。簡(jiǎn)單來(lái)說(shuō)就是明確公司要什么,然后做出來(lái)。這一項(xiàng)需要大量人類經(jīng)驗(yàn)和創(chuàng)意的工作,ChatGPT目前還很難完成。

阿晨舉例,他們做的是健康管理類的APP,里面需要有一些減肥菜譜,這種菜譜之間存在一定邏輯,“如果讓ChatGPT幫我實(shí)現(xiàn)一個(gè)菜譜查詢的功能,它不知道這個(gè)減肥菜譜是怎么插入數(shù)據(jù)庫(kù)、怎么調(diào)出來(lái)、工作人員怎么通過(guò)后臺(tái)維護(hù),需要我把步驟跟它講一遍,但這樣的步驟等于是我自己已經(jīng)把代碼的框架寫(xiě)完了,它只是幫我實(shí)現(xiàn)框架里的內(nèi)容填充。”

讓ChatGPT理解業(yè)務(wù),目前來(lái)看顯然是一個(gè)偽命題,所以程序員在日常工作中最耗時(shí)耗力的那一部分,很難被取代。不僅是具體的業(yè)務(wù)難以理解,涉及一些復(fù)雜的極端的生產(chǎn)活動(dòng),ChatGPT也只能從自己的數(shù)據(jù)庫(kù)中歸攏總結(jié)一些“漂亮的廢話”。

樊高說(shuō),比如向ChatGPI提問(wèn)“k8s中的Workload Type有哪些”,這個(gè)問(wèn)題很基礎(chǔ),一般是用于面試程序員的,ChatGPT能非常完整地作答?!暗侨绻麊?wèn)‘如何做雙十一淘寶的下單功能,讓它支持54萬(wàn)/gps?’,它只能列舉采用分布式架構(gòu)、采用緩存技術(shù)、使用負(fù)載均衡、數(shù)據(jù)庫(kù)優(yōu)化、代碼優(yōu)化這幾點(diǎn)。”樊高認(rèn)為,這只是一個(gè)模棱兩可的,沒(méi)有給出具體模型理論和實(shí)操價(jià)值的答案。“而我們現(xiàn)實(shí)生活中的一些業(yè)務(wù)場(chǎng)景,只能使用人腦去探索和解決,這也是程序員的工作。解決這些專業(yè)性強(qiáng),跟隨市場(chǎng)變化的問(wèn)題,人腦甚至都很難給出完美答案,AI暫時(shí)更是無(wú)法代勞?!?/p>

“各行各業(yè)都有一些擰螺絲的工作,一般都會(huì)交給實(shí)習(xí)生或者剛?cè)腴T的人員來(lái)做。在我們的工作中,比如設(shè)立一個(gè)技術(shù)方案,需要有人去具體地把它實(shí)現(xiàn),但這個(gè)crud(數(shù)據(jù)庫(kù)的增刪改查)就比較無(wú)聊和繁瑣。類似這種已經(jīng)設(shè)計(jì)好了,只需要執(zhí)行的工作,以后完全可以交給AI來(lái)做?!眹?guó)內(nèi)某大廠程序員阿冬認(rèn)為,這種來(lái)自AI的‘侵入’是個(gè)好事,“能被AI替代的工作,本來(lái)我就不想干了。這些沒(méi)有創(chuàng)造性的工作由AI接手,正好能讓我有精力做更多有意思的事情?!?/p>

從事基礎(chǔ)工作的“底層程序員”也許會(huì)感到一絲涼意,前美的集團(tuán)AIoT算法負(fù)責(zé)人連詩(shī)路告訴深燃,高階程序員,也就是“大?!笔呛茈y被取代的。

“拿開(kāi)發(fā)一個(gè)ChatGPT來(lái)舉例。在搭建這個(gè)模型的時(shí)候,大牛會(huì)提出,第一個(gè)環(huán)節(jié)要用supervised deep learning(有監(jiān)督的深度學(xué)習(xí)),而且用的是GPT3這樣一個(gè)成熟的模型。”他解釋,搭建框架的這撥人很難替代,原因就在于如果一個(gè)沒(méi)有足夠開(kāi)發(fā)經(jīng)驗(yàn)的人,萬(wàn)一把損失函數(shù)放到第一步,優(yōu)化損失函數(shù)值的空間會(huì)極低,那對(duì)結(jié)果來(lái)說(shuō)就是南轅北轍?!拔艺J(rèn)為底層程序員做的事情就是,大牛已經(jīng)告訴他用什么框架,告訴他如何調(diào)整dataset和參數(shù)的大小,他只需要引入,寫(xiě)一些固定的代碼即可,這部分ChatGPT就會(huì)做。這一撥人已經(jīng)產(chǎn)生不了更高的價(jià)值,或者說(shuō)這一撥人的價(jià)值會(huì)被ChatGPT替代。”

“山腳下很擠,山腰上人少一些,山頂上就能呼吸到新鮮空氣了?!边B詩(shī)路說(shuō),歸根結(jié)底,有頂層設(shè)計(jì)能力,并且能夠發(fā)現(xiàn)和解決問(wèn)題,創(chuàng)造新的生產(chǎn)力的程序員,才會(huì)在ChatGPT面前更加從容和自信。

03 未來(lái)已來(lái),程序員不再是“鐵飯碗”

在對(duì)效率和生產(chǎn)力的無(wú)限追求中,人類創(chuàng)造并訓(xùn)練人工智能。當(dāng)人工智能發(fā)展到ChatGPT出現(xiàn)的這一刻,被人類創(chuàng)造出來(lái)的機(jī)器,反過(guò)來(lái)撕下了人類無(wú)效工作的假面,將一些重復(fù)、機(jī)械、含金量低的工作推到懸崖邊。

相比普通大眾,計(jì)算機(jī)行業(yè)人士作為多年來(lái)始終身處這個(gè)賽道,見(jiàn)證人工智能一步步來(lái)到今天的親歷者,他們又興奮又焦慮。連詩(shī)路說(shuō),興奮是因?yàn)閷?duì)ChatGPT以及人工智能的未來(lái)充滿希望,“現(xiàn)在ChatGPT走大數(shù)據(jù)、大模型、大算力的路線,采用龐大的Dataset(數(shù)據(jù)集),這個(gè)路子很可能是完全正確的,因?yàn)橐郧拔覀儑L試過(guò)很多小數(shù)據(jù)、小調(diào)優(yōu)算法都達(dá)不到這種效果?!?/p>

焦慮的原因就更為復(fù)雜,簡(jiǎn)單來(lái)說(shuō)就是怕被拋下。連詩(shī)路說(shuō),現(xiàn)在很多互聯(lián)網(wǎng)的大佬都在沒(méi)日沒(méi)夜地找ChatGPT的應(yīng)用方向,大家都在浪潮上,他從十年前就大喊AI,現(xiàn)在更怕自己起了大早趕個(gè)晚集?!案闼惴ǖ娜艘步箲],焦慮自己的算法方向有沒(méi)有問(wèn)題?!?/p>

在譚林看來(lái),ChatGPT給程序員帶來(lái)的焦慮,也是一件好事。千千萬(wàn)萬(wàn)個(gè)普通程序員的核心競(jìng)爭(zhēng)力還是對(duì)需求的理解能力,獨(dú)立完成設(shè)計(jì)架構(gòu)的能力,而這恰恰也是避免自己被AI取代的核心競(jìng)爭(zhēng)力?!跋裎覐氖碌木W(wǎng)站開(kāi)發(fā)工作,可能前端人性化設(shè)計(jì)類的工作比較難取代,但后端數(shù)據(jù)庫(kù)操作、傳參接口這些可能過(guò)個(gè)幾十年就不好說(shuō)了,這些也沒(méi)辦法,只能多去鍛煉自己的代碼能力,繼續(xù)學(xué)習(xí)。”

阿晨最近也在為自己的團(tuán)隊(duì)面試技術(shù)人員,有了ChatGPT之后,他對(duì)經(jīng)驗(yàn)較少的面試者的要求也會(huì)更辯證一些。“沒(méi)有真實(shí)開(kāi)發(fā)經(jīng)驗(yàn)不要緊,我會(huì)更希望他們有自己的邏輯思維,不能只會(huì)執(zhí)行,只會(huì)做ChatGPT能夠做的事情?!?/p>

連詩(shī)路還提出,如果將來(lái)ChatGPT這類AI大規(guī)模進(jìn)入企業(yè),伴隨而生可能是對(duì)于復(fù)合型技術(shù)人才的需求,也就是產(chǎn)品型技術(shù)人員,或技術(shù)型產(chǎn)品人員,這種人才現(xiàn)在是非常稀缺的。他解釋,從他的觀察來(lái)看,國(guó)內(nèi)外很多大型互聯(lián)網(wǎng)公司里,產(chǎn)品人員和技術(shù)人員是水火不相容的,雙方不愿意良性溝通?!癈hatGPT則需要一個(gè)兼容的角色,懂技術(shù),又能快速發(fā)現(xiàn)需求,并把需求清晰地解釋出來(lái),因?yàn)槔碚撋现v,未來(lái)只要給ChatGPT明確的prompts(提示、激勵(lì)),它是可以給你編程的。”

另一個(gè)繞不開(kāi)的話題是成本。阿晨說(shuō),參考文心一言的模式,很多企業(yè)都宣布準(zhǔn)備接入。“這個(gè)可能就像現(xiàn)在很多的云服務(wù)器,最開(kāi)始使用的時(shí)候肯定由生產(chǎn)商支付了大部分費(fèi)用,企業(yè)端可能覺(jué)得很便宜,但是一旦依賴了,人工智能公司造成壟斷,這個(gè)使用成本就會(huì)慢慢增加,現(xiàn)在很多企業(yè)開(kāi)始考慮搭建私有化的服務(wù)器,我覺(jué)得人工智能系統(tǒng)也會(huì)經(jīng)歷這樣一種消費(fèi)階段?!?/p>

人工智能進(jìn)入企業(yè),應(yīng)用于智能傳呼、智能客服等等崗位已經(jīng)有跡可循,但對(duì)于程序員這個(gè)崗位來(lái)說(shuō),需要視情況而定。一方面,判斷一個(gè)工種能否被人工智能取代,首先要看該工種與智能化的結(jié)合程度,包含大量人類經(jīng)驗(yàn)和創(chuàng)意的工種尚能保住飯碗。另一方面則是成本的對(duì)比,如果人工智能系統(tǒng)用于做客服的價(jià)格比雇傭人力要低,那自然可以取代,但如果人工智能系統(tǒng)用于做編程的價(jià)格更高,那程序員就會(huì)一直被需要。

不可否認(rèn)的是,機(jī)會(huì)在走向高處,走向控制AI的算法工程師,走向懂需求和技術(shù)的復(fù)合型人才?;A(chǔ)性工作會(huì)逐漸喪失價(jià)值感,這一部分人要么離開(kāi),要么就要被AI驅(qū)使著,跑得更快。這或許正是人工智能與人類應(yīng)該有的關(guān)系,如果人類創(chuàng)造AI的初衷就是解決掉人類工作和生活中的繁文縟節(jié),那AI就不會(huì)是敵人,而是更聰明的諍友。

譚林說(shuō),就像馬車協(xié)會(huì)抵制燃油車一樣,面對(duì)新生事物,舊的事物會(huì)天然地排斥和恐慌,但當(dāng)你發(fā)現(xiàn)潮水不可逆轉(zhuǎn)的時(shí)候,你同時(shí)也發(fā)現(xiàn),你正和潮水涌向同一個(gè)方向。

應(yīng)受訪者要求,樊高、譚林、阿晨、阿冬為化名。

本文為轉(zhuǎn)載內(nèi)容,授權(quán)事宜請(qǐng)聯(lián)系原著作權(quán)人。