AutoDevWorkbench智慧駕駛艙:為你的AI程式設計工具生成高質量的上下文

過去的一個多月裡,我們構建了一個新的 AI 程式設計工具:AutoDev Workbench ( https://www.autodev.work/ ) 。它是一個 AI 原生的開發者平臺,旨在加速、自動化並上下文化現代軟體開發流程。
我們的目標是構建一個 AI 時代的開發者駕駛艙,開發者可以在上面完成大部分的程式設計工具,而不只是依賴於傳統的 IDE。
  • AI 時代的開發者駕駛艙:輔助進行需求分析、程式碼生成、測試生成等工作。
  • 程式碼上下文知識預生成:基於程式碼的 interface、API、文件等資訊,預先生成上下文知識,以便於 AI 程式設計工具能夠更好地理解程式碼。
  • 提供 MCP 服務:AI 程式設計工具可以透過 MCP(Model Context Protocol)獲取已知問題所需要的上下文知識。
  • AI 化的工程專案生成:針對於後端、前端、移動端等不同的技術棧,提供 AI 化的工程專案生成能力。
當然,AutoDev Workbench 仍然處於早期階段,我們正在不斷迭代和完善它。我們希望能夠透過這個平臺,幫助開發者更好地適應 AI 時代的程式設計方式。我們 仍在持續思考和改進這個平臺,歡迎大家提出意見和建議。

AutoDev Workbench:AI 時代的開發者駕駛艙

如下是,我們當前階段的 AutoDev Workbench 的介面截圖:

上面是我們藉由 Gemini DeepResearch + V0 設計的 AutoDev Workbench 的原型:
  • 左側是知識與資產庫,包含了專案的程式碼、文件、API 等資訊,以及專案相關的知識庫。
  • 中間是聊天區,可以與 AI 進行對話,生成目標文件、程式碼等。
  • 右側是互動區,可以進行開啟 IDE、即時的 AI 建議等操作。
事實上,並不需要如此多的區域,當前只是為了除錯方便展示而設計的。我們在需求轉換頁面提供了一個簡化的版本:

左側是互動區,可以輸入需求,右側是結果區,可以檢視生成的程式碼、文件等資訊。

AutoDev Workbench:AI 工具集

除了上述的功能,AutoDev Workbench 還提供了一些 AI 工具集,幫助開發者更好地進行程式設計工作。

AutoDev Context Worker:支援十幾種主流語言的上下文預生成

在 AutoDev Workbench 中,我們引入了一個新的概念:Context Worker。它的主要功能是預生成上下文知識,以便於 AI 程式設計工具能夠更好地理解程式碼。 Context Worker 會自動分析程式碼中的 interface、API、文件等資訊,並生成相應的上下文知識。

如上圖所示,我們會將程式碼庫中的程式碼預處理為:概念詞典、程式碼上下文、API 資源、關鍵程式碼標識等資訊。Context Worker 會將這些資訊儲存在知識庫中, 並提供相應的 API 供 AI 程式設計工具使用。
Context Worker 的工作流程如下:
  1. 讀取程式碼倉庫中的程式碼檔案,使用 Tree-sitter 等工具進行程式碼解析。
  2. 結合程式碼中的介面、對外 API、註釋、文件等資訊,生成相應的上下文知識。
  3. 將生成的上下文知識儲存在知識庫中
  4. 呼叫 AI 工具對上下文知識進行處理,生成相應的上下文資訊。
只需要執行: npx @autodev/context-worker@latest 就可以啟動 Context Worker 分析。當前我們支援:Java、JavaScript、TypeScript、 Python、Golang、Rust、C/C++、Ruby、C# 等語言的程式碼解析。

AutoDev Context MCP:面向 AI 程式設計工具連線平臺上下文知識

為了銜接 AI 程式設計工具,我們提供了對應的 MCP 能力,只需要在 AI 程式設計工具中配置對應的 MCP 和專案資訊,就可以獲取到上下文知識:
  1. {
  2. "mcpServers":{
  3. "autodev":{
  4. "command":"npx",
  5. "args":[
  6. "--package=@autodev/context-mcp",
  7. "autodev-context-mcp",
  8. "--preset=AutoDev",
  9. "-y"
  10. ],
  11. "env":{
  12. "PROJECT_ID":"cmaqby8oo0002l704skfwgpjy"
  13. }
  14. }
  15. }
  16. }
作為第一個版本,它只進行簡單的關鍵詞匹配和上下文資訊的返回:

如上圖(AutoDev IDE 外掛提供的支援)所示,我們提供了 get-project-context 和 resolve-project (暫未實現)兩個工具,來獲取專案上下文資訊。

其它

如果你對 AutoDev Workbench 感興趣,可以訪問我們的官網:https://www.autodev.work/ ,或者在 GitHub 上檢視我們的程式碼:https://github.com/unit-mesh/autodev-workbench

相關文章