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ライセンスで提供され、ローカルのコードチェックアウトに対して動作します。プロジェクトのプライバシーポリシーによると、匿名化されたテレメトリにはコード、diff、Whiteboardのテキスト、プロンプト、モデルの出力は含まれません。

現在の制限事項

  • ファイル編集機能なし: 現在、ユーザーはWhiteboard内で直接ファイルを編集することはできません。主にレビューおよび設計ツールとして機能します。
  • 単一リポジトリへのフォーカス: 単一のレビューで複数のリポジトリにまたがるファイルをブラウズすることは、現在サポートされていません。
  • 静的な共有レビュー: レビューはマシン間で共有できますが、最初の共有後に行われた更新は自動的に同期されません。

コミュニティのフィードバックと分析

Hacker Newsでのコミュニティの議論では、認知負荷を軽減する可能性と、開発ライフサイクルにおけるツールの位置付けに関する懸念の両方が強調されています。

価値提案

多くのユーザーは、複雑なシステムを理解するには長いトレースや計画を読むよりも、視覚的な記憶の方が効率的であると指摘しました。あるユーザーは企業環境での有用性を強調しています:

"私はコーディングエージェントを使っていますが、これは可視化のための「プラグイン」です... 私にとって試さない理由はありません!" — @handle

批判的な対論

  • 「IDE」の定義: 現在のツールにはファイルを編集する機能が欠けているため、複数のユーザーが「IDE」という用語の使用に疑問を呈しました。
  • 真実のソースの乖離: プロジェクトの進化に伴い、ダイアグラムが実際のコードと乖離し、「N+1番目の真実のソース」になってしまうのではないかという懸念が一般的です。
  • プラットフォームの可用性: 現在のリリースはmacOSに焦点を当てているため、WindowsおよびLinux版に対する強い要望があります。
  • 精度の懸念: 一部のユーザーは、LLMが生成するダイアグラムの精度について懐疑的な見方を示しており、視覚的なフローにおけるハルシネーション(幻覚)が開発時間の浪費につながる可能性があると指摘しています。

既存のワークフローとの統合

一部の開発者は、このツールの範囲は狭いと主張し、スタンドアロン製品ではなく(GUIを備えたMCPのような)機能であるべきではないか、あるいはMarkdownファイル内のMermaid.jsのような既存のツールですでにエージェント生成ダイアグラムのニーズは満たされているのではないかと示唆しています。

Sources

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト