大腦以及二進(jìn)制代碼(圖:Canva)
寫代碼已經(jīng)成了許多工作的一項關(guān)鍵技能。一些國家和學(xué)校甚至認(rèn)為,編程語言是一種可以接受的外語。而在各種熙熙攘攘之中,程序代碼的性質(zhì)也正在發(fā)生巨大的變化。
隨著低代碼和無代碼平臺迅猛增長,個人和組織都可以用相對較少的傳統(tǒng)上稱為編寫代碼的東西,來創(chuàng)建強(qiáng)大的生產(chǎn)應(yīng)用程序。該趨勢的下一步,就是人工智能生成代碼,比如,最近的Open AI Codex和Github Autopilot就展示了這一步的實現(xiàn)。
那么,這些趨勢意味著什么呢?編寫代碼會過時嗎?
背景是什么?
在我們回答這個問題之前,要先把這些趨勢置于背景之中,這是有幫助的。在編程代碼的早期,使用匯編語言和機(jī)器語言是當(dāng)時的常態(tài)。編寫代碼后來演變?yōu)楦呒壵Z言,開發(fā)人員可以用一種與機(jī)器無關(guān)的語言描述高層次的意圖,再用編譯器在下面生成特定機(jī)器的代碼。
這種趨勢一直持續(xù)到現(xiàn)在,今天的主流語言(例如python)帶有許多可多次使用的庫。所以,要創(chuàng)建強(qiáng)大的應(yīng)用程序也相對簡單,只需要編寫少量的新代碼即可。
低代碼/無代碼是什么?
低碼/無碼是這種演變的下一步。開發(fā)人員無需去尋找和組裝可重用的代碼塊。低碼平臺能夠遵照高層次的指示及識別正確的可重用代碼塊并組裝出必要的代碼。開發(fā)人員則仍然要作出許多決定,例如構(gòu)建什么樣的應(yīng)用以及軟件應(yīng)該如何運作等等。
那么低碼是自己做一些決定或是什么都由開發(fā)者決定呢?答案是前者,而且根據(jù)平臺的不同,自動化做決定的數(shù)量也不一樣。之前的編譯器其實也是這樣。比如說開發(fā)者使用編譯器編寫一個循環(huán),開發(fā)者很少會指定該循環(huán)應(yīng)該如何用機(jī)器代碼實現(xiàn)。編譯器決定如何用機(jī)器代碼實現(xiàn)該循環(huán),用到的實現(xiàn)方法,可能是一系列啟發(fā)式算法和由編譯器設(shè)計者絞盡腦汁創(chuàng)建的算法。
人工智能可以寫代碼嗎?
人工智能寫代碼是最近的發(fā)展,這是比低碼更高大上的一種方法。低代碼平臺上的人類(即低代碼平臺設(shè)計者)可能已經(jīng)組裝了自動化邏輯,在用戶提供了高層次的指示后,自動化邏輯得以觸發(fā)并生成代碼。人工智能在研究了大量的現(xiàn)有代碼語料庫后確立一些組裝規(guī)則,進(jìn)而可以生成代碼。
對于用戶而言,人工智能生成的代碼可能看起來和低碼平臺生成的代碼一樣,但這些代碼是人工智能創(chuàng)造的低碼。這意味著現(xiàn)在可以更容易地用人工智能創(chuàng)建新的低碼平臺,而平臺自動化模式則是基于人工智能。
這一類的平臺可以做很多事情:
創(chuàng)建應(yīng)用程序
如今,業(yè)界的一些人工智能原型已經(jīng)可以根據(jù)人類的日常語言指示編寫簡單的應(yīng)用程序,這顯示了人工智能在這領(lǐng)域的發(fā)展前景。這些人工智能用了許多用不同語言編寫的程序例子進(jìn)行訓(xùn)練,但從簡單的層面上看就是個代碼的自動更正。而從更復(fù)雜的層面上看,它實際上是一個引擎,這個引擎可以為開發(fā)者指定的任務(wù)編寫代碼。
調(diào)試代碼
現(xiàn)在,程序員用到的一些集成開發(fā)環(huán)境(IDE)已經(jīng)可以識別代碼中的簡單語法問題。新的人工智能技術(shù)在這方面則更進(jìn)了一步,它能通過分析代碼庫、錯誤修復(fù)和代碼更新進(jìn)行訓(xùn)練,達(dá)到檢測常見錯誤模式并在新代碼中找到這些錯誤。
編寫人工智能代碼
現(xiàn)在已經(jīng)可以將一個數(shù)據(jù)集交給自動化工具,使得自動化工具生成正確的代碼類型,再從數(shù)據(jù)集中構(gòu)建一個人工智能。這種類型的人工智能自動化已經(jīng)可以用于一些特定的學(xué)習(xí)背景,例如在各種生產(chǎn)人工智能環(huán)境里用于生成后端代碼,去教初中和高中學(xué)生如何利用人工智能編寫代碼。
圖中顯示的編譯器、人類設(shè)計的自動化和人工智能設(shè)計的自動化逐步擴(kuò)展了編程助手平臺。新技術(shù)的出現(xiàn)擴(kuò)展了編程助手的適應(yīng)范圍,編程助手也涵蓋了更大范圍的使用案例。(圖:AIClub.World)
程序員該何去何從?
無疑,這些趨勢將產(chǎn)生深遠(yuǎn)的影響。許多開發(fā)者擔(dān)心這將使他們丟掉工作——但筆者不這樣認(rèn)為。
編譯器并沒有讓開發(fā)者失業(yè),而是大規(guī)模地增加了所需的開發(fā)者數(shù)量、代碼的使用以及所創(chuàng)建的應(yīng)用程序的規(guī)模和范圍。筆者預(yù)計上述的趨勢也是這樣。但這將從根本上改變編寫代碼的性質(zhì)(如果你是一個熟練的匯編語言開發(fā)人員,相關(guān)的工作有限)。這些趨勢令人類成為設(shè)計者的角色,而不是實施者。未來的開發(fā)者將可以自由地專注于可用性、設(shè)計、特征功能等等,而無需擔(dān)心如何使用特定的API等細(xì)節(jié)問題。
當(dāng)然,該趨勢的發(fā)展還有待觀察。生產(chǎn)軟件是一項復(fù)雜的工作,結(jié)合了設(shè)計、功能、實施、測試、修改和維護(hù)、DevOps等等。任何能實施自動化的東西都可以令開發(fā)者騰出手來處理其他事情??梢哉f,我們正在挺進(jìn)一個新的領(lǐng)域,人類的任務(wù)在這個領(lǐng)域中將集中在功能、設(shè)計、道德等主題上,而低層次的實施將由人工智能和自動化來處理。
總結(jié)
回到標(biāo)題的問題——人工智能“上位”會讓程序員消失嗎?
筆者認(rèn)為不會。開發(fā)人員的工作是創(chuàng)造一個產(chǎn)品,產(chǎn)品需滿足用戶的需求,相應(yīng)的解決方案需要特定運行的環(huán)境(如公司使用什么技術(shù)、現(xiàn)有的基礎(chǔ)設(shè)施、團(tuán)隊技能、法律限制等)和許多其他因素。而人工智能生成的代碼是對大多數(shù)這些事情的補(bǔ)充。不過筆者確實認(rèn)為,人工智能正在從根本上改變編寫代碼的含義并將在未來持續(xù)改變編寫代碼的含義。關(guān)鍵是我們?nèi)绾闻c我們編碼教育以及行業(yè)編碼實踐保持同步。
企業(yè)或技術(shù)領(lǐng)導(dǎo)者務(wù)必確保你的團(tuán)隊了解這些發(fā)展以及如何利用這些發(fā)展,這一點很重要。低碼已經(jīng)在幫助開發(fā)人員提高生產(chǎn)力。人工智能生成代碼是一個相對較新的現(xiàn)象,但我們可以預(yù)期,人工智能生成代碼在未來幾年內(nèi)會變得更加普遍。即使是熟練的開發(fā)人員也可以受益于持續(xù)的教育和培訓(xùn)計劃,達(dá)到保持對最新技術(shù)的了解的目的。如果現(xiàn)在還沒有這樣的計劃的話,最好制定一個。
好文章,需要你的鼓勵
這項研究提出了"高效探測"方法,解決了掩碼圖像建模AI難以有效評估的問題。通過創(chuàng)新的多查詢交叉注意力機(jī)制,該方法在減少90%參數(shù)的同時實現(xiàn)10倍速度提升,在七個基準(zhǔn)測試中均超越傳統(tǒng)方法。研究還發(fā)現(xiàn)注意力質(zhì)量與分類性能的強(qiáng)相關(guān)性,生成可解釋的注意力圖譜,展現(xiàn)出優(yōu)異的跨域適應(yīng)性。團(tuán)隊承諾開源全部代碼,推動技術(shù)普及應(yīng)用。
伊利諾伊大學(xué)研究團(tuán)隊開發(fā)了CLAIMSPECT系統(tǒng),通過層次化分解復(fù)雜爭議、智能檢索相關(guān)文獻(xiàn)、多角度收集觀點的方法,將傳統(tǒng)的"真假"判斷轉(zhuǎn)變?yōu)槎嗑S度分析。該系統(tǒng)能夠自動構(gòu)建爭議話題的分析框架,識別不同觀點及其支撐證據(jù),為科學(xué)和政治爭議提供更全面客觀的分析,已在生物醫(yī)學(xué)和國際關(guān)系領(lǐng)域驗證有效性。
清華大學(xué)研究團(tuán)隊首次提出情感認(rèn)知融合網(wǎng)絡(luò)(ECFN),讓AI能像人類一樣理解和表達(dá)情感。該系統(tǒng)通過多層次情感處理架構(gòu),在情感識別準(zhǔn)確率上比現(xiàn)有最佳系統(tǒng)提升32%,情感表達(dá)自然度提升45%。研究突破了傳統(tǒng)AI情感理解的局限,實現(xiàn)了跨模態(tài)情感融合、動態(tài)情感追蹤和個性化情感建模,為醫(yī)療、教育、客服等領(lǐng)域帶來革命性應(yīng)用前景。
哈佛大學(xué)研究團(tuán)隊通過創(chuàng)新的多智能體強(qiáng)化學(xué)習(xí)方法,讓AI在戰(zhàn)略游戲中學(xué)會復(fù)雜推理。研究發(fā)現(xiàn)AI通過游戲競爭能發(fā)展出類人思維能力,在邏輯推理、創(chuàng)造性解決問題等方面表現(xiàn)顯著提升。這項突破性成果為未來AI在醫(yī)療、教育、城市管理等領(lǐng)域的應(yīng)用奠定基礎(chǔ),展現(xiàn)了通過模擬人類學(xué)習(xí)過程培養(yǎng)真正智能AI的新路徑。