自JetBrains IDE v2024.1版本開始,開發者便可以在輸入程式碼的時候,獲得來自整行程式碼完成(Full Line Code Completion )建議,其仰賴本地端執行的人工智慧模型,官方表示,該功能不會透過網際網路發送用戶的程式碼。目前支援包括Java、Python與JavaScript等熱門語言,之後還會加入C#、Rust和C++。

JetBrains IDE新加入的整行程式碼完成功能,相較於既有的AI Assistant,雖然都是由人工智慧提供建議,但是仍有不少相異之處,以高層次來說,AI Assistant具備更全面的功能集,包括智慧聊天功能,而且具有生成測試和文件的能力。AI Assistant需要連線到雲端,但是能夠提供較高品質且多行的程式碼建議,當開發者可以使用AI Assistant,其提供的程式碼建議優先度高過整行程式碼完成。

整行程式碼完成會在開發者使用JetBrains IDE編輯器編寫程式碼時,根據當前檔案上下文,以灰色字樣提供單行程式碼建議。JetBrains IDE會針對不同程式語言、框架應用不同的模型,這些模型會在本地端運作,其主要目標有兩個,第一是提供程式碼建議加快開發速度,第二則是相較於AI Assistant,即便是限制連接雲端人工智慧解決方案的組織也可以使用。

由於整行程式碼完成功能不會透過網路發送任何資料,而且因為在本地端運作,因此不像是AI Assistant還需要支付額外的雲端費用。官方也提到,整行程式碼完成功能深度整合到IDE中,所有建議都會自動應用適當的格式,例如括號平衡等。

同時,JetBrains還會利用靜態分析和程式碼理解功能,過濾不正確的建議,每種受支援的語言,都有一組基本的程式碼正確性檢查規則,例如未解析的參照檢查等,確保IDE不會建議不存在的變數和方法,或是具有明顯錯誤的程式碼。

而之所以JetBrains在權衡之後僅提供單行建議,官方解釋,雖然較長的建議可以減少用戶鍵盤輸入的次數,但同時也會增加用戶審查的數量。因此經過評估之後,JetBrains決定完成一行程式碼,是更為合適的妥協。

JetBrains盡可能縮小語言模型,但是又避免影響程式碼建議品質,使用一億參數的模型,最大上下文為1,536個Token,約為170行程式碼。

整行程式碼完成目前可應用於Java、Kotlin、Python、JavaScript、TypeScript、CSS、PHP、Go和Ruby,對應的IDE包括IntelliJ IDEA Ultimate、PyCharm Professional、WebStorm、PhpStorm、GoLand和RubyMine。接下來官方還計畫擴展支援C#、Rust和C++,因此整行程式碼完成也會登入Rider、RustRover和CLion。

熱門新聞

Advertisement