微軟開發(fā)可自己寫程序人工智能,軟件工程師將失業(yè)?
人工智能的進步,可以被機器取代的工作也越來越多,不論你是勞力型還是知識型工作,恐怕都難以全身而退。而這次,輪到軟件工程師了。
微軟研究院和劍橋大學(xué)研究人員開發(fā)出一套可自己寫程序的人工智能「DeepCoder」,未來就算不會寫程序、也能也能通過DeepCoder打造出符合需求的程序,大幅縮短開發(fā)時間和成本。
DeepCoder使用被稱作“程序組合(program synthesis)”的方法,只要給定系統(tǒng)輸入值和需要的輸出結(jié)果,DeepCoder便可通過搜尋其他程序的程序代碼,挑出適合的代碼段,再組合成可運作的程序,讓程序順利生成需要的結(jié)果。
事實上,這個步驟就像許多工程師常做的事:在程序問答網(wǎng)站Stack Overflow上搜尋適合的程序代碼,再復(fù)制貼上他們認為可行的代碼段。
研究團隊指出,和人類工程師相比,DeepCoder能更全面、廣泛地搜尋程序代碼范例,因此程序代碼的組合方式可能是過去人類從未想過的。
此外,DeepCoder將機器學(xué)習(xí)應(yīng)用在每次的搜尋和組合程序代碼,相較于舊有系統(tǒng)需要花費好幾分鐘才能選出正確的程序組合,DeepCoder只需幾秒就能寫好程序,且速度還會隨著練習(xí)越來越快。
或許不少以寫程序維生的工程師開始擔(dān)心未來是否將被人工智能取代。不過好消息是,該研究尚在早期階段,目前只能寫出5行左右的程序代碼,難度相當(dāng)于程序競賽網(wǎng)站中最簡單的問題。
此外,DeepCoder只能透過組合代碼段來寫程序,并不能靠自己生成一段全新的程序代碼,也還沒辦法寫出企業(yè)等級的軟件,或是app等更復(fù)雜的程序代碼。
研究人員也指出,該系統(tǒng)的目的并非想要取代人類工程師,而是讓計算機協(xié)助完成寫程序過程中最無趣的地方,工程師可以將時間拿去做更復(fù)雜、更有創(chuàng)造力的工作。