Whiteboard:用於代理式軟體設計的開源 IDE
Whiteboard 實現了人類與 AI 代理之間的協作式軟體架構設計
Whiteboard 是一款開源桌面應用程式,旨在將軟體設計從基於文字的提示詞和原始 diff 提升到更高的層次。它提供了一個共同的工作空間,讓人類與 AI 代理可以使用視覺化畫布來描述系統佈局、流程和邏輯,從而共同架構軟體。透過連接現有的編碼代理(如 Claude Code 和 Codex),Whiteboard 為代理提供了一個 SDK,讓它們可以直接在應用程式內的畫布上繪圖,從而在實作之前或期間視覺化其提議的變更。
關鍵技術功能
與程式碼連結的圖表
Whiteboard 解決了架構規範與實際實作之間的脫節問題。在這個工作空間中,視覺化內容(例如時序圖和實體關聯圖)在語意上與底層程式碼庫連結。使用者可以點擊視覺化內容或代理追蹤記錄中的引用,直接跳轉到對應的程式碼。為了維持高品質的編輯體驗,Whiteboard 採用了 Code OSS,開箱即用提供 VS Code 的鍵盤綁定和 LSP 支援。
具備 AST 感知的語意 Diff 檢視器
為了減少傳統逐行 diff 帶來的雜訊,Whiteboard 實作了一個以 Rust 編寫的語意 diff 檢視器。此檢視器具備 AST(抽象語法樹)感知能力,這意味著它理解程式碼的結構,而不僅僅是文字。預設情況下,該工具會將大型新增函式總結為虛擬碼,並摺疊非必要的變更(例如文件或單元測試),以幫助審查者專注於重要的邏輯。
代理決策日誌
Whiteboard 包含讓代理查詢並連結其自身追蹤記錄的工具。這建立了一份決策日誌,讓人類能夠視覺化他們設定的需求,並理解代理在實作過程中做出的自主決策,從而降低代理式編碼的「黑箱」性質。
營運細節與限制
本地優先架構與隱私
Whiteboard 採用 MIT 授權,並針對本地的程式碼檢出(checkout)進行操作。根據該專案的隱私權政策,匿名遙測資料不包含程式碼、diff、Whiteboard 文字、提示詞或模型輸出。
當前限制
- 無法編輯檔案: 使用者目前無法直接在 Whiteboard 內編輯檔案;它主要作為審查和設計工具使用。
- 單一儲存庫焦點: 目前不支援在單次審查中瀏覽多個儲存庫的檔案。
- 靜態共享審查: 雖然審查內容可以在不同機器間共享,但在初始共享後所做的更新不會自動同步。
社群回饋與分析
Hacker News 上的社群討論凸顯了該工具在減輕認知負荷方面的潛力,以及對其在開發生命週期中定位的擔憂。
價值主張
許多使用者指出,對於理解複雜系統而言,視覺記憶比閱讀冗長的追蹤記錄或計畫更有效率。一位使用者強調了其在企業環境中的實用性:
"我只是使用我的編碼代理,而這是一個視覺化的『外掛』……對我來說沒有理由不試試看!" — @handle
批判性觀點
- 「IDE」的定義: 鑑於該工具目前缺乏編輯檔案的能力,幾位使用者質疑使用「IDE」一詞是否恰當。
- 事實來源的分歧: 一個常見的擔憂是,隨著專案的演進,圖表可能會成為「N+1 個事實來源」,與實際程式碼產生分歧。
- 平台可用性: 由於目前版本專注於 macOS,市場對 Windows 和 Linux 版本的需求相當強烈。
- 準確性疑慮: 一些使用者對 LLM 生成圖表的準確性表示懷疑,並指出視覺流程中的幻覺可能會導致開發時間的浪費。
與現有工作流程的整合
一些開發者認為該工具的範圍過於狹窄,建議它可能更適合作為一個功能(例如帶有 GUI 的 MCP),而不是一個獨立的產品,或者認為現有工具(如 Markdown 檔案中的 Mermaid.js)已經滿足了代理生成圖表的需求。
Sources
相關
- 專案
- 專案
- 專案
- 專案
- 專案