@[toc] 昨天百度舉行了 Create 2024 百度 AI 開發者大會,松哥得以近距離了解了百度的 AI 產品,以前就瞭解文心一言,其他的都用的少。昨天在會場上李彥宏介紹了百度的一個 AI 輔助工具 Comate,晚上回來趕緊體驗了一把。
一 Comate 介紹
百度的 Comate 插件是一款基於文心大模型的智能代碼助手,它結合了百度多年積累的編程現場大數據和外部優秀開源數據,爲開發者提供了全方位的編碼輔助工具。這款插件的主要優勢在於其智能性、豐富的應用場景、創造價值以及廣泛的應用範圍,能夠實現“幫你想、幫你寫、幫你改”的場景應用形態,從而顯著提升編碼效率,釋放“十倍”軟件生產力。
具體來說,“幫你想”體現在 Comate 插件的代碼解釋和代碼知識問答功能上。它能夠對整個函數代碼或部分選中代碼進行解釋,讓開發者快速理解新代碼的含義。同時,開發者只需在對話框中用自然語言提問,就能立刻得到答案,極大地提高了學習和工作的效率。
“幫你寫”的功能則包括實時續寫、註釋生成代碼、生成函數註釋、生成單元測試等。Comate 還支持單行推薦、多行推薦、多條推薦、代碼生成、註釋生成、註釋文檔生成等一系列編碼相關能力。此外,它還能全面分析代碼上下文、依賴文件、相鄰文件的邏輯關係,使代碼語法更規範、邏輯更嚴謹。
在“幫你改”方面,Comate 能夠對長函數等可能存在問題的代碼進行優化,發現並自動修復代碼中的潛在錯誤,從而提高企業研發工作的腳本效率。
此外,Comate 插件還可以輕鬆集成到開發者最常用的主流集成開發環境中,如 VSCode、IntelliJ IDEA、XCode 等,開發者可以通過插件的方式在不同的軟件中使用 Comate,極大地提高了開發工作的便利性和效率。
此外,Comate 還提供數據可視化功能,包括採納率、採納量趨勢、採納量按功能或語言分佈等,幫助個人和企業全方位可視化提效成果,助力提效與覆盤。同時,它還提供私有化部署服務以及詳盡的技術支持,確保公司信息安全,讓開發者在享受高效編碼的同時無後顧之憂。
二 價格
很多小夥伴可能比較關心這個問題。
這是官方的三個不同的價格版本:
個人使用是免費的,另外,個人每週可免費使用 300 次高級功能,我覺得這個也夠用了。
三 安裝
安裝比較容易,我們直接在 IDEA 的插件市場搜索 comate 安裝即可:
安裝完成後,重啓 IDEA。
重啓之後我們在 IDEA 的右邊欄可以看到 Baidu Comate 以及登錄提示,這個插件要登錄自己的百度賬號後纔可以使用。
登錄百度賬號之後,會在 https://comate.baidu.com/zh/user 頁面拿到自己的一個 License,然後在 IDEA 中配置一下用戶名和 License,就可以使用了 Comate 了。
四 體驗
裝好之後來體驗一把吧!
4.1 智能推薦
4.1.1 單行推薦
單行推薦是在續寫代碼場景中最直接、最高效的體現方式。在打開一個代碼文件後,開始編碼。在編碼過程中稍微等待一下,即可看到 Baidu Comate 的推薦內容。
如下圖,灰色代碼就是 Comate 自動提示的。
按 Tab 鍵可以選中自動提示的代碼。
Comate 相關的操作可以參考下面這個表格:
4.1.2 多行推薦
多行推薦就是直接給一個完整的方法邏輯,類似下面這樣:
可以按照提示給出來的快捷鍵,逐行採納推薦的代碼,也可以直接 Tab 鍵採納所有。
不過對於一些涉及到最新 API 的,似乎還不能準確提示,例如下面這段提示:
實際上我現在使用的是最新版的 Spring Security,但是這裏的提示不對。
4.2 智能生成
4.2.1 註釋生成代碼
寫好註釋之後,按回車,就會有提示:
4.2.2 增強生成代碼
如果覺得註釋生成代碼中的結果不夠準確,那麼還可以使用增強生成代碼功能調起更加精準的模型來理解和生成代碼。
在通過註釋生成代碼之後,會出現增強生成按鈕,如下圖,點擊增強生成,調出 Baidu Comate 對話框;然後等待結果返回即可。
4.2.3 生成單元測試
鼠標右鍵點擊函數名前方的 Baidu Comate 圖標,選擇生成單測或者或右鍵點擊函數名,選擇Comate代碼工具 → 生成單測。
單元測試生成之後,點擊採納,就可以自動在單元測試包下面生成對應的測試類:
4.2.4 生成代碼註釋
文檔註釋
生成的代碼註釋有兩種,一種是文檔註釋,另外一種是行間註釋。
我們可以點擊函數名上方的函數註釋:
右邊會喚起 Comate,代碼註釋生成之後,點擊採納,就會自動添加到方法頭部。
行間註釋
行間註釋是針對一段已有的代碼,按段落生成行間註釋。不過這個功能有一個限制條件,就是函數少於4500個字符時纔有這個功能。
右邊會喚起 Comate,代碼註釋生成之後,點擊採納,註釋就會自動添加到方法裏邊。
4.3 代碼解釋
代碼解釋就是使用大語言模型對給定的代碼進行深入理解,然後生成易於人類理解的自然語言解釋。這個功能可以協助開發人員迅速理解現有的代碼,從而提高研發效率。
大家來看下,我感覺這個生成的解釋還可以:
4.4 調優建議
調優建議是一個旨在幫助開發者便捷優化代碼質量的功能,通過大語言模型分析所選函數,提供有針對性的建議,如使代碼更加規範易讀,或提高執行效率、減少資源消耗。
似乎也還不錯:
4.5 長函數拆分
長函數拆分主要用於將一個冗長的函數,拆分成多個短函數,使得代碼更加簡潔易讀,易於複用和維護。當函數大於等於20行,且少於4500個字符時將提供該功能。
如果你的函數長度小於 20 行,那麼就沒有函數拆分這個選項。
這個生成的還不錯,點擊採納可以直接使用。
五 智能問答
點擊 IDEA 右邊欄可以喚起 Comate。
喚起之後就可以直接提問了,支持多輪對話。
另外也可以選中代碼輸入問題。先選中代碼,然後輸入問題,這樣 Comate 就會圍繞生成的代碼來展開對話。
六 其他能力
6.1 插件配置
Comate 提供了一些插件的能力,不過目前支持的插件不多。在和 Comate 交互的時候,通過 @
可以喚起插件。
如果需要對這些插件進行配置,可以在我網頁上配置:
6.2 知識中心
利用 Comate 這個能力,我們可以非常方便的引入自己的知識集,比如松哥寫了很多文檔,我可以把這些文章內容構建成一個知識集,那麼在發起自然語言對話的時候,就會自動使用到我的這些知識集。
這個我們可以在網頁端進行配置。
新建知識集,然後上傳即可。
當我們和 Comate 對話的時候,可以通過 #
喚起,然後選擇自己的知識庫。
好啦,小夥伴們感興趣的話不妨去體驗一下哦~
再來一個小視頻,松哥帶你體驗 Baidu AI 開發者大會!