杏鑫招商_微軟這次做了個 AI,讓程序員提前下班,提早下崗

  • 内容
  • 评论
  • 相关

GPT-3 這個自然語言處理 AI 在去年「出圈」了,被公認是繼 AlphaGo 之後「人工智能史上又一里程碑」。它在互聯網上「閱讀」了 5000 億詞,模型達到 1750 億參數,從而變得通用。但給 AI 硬灌數據,實在是燒錢耗力。但好在,GPT-3 正在孕育出能夠實現商業化的後代。,就在剛剛,GitHub、OpenAI、微軟聯合打造了一個全新的代碼生成 AI:GitHub Copilot(以下簡稱為 Copilot)。,簡單來說,Copilot 可以根據程序員的註釋寫代碼,自動補全代碼,提供與代碼匹配的測試,還能生成多個備選方案的代碼供選擇。GitHub 表示,Copilot 生成的代碼大部分是原創的。,目前,Copilot 正在測試專供 Visual Studio Code 的擴展,一旦達到可用狀態,未來會成為微軟編程產品里的收費項目。Copilot 可以說是 OpenAI 接受微軟 10 億美元投資以來的首個重大成果。,還有行業人士表示,這代表 AI 開始在編程工作中發揮作用,軟件開發領域的「第三次工業革命」似乎正緩緩揭開序幕。,和你結對編程的,換成了Copilot,在此之前,程序員寫不出代碼,一般會到軟件開發領域的問答網站 Stack Overflow「借鑒」,或者求助於一些代碼自動補全工具。然而,傳統 IDE 基本都使用搜索方法進行補全,換句話說,網上有的,才能被抓過去補全。,但 Copilot 是另一種思路,它直接靠 AI 理解程序員的需求。Copilot 不僅僅是模仿以前見過的代碼,它還會分析文檔中的字符串、註釋、函數名稱以及代碼本身,從而生成新的匹配代碼,包括之前調用的特定函數。,脫胎自 GPT-3 的 OpenAI Codex,接受過公開源代碼和自然語言的培訓,能理解編程語言和人類語言。所以,Copilot 對語言理解和轉換有極高的天賦。,GitHub 給 Copilot 的官方定義是「AI 結對編程員」。「結對編程」(pair programming)是一種軟件開發方法,兩個程序員在一個計算機上共同工作。一個人輸入代碼,而另一個人審查他輸入的每一行代碼。輸入代碼的人稱作駕駛員,審查代碼的人稱作觀察員。兩個程序員經常互換角色。GitHub 認為 Copilot 是進化版的「結對編程」,在未來幫程序員查缺補漏的,將會換成 AI。,此外,Copilot 還能輔導新手寫代碼,可以幫助他們找出錯誤、學習新框架,省去大量查資料的時間。,OpenAI 首席技術官 Greg Brockman 表示,將在今年夏末通過 API 發布 Codex。,Github CEO Nat Friedman 提到,「OpenAI Codex 對於人們的代碼使用習慣有着廣泛了解,而且在代碼生成能力上遠遠超過 GPT-3,這要歸功於它在訓練中接觸到的大量公共源代碼數據集。GitHub Copilot 則適用於多種框架和語言,但目前的技術預覽版主要面向 Python、JavaScript、TypeScript、Ruby 以及 Go」。具體來說,OpenAI 在 GPT-3 的基礎上生成了 Codex 算法,Codex 在從 GitHub 那裡提取出來的 TB(terabyte)級公開代碼以及英語語言示例中得到訓練。基於 Codex 算法,編程 AI Copilot 誕生了。,也就是說,Copilot 比 GPT-3 誕下的專為代碼生成設計的後代。在運行過程中,Copilot 編輯器的擴展插件將程序員的註釋和代碼發送到 GitHub Copilot 服務端,然後該服務使用 OpenAI Codex 來生成對代碼的建議。,目前相比於市面上一些編程輔助工具,Copilot 的上下文理解能力要強大得多。無論是在文檔字符串、註釋、函數名還是代碼主體中,Copilot 都能根據編程者已寫出的上下文生成匹配的代碼。,不看廣告,看「療效」,Friedman 說,GitHub 的數百名開發者在編碼時,整天都在使用 Copilot 功能,他們中的大多數人都接受了 AI 的建議,沒有關閉該功能。,但就目前來看,Copilot 提供建議的準確率似乎不高。GitHub 對一組 Python 函數進行了基準測試,測試團隊清除了函數並要求 Copilot 填充它們。模型在第一次嘗試正確率是 43%,經過 10 次嘗試后,正確率達到了 57%。團隊表示,之後 Copilot 還將進行多次訓練和測試,準確率會進一步提升。但據一些程序員的說法,這種自動生成的代碼工具要「好用」有個前提,就是能精確描述了函數需要實現的功能,不然後續的調試會是更耗時的工作。,另外,GitHub 表示,Copilot 提出的代碼可能會無法編譯或運行,而且 Copilot 還可能會使用舊的或已棄用的庫和語言。 此外,在試圖理解開發人員的意圖時,Copilot 建議的代碼可能並不總是有效或有意義的,因此程序員還是像往常一樣仔細測試和審查所有代碼。,對於代碼安全,GitHub 表示,並不是所有使用的代碼都經過了漏洞、不安全實踐或個人數據的審查。因此,他們也設置了一些過濾器來防止 Copilot 生成攻擊性的語言,目前效果並不完美,需要後續完善。,技術社區也不可避免地對這款工具可能引發的代碼所有權、許可證、利益衝突以及其他現實問題展開了討論。 Friedman 回應稱,「總體來說:在公共數據上訓練機器學習系統屬於合理的使用方式;輸出結果的所有權歸於操作者,跟傳統的編譯器沒什麼區別。具體到訓練問題上,大家也可以看到 OpenAI 向美國專利商標局做出的承諾。我們預計 Copilot 項目的知識產權與 AI 成果將很快在世界範圍內掀起關於政策的討論熱潮,我們自己也希望能夠參与進來。」,提前下班,提早下崗,擊敗 Stack Overflow 的,不是下一個代碼問答社區,而是編程 AI。那麼,現在還是「協助編程」的 AI,未來會不會成為能「自動編程」 的 AI?,Friedman 在 Hacker News 寫道:「軟件開發正迎來自己的『第三次工業革命』。第一次革命是編譯器、調試器、垃圾收集器以及語言等工具的出現,極大提升了開發者的工作效率;第二次革命則以開源為契機,全球開發者社區得以匯聚起來,並在彼此的開發成果基礎之上不斷推進;第三次革命就在現在,業界嘗試在編程當中使用 AI 技術。在發展成熟之後,開發人員的日常工作將有巨大改變――但仍然有很多工作可做、也只能由人類開發者完成,因此不用太擔心。」,即使是高度机械化的工廠,也需要操作員來發出初始化指令,所以在未來, IT 行業可能還會留下一些操作員類型的程序員,和一些把握高精度操作技巧的工程師。,但也正如 Open AI 的 CEO Sam Altman 所說,程序員的身價將會下降:「這是我的預測:AI 會讓那些在電腦前工作的人,身價掉得比在物理世界里工作的人還要快。這和大部分的預期完全相反。」,有了 Copilot,程序員就可以提前下班,但在未來,也可能會提前下崗。,這並不是微軟第一回借力 OpenAI 推出 AI 應用。在剛過去的 Build 大會上,微軟宣布了 GPT-3 的第一個商業用例:在 Microsoft Power Apps 中集成 GPT-3 的能力,可將自然語言直接轉換為現成代碼。但目前功能相對有限,只支持在微軟 Power Fx 中生成公式。即便如此,對於那些非專業的操作者,這個系統也能給出最合適的公式。在過去的工作流中,普通員工要執行數據分析、構建應用程序或讓流程自動化,一般都需要向 IT 部門提出需求,然後等待數周或數月才能完成工作,而藉助現在這個功能,可以更「傻瓜」地開發符合自己需求的軟件。,微軟嘗到了 OpenAI 技術的甜頭。但和微軟的獨家綁定,也給 OpenAI 招來了一些爭議。對此,OpenAI 首席技術官 Greg Brockman 表示,底層技術不會只由微軟來使用,OpenAI 將在今年夏末發布 Codex 模型,供第三方開發者編寫他們自己的應用程序。