回覆列表
  • 1 # mu子君

    最終,是的,人工智慧會取代軟體開發,因為 “程式設計師自己就在努力被人工智慧所取代。“

    一.AI寫程式碼

    2015年,現特斯拉(Tesla)人工智慧主管、斯坦福大學(Stanford)計算機科學博士生安德烈•卡帕西(Andrej Karpathy)使用遞迴神經

    網路生成程式碼。他取了一個Linux儲存庫(所有原始檔和標頭檔案),將其組合成一個巨大的文件(超過400 MB的程式碼),並用這些程式碼訓RNN。 他讓它運行了一夜。早上,他得到了這個:

    由人工智慧生成的示例程式碼

    一夜之間,AI生成了包括函式和函式裝飾在內的程式碼。它有引數、變數、迴圈和正確的縮排。括號成對出現。甚至還有註解。

    當然,人工智慧也犯了一些錯誤,有時不使用變數,還有一些時候,有一些變數在使用前沒有宣告。但是Andrej Karpathy對結果很滿意。

    Karpathy在他的部落格上寫道:“程式碼總體上看起來真的很棒。當然,我不認為它可以編譯,但是當你滾動生成的程式碼時,它感覺非常像一個巨大的C程式碼庫。”

    這個專案可以在GitHub上找到。它使用了Torch7深度學習庫。整個程式碼檔案下載

    二.DeepCoder

    微軟和劍橋大學的研究人員已經開發出一種能夠編寫程式碼的人工智慧。這種人工智慧被稱為DeepCoder,它有學習的能力。

    DeepCoder可以在搜尋一個巨大的程式碼資料庫後編寫工作程式碼。它試圖為獲取的程式碼片段做出儘可能好的安排,並隨著時間的推移提高其效率。

    這並不意味著人工智慧竊取別人的程式碼,或複製貼上現有軟體的程式碼,或在網際網路上搜索解決方案。DeepCoder的作者預計,在不久的將來,它將參加程式設計比賽。

    由DeepCoder建立的領域特定語言(DSL)中的示例程式

    微軟研究院程式設計原則和工具小組研究員Marc Brockschmidt(DeepCoder小組成員)說,這樣的系統對於非程式設計師來說可能非常有用。他們只需要描述他們的程式思想,然後等待系統建立它。

    他說,未來幾年我們可能最終會擁有這樣的系統。但目前DeepCoder的功能僅限於由五行程式碼組成的程式。

    您可以在這裡找到DeepCoder的文件。

    三. 人工智慧製作的Python程式碼

    2016年6月,一位暱稱為benjamin intd的法國工程師發表了一篇部落格文章,解釋了他是如何“用Python程式碼教人工智慧編寫Python程式碼”的。

    他使用了長短時記憶(LSTM)——一種最流行的遞迴神經網路架構,開發了大量Python程式碼(使用了panda、Numpy、Scipy、Django、Scikit-Learn、PyBrain、Lasagne、Rasterio等庫),合併程式碼後的檔案達到27MB。

    然後,人工智慧生成了自己的程式碼。

    如果仔細檢視建立陣列的程式碼,會發現語法錯誤。benjamin的程式碼遠非完美。但是他認為,對於一個從示例程式碼中學習所有內容的網路來說,這已經不錯了。

    “尤其是考慮到它只是在一個字元一個字元地猜測接下來會發生什麼,”benjamin在部落格中總結道。

    四.人工智慧會取代程式設計師嗎?

    “神經網路將產生有用的程式碼只是時間問題。因此像我這樣的計算機科學家,未來情況看起來很暗淡,” Bauckhage教授認為。

    (Christian Bauckhage是波昂大學的計算機科學教授,也是弗勞恩霍夫IAIS機器學習的首席科學家。他的大多數研究都涉及資料科學中的問題。特別是,他從事自然科學,社交媒體和金融領域的人工智慧,機器學習和資料探勘的理論和應用。)

    根據麻省理工學院的Armando Solar-Lezama的說法,像DeepCoder這樣的工具確實有可能實現程式碼開發的自動化,但AI不會剝奪開發人員的工作。相反,基於程式綜合的系統可用於自動化程式碼開發的繁瑣部分,同時開發人員專注於複雜的任務。

    (Armando Solar-Lezama是MIT計算機輔助程式設計組的負責人。研究的重點是程式綜合,這個研究領域,是程式設計系統和人工智慧的交叉學科。)

    Dev9是一家位於西雅圖的定製軟體開發公司,專注於Java和JavaScript。Dev9彙集了使用人工智慧開發定製軟體的團隊,利用人工智慧技術消除了繁重的流程並大幅減少了手動開銷。其首席技術官艾弗森是否會被問到程式設計師是否需要擔心在不久的將來被AI取代,並回答說:

    “最終,是的。到了那時,社會已經習慣了應對這種社會變革。“

  • 中秋節和大豐收的關聯?
  • 不育是遺傳因素導致的嗎,可既然不育又怎麼遺傳呢?