協助你寫 Python,只是 AI 取代程式設計師的第一步

weixin_34377065發表於2019-02-14


By 超神經

按照 AI 現在發展的態勢,應該是計劃先取代送貨員,再取代駕駛員,接著取代前臺、保安、售票員等等。最後總有一天會把魔爪伸向一手打造他們的工程師,不過在這一天來臨之前,AI 計劃先和程式設計師們搞好關係,做一個助理。

Kite 就是這款「看起來就很有野心」的產品,不再是基礎的自動補全,Kite 是一款提供實時程式碼片段的軟體。

在不久前,Kite 還獲得了 Trith Ventures 的 1700 萬美元的 A 輪融資,而且 GitHub 和 Dropbox 的執行長都參與了投資。

用 AI 和 ML 把寫程式碼變得輕鬆

最早,Kite 可沒想過要替代掉程式設計師,而是覺得花費時間閱讀文件,搜尋各種各樣的程式碼示例實在是太費勁了, Kite 想更好地解決這個問題。

「我們的使命就是利用 AI 和機器學習(ML)的最新成果,把寫程式碼這個過程變的快樂和輕鬆 。」Kite 公司始人兼執行長 Adam Smith 在採訪時表示,「使用 Kite ,開發人員可以把在網上搜尋程式碼或資料的工夫省下來,而把精力放在下一個技術挑戰上。」

懷著這樣的初衷,Kite 公司開發了這款產品,它是一個本地應用外掛,支援 Windows 和 macOS 系統,最早在 2016 年推出,如今功能越來越完善,也受到了更多人的喜愛。

簡單的說,就是利用 AI 技術幫助程式設計師在寫程式碼時獲得更好的體驗,初學者也能通過這個工具,更快的開啟 coding 之路。

目前 Kite 已經與Atom,VS Code,Sublime Text,PyCharm,IntelliJ 和 Vim 整合,全球有超過 3 萬名 Python 開發人員使用 Kite 。

對了,目前 Kite 只支援 Python。

 Kite 不僅是「自動補全」

Kite 允許使用者通過點選完成程式碼補充,或者函式呼叫,大大縮減了需要跳出去尋找資料的過程。

這個功能與自動補全類似,Kite 會在您輸入實時建議時提供相關的程式碼段。和自動補全不同的是, Kite 最重要的功能,被稱為「程式碼全行完成」。

傳統的程式碼補全功能只是幫助你一次一個程式碼單詞,但 Kite 將這項輔助功能做到了業內頂尖水平,它可以預測接下來會輸入的程式碼語句,甚至有時候會提供給一句完整的程式碼行。

需要的文件和程式碼示例可以實時查詢

這得益於他們自己研發的型別推斷引擎( type inference engine ),Kite 使用來自 GitHub 上高星程式設計師的數千種公開程式碼源,來訓練其機器學習模型,用到了靜態分析和機器學習技術,從而實現了強大的智慧推薦功能。

在使用時,Kite 會檢索使用者的程式碼,整個專案的程式碼,以及在網路上公開的程式碼資源 (如 GitHub 和 StackOverflow ),然後根據上下文和使用頻率實現智慧推薦。而顯示的順序也是根據使用者的習慣列出最優推薦。

而它的使用也很簡單,就是在你輸入時提供包含這些字母的包,這些包的型別有方法,使用文件,和示例程式碼等。

Kite 新統計模型瞭解變數名稱,型別和結構上下文

 Kite 的終極目標

Kite 在釋出之初,考慮放在雲端,是因為他們認為雲端處理優勢明顯。但沒有預計到的是,隱私和安全問題對使用者的是很關心的事情。

經過幾年看到使用者如何與 Kite 互動,他們最終做出了調整,他們的 CEO 也總結了如下的優勢:

1.延遲低。首先,低延遲完成對 Kite 體驗至關重要。無論是線上上還是本地執行時,無論網際網路連線如何,Kite 都能以極快的速度執行。

2.實現本地高效能任務。通過對 Python 分析引擎和 AI 模型的一些優化後,Kite 已經能在桌面設定中使用。

3.安全和隱私的重要性。提高安全性和隱私始終是對的,也是最重要的,許多使用者都在擔心程式碼放到雲端這件事,Kite 現在已經做出了改進,做出了最好的預防措施,現在允許使用者保留自己的程式碼庫。

儘管全球工程師人數大幅增加,卻依然滿足不了日益增長的需求,不過類似 Kite 這類智慧輔助的工具還不多,功能上還有很大的提升空間。

完成了新融資的 Kite 還有很長的路要走,比如今年,他們希望能儘快實現 Linus 版本的支援,開發出支援更多語言的版本。

雖然距離徹底取代程式設計師這一終極目的,現在看起來還遙不可及。

但可以想象,一直在學習全球最優質程式碼寫作方式的 Kite ,總有一天,有機會先超過那些效率不高,程式碼不夠整潔的程式設計師。

分享給你覺得第一批會被取代的程式設計師,讓他們在這個新年裡瑟瑟發抖吧。

相關文章