在我們等待了幾個月之後,國內終於有模型(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 外掛市場,但是你還可以透過下載原始碼來手動安裝。