原文:原生AI代碼生成工具上線
歡迎關注 @與數據挖掘 ,專注、數據分析、數據挖掘、好玩工具!
是一個 AI 代碼合成器,它提出的絕大多數代碼建議都是新生成的,由微軟、、 三家聯合打造。
目前, 作為 Code 插件,支持在本地或 上使用。更多內容,查看文末推薦文章,有所收獲,點贊支持!
簡而言之,這就是未來。
在項目開發中,優秀的代碼自動補全工具可以提升工作效率。然而,傳統的 IDE 基本都使用搜索方法進行補全,在一些場景下效果不佳。
今日, 和 聯合發布了新的 AI 代碼補全工具 ,并展示了技術預覽版。該工具可以在 VS Code 編輯器中自動完成代碼片段,這也是 接受微軟 10 億美元投資以來的首個重大成果。
目前, 項目還只是嚴格的技術預覽版,用戶可以在主頁注冊報名,將有機會訪問試用。
注冊地址:///
對于 和 推出的這款全新 AI 代碼補全工具,網友們給出了極高的評價。下面這位用戶大致可以代表大多數試用者的心聲。ta 表示:「我使用 Alpha 版兩周了, 似乎能夠準確地知道我接下來要輸入的內容,這令我大受震撼。有時它甚至建議我要查找的內容,例如選擇隨機十六進制隨機碼的片段或者使用所有常見圖像 mime-types 完成數組。此外, 在處理 React 組件時也特別有用,可以做出非常準確的預測。最后, 改變了程序員記錄自己代碼的方式。如果你在實現代碼之前編寫了非常好的描述性注釋,它能夠更好地給出正確代碼建議,有時甚至可以為你編寫整函數。」
高級研究員 Alex 更是表示:不夸張的講, 將成為本世紀 20 年代排名前三的技術進展!
甚至有網友表示:這是要終結編程?
不過,雖然使用者對 提供的生產力提升贊不絕口, 也表示:并不是所有使用的代碼都經過了漏洞、不安全實踐或個人數據的審查。因此,他們也設置了一些過濾器來防止 生成攻擊性的語言,并可能效果并不完美,需要后續完善。
背后的技術
首先,訓練數據上, 是在數十億行公共代碼上訓練的。
從技術角度來看, 工具由 開發的全新 AI 系統 Codex 提供支持。 的聯合創始人兼首席技術官 Greg 說:Codex 是 GPT-3 的后代。
Codex 在人們如何使用代碼方面擁有廣泛的知識,并且在代碼生成領域顯著優于 GPT-3 了,部分原因在于該系統是在包含大量公開源代碼的數據集上訓練的。更具體地,Codex 的訓練集中包含了提取自 的 TB()級公開可用代碼以及英語語言示例。
由于是在公開可用源代碼和自然語言上訓練,Codex 可以同時理解編程語言和人類語言。因此,在整個實現過程中, 編輯器擴展將開發者的注釋和代碼發送至 服務端,然后使用 Codex 生成和建議單行代碼和整個函數。
此外,據 的一位代表透露: 計劃今年夏季推出基于其 API 的 Codex 版本,這樣開發者們就可以利用該技術創建自己的 app 了。
在具體實現中, 從編寫的代碼中提取上下文,并給出整行代碼或整函數的建議。該工具可以幫助開發者快速發現解決問題、編寫測試和搜索全新 API 的替代方法,而不需要在網上繁瑣地定向搜索答案。
另外,使用 ,開發者始終可以掌控一切,既可以循環查看 給出的代碼建議,選擇接收或者拒絕,并能夠手動地編輯這些代碼。 會適應開發者所做的編輯動軟代碼生成器 win10,并適配編碼風格。
適用于多種框架和語言,但本次展示的技術預覽版尤其適用于 、、、Ruby 和 Go 語言。 認為該工具是結對編程(pair )的重大進展,程序員在編寫代碼時有了一個「虛擬的幫手」,它可以捕捉到程序員的錯誤,加速開發過程。
那么, 效果如何?
最近, 針對一組在開源存儲庫中具有良好測試覆蓋率的 函數進行了基準測試,測試團隊清除了函數體并要求 填充它們。模型在第一次嘗試正確率是 43% ,經過 10 次嘗試后,正確率達到了 57%。之后 還將進行多次訓練和測試,準確率會進一步提升。
下面,我們就看一下 給出的具體 demo 展示。
的補全效果
相比于市面上一些編程輔助工具, 的上下文理解能力要強大得多。無論是在文檔字符串、注釋、函數名還是代碼主體中, 都能根據編程者已寫出的上下文生成匹配的代碼。
先來看一下 的主要功能——代碼補全的效果,以 語言為例,給出函數名和參數, 就能自動補全代碼。
除了補全函數, 還能根據注釋寫出代碼。編程者給出一條描述代碼邏輯的注釋, 就能自動生成代碼:
在編程過程中,有些代碼的格式和內容非常相似,重復編寫耗時且無聊。現在 能夠幫編程者解決這個問題,將簡單重復的代碼編寫部分自動化:
在軟件開發的過程中,除了編寫代碼,軟件測試也是非常重要的,對一個代碼項目起到支撐的作用。導入一個測試包,其余的測試代碼 就能夠幫開發者完成。
在編程中,同一個函數常有多種實現方法,編程者通常會根據代碼的實現效果和運行性能選擇最合適的方法。編寫多種實現需要花費時間和精力,現在使用 一鍵就能搞定動軟代碼生成器 win10,如下圖所示,點擊 Next 和 就能查看多種實現方法,點擊 選中其中一種。
今天 推出的 技術預覽版本,還僅限于 、、、Ruby 和 Go 語言。此外,開發團隊表示,在努力使其變得更好的同時, 補全的代碼應該像其他任何代碼一樣經過仔細審查和測試。這些仍需要人類編程者的監督和優化,但 AI 自動編程的愿景已指日可待。