早上9點(diǎn)到崗,晚上9點(diǎn)下班,每周工作6天。“996”工作制,這一流傳于IT圈內(nèi)的行話,近期在互聯(lián)網(wǎng)巨頭掌門人“助攻”下迅速成為熱議話題,各種觀點(diǎn)莫衷一是。但剝離掉法律、道德、價(jià)值觀等層面的討論,“996”所反應(yīng)的現(xiàn)實(shí)情況是:社會(huì)正全面進(jìn)入信息化,程序員已經(jīng)不堪重負(fù)。
與此同時(shí),谷歌大腦(Google Brain)發(fā)布了一篇論證AI輔助人類編程的論文,為身心俱疲的“碼農(nóng)”們帶來(lái)新福音。谷歌所說(shuō)的AI技術(shù)如何實(shí)現(xiàn)輔助編程?AI能協(xié)助完成哪些編程工作?距離程序員的解放之路還有多遠(yuǎn)?帶著這些問(wèn)題,本報(bào)記者采訪了法國(guó)原子能和替代能源委員會(huì)人工智能博士、素問(wèn)智能創(chuàng)始人王巍。
游走于“畫匠”和“畫家”之間
硅谷創(chuàng)業(yè)之父保羅·格雷厄姆在《黑客與畫家》一書中形象地將編程與繪畫做了類比。格雷厄姆認(rèn)為,優(yōu)秀程序員和畫家一樣屬于創(chuàng)造者。但他在書中也指出,在分工日益細(xì)化的產(chǎn)業(yè)鏈條中,“(程序員)只是一個(gè)負(fù)責(zé)實(shí)現(xiàn)領(lǐng)導(dǎo)意志的技術(shù)工人,職責(zé)就是根據(jù)規(guī)格說(shuō)明書寫出代碼,其實(shí)與一個(gè)挖水溝的工人是一樣的,從這頭挖到那頭,僅此而已,從事的都是機(jī)械性的工作”。兩者的區(qū)別就如同畫家和畫匠,前者是個(gè)性創(chuàng)造,而后者是重復(fù)勞動(dòng)。
職業(yè)程序員的工作原本是一項(xiàng)智力密集型的技術(shù)創(chuàng)造,但隨著互聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展,部分互聯(lián)網(wǎng)公司的程序員和流水線工人幾乎沒(méi)有本質(zhì)性區(qū)別,編程已逐漸成為勞動(dòng)密集型的機(jī)械勞動(dòng)。然而,創(chuàng)新通常不是從長(zhǎng)時(shí)間的工作中熬出來(lái)的,程序員創(chuàng)造性不斷下降無(wú)疑與高強(qiáng)度的工作量有關(guān),而人工智能或許能夠改變這一局面。
人工智能如何實(shí)現(xiàn)輔助編程
為了快速理解谷歌這篇技術(shù)性很強(qiáng)的論文,王巍向科技日?qǐng)?bào)記者講述了他曾參與的另外一項(xiàng)研究:AI模仿大文豪雨果寫作。該項(xiàng)目利用人工智能統(tǒng)計(jì)方法來(lái)學(xué)習(xí)雨果的語(yǔ)言風(fēng)格,包括其習(xí)慣用詞、用語(yǔ)和句式等,最終可以讓法語(yǔ)寫作水平一般的人用大文豪的寫作風(fēng)格寫自己的故事。
王巍表示,人的自然語(yǔ)言(如法語(yǔ))是一個(gè)由字和詞組成的序列,通過(guò)統(tǒng)計(jì)模型分析,能夠根據(jù)上文來(lái)預(yù)測(cè)下文出現(xiàn)的概率,可以將其理解為更高級(jí)的聯(lián)想輸入法或打字提示。而面向機(jī)器的編程語(yǔ)言,一方面是一個(gè)由代碼組成的序列,另一方面也有其內(nèi)在的代碼組織結(jié)構(gòu),通過(guò)對(duì)這兩者的建模,在程序員輸入代碼的過(guò)程中,可以利用人工智能技術(shù)識(shí)別其意圖并預(yù)測(cè)其可能將要輸入的代碼,從而輔助程序員簡(jiǎn)化新寫代碼的工作量。另外,通過(guò)模式識(shí)別,在程序員修改一部分代碼時(shí),AI可以識(shí)別出現(xiàn)有代碼中其他需要做類似修改的相關(guān)代碼模塊,甚至直接提供代碼更新方案的選項(xiàng),從而大大減少程序員修改代碼的工作量。
在AI術(shù)語(yǔ)中,預(yù)測(cè)下文或代碼屬于序列的學(xué)習(xí)和預(yù)測(cè),而遞歸神經(jīng)網(wǎng)絡(luò)則是實(shí)現(xiàn)序列建模的一種解決方法。長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)是目前比較流行的一種遞歸神經(jīng)網(wǎng)絡(luò),谷歌在論文利用LSTM來(lái)對(duì)已有的代碼建模,從而識(shí)別和預(yù)測(cè)復(fù)雜、動(dòng)態(tài)的代碼編輯序列。
能協(xié)助程序員完成哪些工作
王巍介紹,目前程序員編程使用的開發(fā)工具IDE(集成開發(fā)環(huán)境)已初步具備一些簡(jiǎn)單的提示功能,比如參數(shù)的自動(dòng)填充、構(gòu)造函數(shù)的自動(dòng)初始化等,在實(shí)際操作中一定程度上提高了程序員的效率。而谷歌的研究是面向更為復(fù)雜的編輯序列模型,其方案對(duì)大規(guī)模代碼編輯數(shù)據(jù)有更強(qiáng)的適用性。
如果該研究能夠?qū)崿F(xiàn)工業(yè)化應(yīng)用,無(wú)疑對(duì)于一線程序員和科技公司來(lái)說(shuō)是重大福音。在AI的預(yù)測(cè)和識(shí)別輔助下,程序員新寫代碼和修改代碼過(guò)程中高度重復(fù)性的工作將大幅簡(jiǎn)化,機(jī)器的加入將直接降低程序員的工作量和疲勞感。
程序員的解放之路還有多遠(yuǎn)
王巍表示,谷歌的研究目前仍在試驗(yàn)階段,距離大規(guī)模工業(yè)化應(yīng)用仍有一定距離。另外,部分媒體對(duì)此報(bào)道也有一定炒作成分,谷歌研究的定位目前仍限于輔助編程,還遠(yuǎn)遠(yuǎn)無(wú)法完全代替人類。在可預(yù)見(jiàn)的未來(lái),機(jī)器創(chuàng)造程序仍是科學(xué)幻想,編程只能由人來(lái)完成。
從技術(shù)角度上看,人工智能還無(wú)法完全理解人的復(fù)雜意圖,也沒(méi)有辦法形成有效的創(chuàng)造力,目前也看不到解決這一問(wèn)題的技術(shù)路徑。另外,編程的目的是要形成產(chǎn)品并實(shí)現(xiàn)社會(huì)價(jià)值,其中存在責(zé)任界定問(wèn)題,從社會(huì)層面看,人工智能也不應(yīng)代替人做出決策。
然而,技術(shù)總是在短期內(nèi)被高估,但是在長(zhǎng)期內(nèi)又被低估。長(zhǎng)期來(lái)看,在AI輔助下,程序員繁重的機(jī)械勞動(dòng)有望大幅減少,但創(chuàng)新性工作仍需人類智慧去完成。“碼農(nóng)”將成為“園藝師”,在AI輔助下解放更多時(shí)間,并將更多精力投入到創(chuàng)作之中,枯燥的“畫匠”工作會(huì)變得更加有趣,程序員“996”工作制或許也會(huì)成為歷史。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )