
整理 | 華衛
6 月 26 日,字節跳動釋出了基於豆包大模型打造的智慧開發工具豆包 MarsCode(https://www.marscode.cn/home??utm_source=626&utm_medium=wx),並面向國內開發者免費開放。
現場,字節跳動開發者服務團隊、豆包 MarsCode 負責人李東江還分享了一些對 AI 時代開發工具演進趨勢的思考。
進入 AI 時代,大語言模型在程式語言方面具備強大的優勢和潛力,相比起復雜的自然語言,程式語言是更加簡潔、嚴謹、可預測。關於“應當如何構建一款 AI 時代的開發者工具”的命題,豆包 MarsCode 團隊更多的從如何賦能開發者的角度入手。
李東江認為,在 AI 技術驅動下,一定會衍生出下一代的開發工具。AI 不是替代開發者的“競爭者”,而是開發者的“好幫手”,團隊更希望打造一款軟體,能夠助力提升開發者工作效率,讓開發者有更多精力和時間用於思考和創造。
隨後,豆包 MarsCode 產品負責人王海建介紹了豆包 MarsCode 產品的兩種形態:程式設計助手和 Cloud IDE,同時透過需求開發、修復 Bug、開源專案學習三個實際場景,詳細演示了豆包 MarsCode 的專案問答、程式碼補全、單測生成、Bug Fix 等功能。

透過一個翻譯機器人構建的實際案例,王海建演示了在 AI 的輔助下,開發者可以如何透過喚起程式設計助手進行 Chat 提問,分析需求、熟悉程式碼、編寫程式碼和除錯程式碼。

程式碼補全不僅僅可以幫助開發者更快地輸入程式碼,更是可以透過不斷提供程式碼建議,給開發者帶來靈感和啟發。豆包 MarsCode 的創新功能——程式碼補全 Pro,不同於傳統的程式碼續寫,它支援自動根據使用者編輯意圖預測下一個改動點並給出程式碼推薦。

除了程式碼預測與補全,當編碼中出現需要修復的程式碼 Lint 錯誤時,程式設計助手會直接在編輯器中主動給出修改程式碼,我們不需要去檢視是什麼報錯原因,只需要判斷修復結果是否正確,如果正確,一鍵採納修復後的程式碼即可。

最後,當我們寫完程式碼,為了保障程式碼的質量與後續的可維護性,通常還需要寫單元測試。這時只需要在程式設計助手中觸發 test,就可以得到這個函式的測試用例。可以看到,相比於傳統的開發方式,豆包 MarsCode 程式設計助手可以幫助開發者更輕鬆、更專注地程式設計。
在 Debug 場景下,豆包 MarsCode 的 AI 修復功能可透過理解報錯資訊、呼叫棧的程式碼、全域性的專案程式碼,去分析錯誤原因,從而直接給出針對性的修復建議。

除了單輪修復,豆包 MarsCode 也在嘗試基於 Agent 方式實現多輪自動修復,AI 會自主呼叫一系列程式碼查詢工具、除錯工具獲取報錯資訊、自主規劃方案、自主寫出程式碼並應用到專案當中去,來修復 Bug。目前,該功能正在位元組內部做驗證。

第三個場景下,豆包 MarsCode IDE 透過提供開發模板,讓開發者能夠快速進入專案而無需運維本地環境。藉助原生整合的 AI 能力,開發者不再需要自己去理解程式碼,從而更高效地上手專案。

總的來說,豆包 MarsCode 在以下兩個方面幫助開發者:
-
對於想的階段,提供更好的資訊,例如做程式碼解釋,研發知識的問答,來激發開發者創造;
-
對於做的階段,幫助開發者更快地完成編碼,例如程式碼的補全、下一步編碼動作的預測,程式碼的錯誤修復,來提升開發者效率。
後續,豆包 MarsCode 會透過成立使用者組、各類系列開發者活動等方式,助力開發者探索 AI 程式設計新正規化。現場,豆包 MarsCode 市場運營負責人趙旭東介紹了豆包 MarsCode 開發者與社群共創計劃。
據悉,豆包 MarsCode 使用者組將由開發者自組織自運營,豆包 MarsCode 團隊不會參與到使用者組的管理,但是會為使用者組提供豐富的各類資源支援,支援各地使用者組發展,例如場地資源、產品資源、活動物料、專家講師支援等。在開發者活動方面,豆包 MarsCode 將陸續在北、上、深、杭等城市舉辦 Meetup 。
豆包 MarsCode 還計劃協同各開發者社群,將 AI 能力融入到社群使用場景中,將豆包 MarsCode 的能力更便捷地提供給開發者。

