新利平台 > 科技

“996”碼農的福音:AI輔助寫代碼

李宏策 發布時間:2019-04-29 11:00:00來源: 科技日報

  早上9點到崗,晚上9點下班,每周工作6天。“996”工作製,這一流傳(chuan) 於(yu) IT圈內(nei) 的行話,近期在互聯網巨頭掌門人“助攻”下迅速成為(wei) 熱議話題,各種觀點莫衷一是。但剝離掉法律、道德、價(jia) 值觀等層麵的討論,“996”所反應的現實情況是:社會(hui) 正全麵進入信息化,程序員已經不堪重負。

  與(yu) 此同時,穀歌大腦(Google Brain)發布了一篇論證AI輔助人類編程的論文,為(wei) 身心俱疲的“碼農(nong) ”們(men) 帶來新福音。穀歌所說的AI技術如何實現輔助編程?AI能協助完成哪些編程工作?距離程序員的解放之路還有多遠?帶著這些問題,本報記者采訪了法國原子能和替代能源委員會(hui) 人工智能博士、素問智能創始人王巍。

  遊走於(yu) “畫匠”和“畫家”之間

  矽穀創業(ye) 之父保羅·格雷厄姆在《黑客與(yu) 畫家》一書(shu) 中形象地將編程與(yu) 繪畫做了類比。格雷厄姆認為(wei) ,優(you) 秀程序員和畫家一樣屬於(yu) 創造者。但他在書(shu) 中也指出,在分工日益細化的產(chan) 業(ye) 鏈條中,“(程序員)隻是一個(ge) 負責實現領導意誌的技術工人,職責就是根據規格說明書(shu) 寫(xie) 出代碼,其實與(yu) 一個(ge) 挖水溝的工人是一樣的,從(cong) 這頭挖到那頭,僅(jin) 此而已,從(cong) 事的都是機械性的工作”。兩(liang) 者的區別就如同畫家和畫匠,前者是個(ge) 性創造,而後者是重複勞動。

  職業(ye) 程序員的工作原本是一項智力密集型的技術創造,但隨著互聯網產(chan) 業(ye) 的快速發展,部分互聯網公司的程序員和流水線工人幾乎沒有本質性區別,編程已逐漸成為(wei) 勞動密集型的機械勞動。然而,創新通常不是從(cong) 長時間的工作中熬出來的,程序員創造性不斷下降無疑與(yu) 高強度的工作量有關(guan) ,而人工智能或許能夠改變這一局麵。

  人工智能如何實現輔助編程

  為(wei) 了快速理解穀歌這篇技術性很強的論文,王巍向科技日報記者講述了他曾參與(yu) 的另外一項研究:AI模仿大文豪雨果寫(xie) 作。該項目利用人工智能統計方法來學習(xi) 雨果的語言風格,包括其習(xi) 慣用詞、用語和句式等,最終可以讓法語寫(xie) 作水平一般的人用大文豪的寫(xie) 作風格寫(xie) 自己的故事。

  王巍表示,人的自然語言(如法語)是一個(ge) 由字和詞組成的序列,通過統計模型分析,能夠根據上文來預測下文出現的概率,可以將其理解為(wei) 更高級的聯想輸入法或打字提示。而麵向機器的編程語言,一方麵是一個(ge) 由代碼組成的序列,另一方麵也有其內(nei) 在的代碼組織結構,通過對這兩(liang) 者的建模,在程序員輸入代碼的過程中,可以利用人工智能技術識別其意圖並預測其可能將要輸入的代碼,從(cong) 而輔助程序員簡化新寫(xie) 代碼的工作量。另外,通過模式識別,在程序員修改一部分代碼時,AI可以識別出現有代碼中其他需要做類似修改的相關(guan) 代碼模塊,甚至直接提供代碼更新方案的選項,從(cong) 而大大減少程序員修改代碼的工作量。

  在AI術語中,預測下文或代碼屬於(yu) 序列的學習(xi) 和預測,而遞歸神經網絡則是實現序列建模的一種解決(jue) 方法。長短期記憶網絡(LSTM)是目前比較流行的一種遞歸神經網絡,穀歌在論文利用LSTM來對已有的代碼建模,從(cong) 而識別和預測複雜、動態的代碼編輯序列。

  能協助程序員完成哪些工作

  王巍介紹,目前程序員編程使用的開發工具IDE(集成開發環境)已初步具備一些簡單的提示功能,比如參數的自動填充、構造函數的自動初始化等,在實際操作中一定程度上提高了程序員的效率。而穀歌的研究是麵向更為(wei) 複雜的編輯序列模型,其方案對大規模代碼編輯數據有更強的適用性。

  如果該研究能夠實現工業(ye) 化應用,無疑對於(yu) 一線程序員和科技公司來說是重大福音。在AI的預測和識別輔助下,程序員新寫(xie) 代碼和修改代碼過程中高度重複性的工作將大幅簡化,機器的加入將直接降低程序員的工作量和疲勞感。

  程序員的解放之路還有多遠

  王巍表示,穀歌的研究目前仍在試驗階段,距離大規模工業(ye) 化應用仍有一定距離。另外,部分媒體(ti) 對此報道也有一定炒作成分,穀歌研究的定位目前仍限於(yu) 輔助編程,還遠遠無法完全代替人類。在可預見的未來,機器創造程序仍是科學幻想,編程隻能由人來完成。

  從(cong) 技術角度上看,人工智能還無法完全理解人的複雜意圖,也沒有辦法形成有效的創造力,目前也看不到解決(jue) 這一問題的技術路徑。另外,編程的目的是要形成產(chan) 品並實現社會(hui) 價(jia) 值,其中存在責任界定問題,從(cong) 社會(hui) 層麵看,人工智能也不應代替人做出決(jue) 策。

  然而,技術總是在短期內(nei) 被高估,但是在長期內(nei) 又被低估。長期來看,在AI輔助下,程序員繁重的機械勞動有望大幅減少,但創新性工作仍需人類智慧去完成。“碼農(nong) ”將成為(wei) “園藝師”,在AI輔助下解放更多時間,並將更多精力投入到創作之中,枯燥的“畫匠”工作會(hui) 變得更加有趣,程序員“996”工作製或許也會(hui) 成為(wei) 曆史。

(責編: 郭爽)

版權聲明:凡注明“來源:新利平台”或“新利平台文”的所有作品,版權歸高原(北京)文化傳(chuan) 播有限公司。任何媒體(ti) 轉載、摘編、引用,須注明來源新利平台和署著作者名,否則將追究相關(guan) 法律責任。