概要
- Whiteboard はオープンソースのデスクトップアプリで、 人間とAIエージェント が共にソフトウェア設計を行うための共通ワークスペースを提供
- Claude Code や Codex など既存のツールと連携し、エージェントがアプリ内キャンバス上に作業内容を描画可能
- シーケンス図やER図 などの可視化から直接コードにジャンプできる機能や、 意味的差分ビューア、 意思決定ログ などを搭載
- MITライセンス で公開、ローカル環境で自己ホスト可能、将来的にチーム向けホスティングも計画中
- コントリビューション やフィードバック歓迎、匿名テレメトリでプライバシーにも配慮
Whiteboard:人間とエージェントが協働するソフトウェア設計ワークスペース
- Whiteboard は人間とAIエージェントが同じワークスペース上で ソフトウェア設計・レビュー を行うためのデスクトップアプリ
- Claude Code、 Codex などのエージェントと連携し、既存の開発フローに組み込み可能
- エージェント用 SDK により、作業内容の説明や図解を アプリ内キャンバス に描画
- VSCode互換のキーバインド・LSPサポート を標準搭載し、コードナビゲーションが容易
- Semantic diff viewer (Rust製AST対応差分ビューア)で、本質的なコード変更のみを抽出・表示
- 意思決定ログ 機能により、エージェントが自律的に行った判断やその経緯を可視化
- MITライセンス で公開、ローカルチェックアウトに対応、自己ホストが可能
- 匿名テレメトリ はコードやプロンプト内容を含まず、プライバシーを尊重
- コントリビューション やバグ報告、機能提案はGitHubリポジトリで受付
Whiteboardの主な機能と特徴
- エージェント連携 :Claude CodeやCodexなど主要なAIエージェントとの接続が簡単
- キャンバス描画SDK :エージェントがAPIを通じて図や説明をキャンバス上に描画
- 可視化からコードへジャンプ :シーケンス図やER図、エージェントのトレースから直接該当コードに遷移
- 意味的差分ビューア :ノイズの多い生diffではなく、ASTベースで本質的な変更のみを提示
- 大規模関数追加 は疑似コードで要約
- ユニットテストやドキュメント変更 は自動で折りたたみ
- WASMプラグイン でカスタマイズ可能
- 意思決定ログ :エージェントの自律的な意思決定や要件実装の経緯を可視化
- ローカル動作・自己ホスト :MITライセンスで公開され、自己ホストやローカル利用が可能
- VSCodeベース :Code OSSをベースにしており、既存のエディタ体験を活用
- 匿名テレメトリ :コード内容やプロンプトを含まない安全なデータ収集
- チーム向け機能 :将来的にホスト型プロダクトやマルチプレイヤーレビュー機能も計画中
使い方・クイックスタート
- Whiteboardをダウンロード し、アプリを起動
- Welcome画面 からClaude CodeやCodexなどのコーディングエージェントを接続
- エージェントに 現在のブランチをmainと比較してレビュー を依頼し、その結果をWhiteboardで表示
- 気になる点があれば クリップボードでハイライト し、エージェントに再描画を依頼
推奨プロンプト例
- 新API変更 :
- 「このコミット群で[API]を[目的]のために用意した。提案API例と、その動機(可能ならコンテキストやリポジトリ内情報)を示してほしい。その後、実装方法や仕組みの説明に進みたい」
- テレメトリ追加 :
- 「最新のposthog PRでのテレメトリ変更を説明して。何をトラッキングしているか、良いダッシュボードやプロダクトウォーターフォールをどう構築できるか、ハング・エラー・クラッシュ対策は?」
なぜWhiteboardが必要か
- 図とコードの連携 :HTMLベースのツールでは仕様や図からコードへの連携が難しかった
- 本質的なコードレビュー :生diffではノイズが多く、意味的な差分表示が求められた
- 意思決定の透明化 :エージェントの自律的な判断・実装経緯を人間が理解しやすくする必要
- “認知的負債” の解消:エージェント主導の高速開発で全体像の理解が難しくなる課題への対応
既知の制限事項
- Whiteboard内でのファイル編集は未対応 (要望があればIssue提出を推奨)
- 複数リポジトリ横断のレビュー は現状不十分
- レビュー共有機能 は後からの更新が他ユーザーに反映されないため、再共有が必要
- マルチプレイヤーレビュー や ファイル編集機能 は今後の開発課題
コントリビューション・ライセンス・プライバシー
- コントリビューション歓迎 :CONTRIBUTING.md参照
- セキュリティ報告 :SECURITY.md参照
- MITライセンス :Code - OSS由来の部分はMicrosoftのMITライセンスとサードパーティ通知を遵守
- プライバシー :匿名テレメトリはコードやプロンプトを含まず、設定で無効化可能
Whiteboardの開発背景・ストーリー
- 開発者4人(Sid, Alex, Ketan, Milan) が「もう一人の開発者とホワイトボードセッションする」感覚を再現するために開発
- エージェント主導の高速開発 で生じる“認知的負債”を解消し、理解しやすいコードベース維持を目指す
- SalesforceやModal などの企業でもアーキテクチャレビューや仕様レベルの変更レビューに活用
- AIエージェントによるプロトタイピングとWhiteboardセッション を組み合わせて、設計の反復的改善が容易
- Greptile など他ツールとの連携で、機械的なレビューと人間の判断が必要なレビューを適切に分担
参考・インスピレーション
- Understanding is the new bottleneck
- AI-generated codeとソフトウェア工学の関係
- Val Townのブログ
- Karpathyによるエージェント論考
- Karpathy: "junior engineer savants"としてのエージェント
プロジェクトリンク・インストール情報
- リポジトリ :https://github.com/devdotfast/whiteboard
- インストール (MacOS/Linux):https://install.dev.fast
- デモ動画 :https://www.youtube.com/watch?v=ChPn3ftULWE
- diffsライブラリ :https://github.com/devdotfast/diffr
ご意見・ご質問はDiscordやGitHubで受付中。Whiteboardの利用・フィードバックを心より歓迎!
おお、すごい!12ヶ月後にはどこにでもある技術(フェイクペン描画アニメーション + ストリーミング図)を最初に見ることができるなんて。今でも「ファースト!」コメントってするの? ~~[編集:もっと目立つ場所に「macOS専用」と書いてほしい。魂が傷つくし、リーナスも怒るかも]~~ [編集2:勘違いしてた!] これ、すごくしっかりしてるね。で、二つのコメントがあるんだけど、1. OS LSPとの統合はかなり楽しいし、称賛に値するよ。図が独自のLSPを持つことは可能なのかな?それとも、直接TSコールサイトのままの方がいいのかな? 2. 「IDE」という言葉の選び方は、ちょっと問題になりそうだね。「ファイルを編集できない」という小さな詳細があるから。そこに関して何かコメントある?例えば「ブレインストーミングツール」とか、「[建築的]ハーネス」とかにするのはどう? 3. 擬似コードの「セマンティックディフ」ってアイデア、すごくいいね。4. この言語がちょっと気になるな:「あなたが設定した要件がどのように実装されたか」。私の恣意的な開発フローでは、理想的には
アイデア -> スペック/要件 -> プラン -> テスト -> 実装 -> 評価 -> リリース -> レビューって感じなんだけど、このツールは明らかに二番目と三番目に特化してて、その周辺のカバーも部分的だよね。具体的には、実装を追加することで、強力な特異性のセールスポイントを失って、全てのフルハーネスと競争しなきゃいけなくなるんじゃない? 5. 「GPT-6 Luna と Claude Opus 5.5」を提案してるのは、たぶんタイプミスだよね?Opus 5.5の相当はAstraだし、それでもあまり関係ないけど。