AutoDev2.0正式釋出:智慧體x開源生態,AI自動開發新標杆

在我們等待了幾個月之後,國內終於有模型(DeepSeek V3-0324)能支援 AutoDev 的能力,也因此是時候釋出 AutoDev 2.0 了!在 AutoDev 2.0 中,你可以:
  • 編碼智慧體 Sketch 進行自動化程式設計
  • 自動化程式設計的規劃器 AutoDev Planner
  • 系統遷移 Bridge 輔助舊系統重構
  • 觀察者 Observer,動態觀察 IDE 中的程式碼變化
  • 模型協議 MCP 接入工具生態
  • 在不同場景使用多種開源模型(程式設計、推理、Apply、補全等)
  • ……
更棒的是 AutoDev 2.0 是開源的,你可以自由使用、修改和分享,讓我們一起來探索這個無限可能的世界!
與此同時,我們是整合度最好的 JetBrains IDE 上的第二代 AI 程式設計工具,我們支援主流的 Intellij IDEA、WebStrom、Clion 等 IDE,還有基於 Intellij Community 構建的 Android Studio、鴻蒙 IDE(DevEco Studio)等。
你可以盡情利用 JetBrains 的外掛生態,讓 AutoDev 2.0 更加強大!

簡單回顧:AutoDev 開源兩年

2023 年 4 月,我們開始了 AutoDev 的第一個探索性功能:AutoCRUD 開始,經過兩年的模型快速迭代,在一些企業內部試用、定製,還有大量的個人定製版本:
作為難度頗的 Intellij IDEA 外掛開發,我們大體上也算是有 20 個 Contributor:
在 IDEA 裡除錯 IDEA 可是非常吃資源的,我這老舊的 Intel MBP 快跑不動了:
以及我們接近 5000 次的程式碼提交。
PS:也可以很好反應國內的開源現狀。
現在,讓我們來看看與 AutoDev 相比,變了什麼,什麼是不變的?
1. 編碼智慧體 Sketch
我們開發 AutoDev 2.0 的動機來源於:DeepSeek V3 模型的推出。我們在 Shire 智慧體語言上構建了 Sketch View,並率先將其應用到多檔案程式設計支援。隨後,我們將其應用到 AutoDev 2.0 中,透過豐富的 IDEA 外掛生態,來構建更好的 IDE 程式設計體驗。

1.1 互動式決策檢視:Sketch View

Sketch View 提供了是一種新的互動式檢視,它可以幫助你更好地理解架構、進行決策。Sketch View 的特點有:
  • 互動式設計。多種化的 Patch/Diff 處理, 並針對生成程式碼進行 Lint 檢查等
  • 開發者體驗。前端應用在啟動 dev 服務時, 自動開啟 WebView 檢視編譯正確
  • 質量與安全。生成依賴檔案時,可提供依賴的安全檢查
並且,你還可以用它來檢視程式碼的結構,以及更好地編寫程式碼。

1.2 隔離環境的工具呼叫:DevIns

我們在 AutoDev 1.0 中設計了 DevIns DSL 來構建隔離環境的指令抽象,基於 DevIns 指令,AutoDev 可以:
  • 安全操作。對指令進行更安全的檢查,諸如 Shell、SQL,而不是依賴於 LLM 的不靠譜分析。
  • 模型無關。即可以在不同的模型上使用 CoT 來進行工具呼叫,而不依賴於 function tool。
  • 關鍵上下文。即基於 IDE 的 PSI 介面豐富了語法分析計算與架構檢視,提供系統的關鍵上下文。
同時,DevIns 能和 MCP 生態非常好的結合在一起,以便於更好地呼叫工具。

2. 顯性任務規劃:AutoDev Planner

Planner 是 Sketch 的核心功能,它提供了一種新的任務規劃體驗。你可以透過 AutoDev Planner 來:
  • 可見的任務規劃。透過 Pin 及 Planner ToolWindow 的可以看到當前的任務進度
  • 動態的任務規劃。AI 會根據上下文動態調整任務規劃(取決於模型,有時候並不會即時更新)
  • 手動執行未完成的任務。使用者可以手動執行未完成的任務,以便更好地調整任務規劃
結合諸如於 DeepSeek R1 這一類推理模型,AutoDev Planner 可以更好地規劃任務,以適應使用者需求。

3. 被動式錯誤觀測:Observer

Observer 是在 Sketch 中新增的一個功能,它可以幫助你更好地觀察程式碼的變化。Observer 可以觀察:
  • 測試失敗。當測試失敗時,Observer 可以自動帶上上下文(相關程式碼)發給模型
  • 構建失敗。當構建失敗時,諸如 Gradle、Maven 的構建日誌會被自動傳送給模型
  • 新增依賴失敗。當新增依賴失敗時,Observer 會自動將問題反饋給模型
  • ……
透過被動式的錯誤觀測,AutoDev 可以更好地理解程式碼的變化,以提升開發效率。

4. 舊系統改造智慧體:AutoDev Bridge(試驗性)

Bridge 是我們針對遺留系統遷移的一個新功能,它主要包括:
  • 遷移路徑。基於"探索-感知-響應"框架,透過大型語言模型智慧生成系統遷移路徑
  • 架構檢視。利用 AI 進行工具呼叫對現有系統進行深度掃描,生成符合C4模型標準的架構藍圖
  • 業務邏輯分析。結合抽象語法樹(AST)解析和執行時呼叫鏈追蹤技術,實現業務邏輯的精準還原
  • 執行遷移。生成包括單元測試、整合測試和端到端測試在內的多層次驗證方案,確保遷移後系統功能完整性
作為一個試驗性功能,AutoDev Bridge 並沒有完全成熟,但是我們相信它會在未來的遷移中發揮重要作用。

5. 開發工具生態整合:雙向 MCP

MCP(模型上下文協議)是一個非常好的開放協議,它可以幫助 AI 智慧體更好地理解上下文。在 AutoDev 2.0 中,我們將 MCP 與 JetBrains 外掛生態 進行了雙向整合,以便於更好地呼叫工具。
  • MCP 即工具。透過 DevIns 指令對 MCP 進行封裝,來呼叫第三方工具
  • AutoDev 即服務。將 AutoDev 作為一個 MCP 服務,可以被任何 Agent Tool 呼叫
如此一來,將 AutoDev 與整個工具生態進行了無縫整合,豐富系統的上下文能力,降低幻覺的產生。

其它

我們重新寫了 UI 配圖頁面,詳細參考新文件進行配置:https://ide.unitmesh.cc/quick-start

AutoDev 2.0 功能開關

2.0 的 Sketch 與 MCP 功能需要開啟對應的配置,諸如允許 Composer mode、允許自動修改 Lint、自動 Apply、自動執行終端等,詳細見文件:

工具問題依舊,效率真能提升嗎?

哪怕效率提升再多,效能提升依然有限。你們在寫程式碼上的時間到底有多少????????????

安裝 AutoDev 2.0

你可以:
  • 透過 GitHub 來下載最新版本的 AutoDev 外掛:https://github.com/unit-mesh/auto-dev 。
  • 也可以 Settings → Plugins → Marketplace → ManagePluginRepositories → Add,新增 https://plugin.unitmesh.cc/updatePlugins.xml 然後搜尋 AutoDev 進行安裝。
  • 我們還在努力重新上架到 JetBrains 外掛市場,但是你還可以透過下載原始碼來手動安裝。

相關文章