Deliberation について
Deliberationは、コーディングエージェントの質問を、設定済みのホスト型モデルやローカルモデルの専門家に振り分けるMCPサーバーです。助言レビューに加え、対応プロバイダーでは実装も行い、結果を統合して提示します。実行分析は任意で利用できます。
主な機能
- 018分野の専門家
- 02モデルプロバイダー間のリクエスト振り分け
- 03助言と実装のモード
- 04合意形成と複数ラウンドのレビュー
- 05任意のローカル実行ダッシュボード
活用シーン
- 01実装計画のレビュー
- 02バグやセキュリティ上の問題の発見
- 03エッジケースに関するモデル意見の比較
- 04プロバイダー使用量と実行レイテンシの確認
MCP 対応
MCPホストに、モデルへの問い合わせ、専門家レビュー、合意形成ワークフロー、セッションツール、分析機能を提供します。単独サーバーとして動作し、ホスト用プラグインでは専門家の役割設定や委任の指針も利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
20掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| prompt | string | はい | プロバイダー/エキスパートへの質問またはタスク。 |
| expert | string | いいえ | 任意のペルソナ:architect、plan-reviewer、scope-analyst、code-reviewer、security-analyst、researcher、debugger のいずれか。名前付きエキスパートツールでは、ツール固有のペルソナが優先され、この設定は無視されます。 |
| developerInstructions | string | いいえ | 任意のシステム/開発者指示。変更せずに挿入され、`expert` の組み込みペルソナより優先されます。 |
| cwd | string | いいえ | プロバイダーの実行時に使用する作業ディレクトリ(相対ファイル参照の解決に使用)。デフォルトはサーバープロセスのディレクトリです。 |
| reasoningEffort | enum | いいえ | プロバイダーが対応している場合の推論の深さ(Grok、OpenRouter):low、medium、high、none のいずれか。CLI プロバイダー(Codex、Gemini)は無視します。low | medium | high | none |
| files | array | いいえ | ファイルを読み取るプロバイダー向けの任意の添付ファイル(Grok/OpenRouter。Codex/Gemini ではコンテキストにインライン化)。各項目は path/dir/file_id/file_url のいずれか 1 つのみです。 |
詳細
Deliberation
Claude Code、Codex、Cursor、Kiro、Antigravity、OpenCode などの MCP ホストで、GPT、Gemini、Grok からセカンドオピニオンを得られます。Ollama や LM Studio のローカルモデルに加え、OpenRouter 経由で Qwen、Kimi、DeepSeek など 400 種類以上のモデルも利用できます。アーキテクト、コードレビュアー、セキュリティアナリストなど、8 人の分野別エキスパートが計画をレビューし、バグを見つけ、合意に達するまでエッジケースについて議論します。

最近のブログ記事:Deliberation の紹介:400 以上のモデルをそろえるのは簡単ですが、どのモデルを採用する価値があるかを見極めるのは困難です。
📸 /consensus の実行全体を見る:第1ラウンドで意見が分かれ、第5ラウンドで収束

... しばらくして ...


📸 /ask-all が2ラウンドのアーキテクト議論を進める様子を見る:3つのモデル、3つの結論、それぞれが互いを批評 ― 意見の相違マトリックスも表示

3つのモデルが議論すると、本当のバグが明らかになります。第1ラウンドでは、それぞれが独立して主要な発見事項を提示します。第2ラウンドでは、各モデルがほかのモデルの選択を批判します。意見の相違マトリックスには見解が分かれる箇所が示され、結論では最初に修正すべき内容が示されます。
📸 ローカルダッシュボードで /consensus の実行をタイムラインとして表示する様子を見る:各発言者に1つのレーン、それぞれの結論、横に表示される最終レポート

ダッシュボード(/deliberation:dashboard、"dashboard": { "enabled": true } でオプトイン)は、127.0.0.1 上で動作する読み取り専用ページです。ライブでは進行中の実行を追跡し、実行履歴には各実行元のリポジトリとワークスペースを含む履歴が保存されます。履歴は Git リモートの org/repo ごとにグループ化され、プロジェクトフィルターでリポジトリ全体または1つのワークスペースを選択できます。設定では有効な設定を確認でき、統計では使用状況とプロバイダーの健全性を確認できます。分析では、追加情報よりも一致を示すモデル(候補から除外するモデル)、失敗または実行が遅いプロジェクト、リクエストサイズがレイテンシやタイムアウトを予測するかどうか、推奨タイムアウトを確認できます。実行ごとに次の情報が表示されます。
- ヘッダー:ツール、経過時間、ステータス、ラウンド、トークン、エラー、エキスパート
- フェーズバー:ブラインド、ピア、裁定、収束または修正と、それぞれの時間オフセット
- タイムライン:上部に各ラウンド、その下に仲裁役と各パネル発言者のレーンが表示されます。各呼び出しはパルスとして描画され、結論がラベル表示されます。プロット上をドラッグして2つのカーソルを配置し、その間の時間を測定できます
- イベントテーブル:すべてのジャーナルイベントと、そのシーケンス番号、時刻、種類、ラウンド
- サイドパネル:最終レポートとプロンプト
CAPTURE と PII のバッジは、記録された内容を示します。デフォルトではメタデータのみが記録され、dashboard.showPII が有効でない限り、PII はマスキングされます。
コーディングエージェントは、MCP を通じて GPT、Gemini、Grok、ローカルモデル(Ollama、LM Studio)、または OpenAI 互換モデル(OpenRouter 経由)に助言を求めることができます。Deliberation は各プロバイダーとの連携を担うため、プロンプトを書くことに専念できます。各エキスパートにはそれぞれ専門分野があり、助言や実装を行えます。
Claude Code 専用ではありません。同じ MCP サーバーはどの MCP ホストでも動作し、Codex、Cursor、Kiro、Antigravity、OpenCode には、エキスパートと委任ガイダンスを組み込んだネイティブプラグインも用意されています(インストールを参照)。Claude Code では、同じサーバーにスラッシュコマンドと自動ルーティングルールが加わり、最も充実した機能を利用できます。
プロバイダーは任意の組み合わせで利用できます。Deliberation は設定済みのプロバイダーを検出し、それに応じてルーティングします。OpenRouter は助言のみを行い、設定ファイルで管理します。モデルは ~/.config/deliberation/config.json(Windows:%APPDATA%\deliberation\config.json。DELIBERATION_CONFIG で上書き可能)で宣言し、ホストを再起動せずに設定を再読み込みできます。
| 利用できる機能 | メリット |
|---|---|
| 8 人の分野別エキスパート | 問題の種類に応じて適切な専門家を選べます |
| GPT、Gemini、Grok、ローカルモデル、または OpenRouter のモデル | 好みのプロバイダーを利用できます |
| デュアルモード | エキスパートが分析(読み取り専用)または実装(書き込み)を行います |
| 自動ルーティング | リクエストから、エージェントが委任の必要性を検出します |
| 統合された応答 | エージェントがエキスパートの出力を解釈するため、生の出力がそのまま返されることはありません |
| ローカルダッシュボード(オプトイン) | ブラウザーで各実行をライブの状態グラフとして確認できるほか、プロジェクトごとの履歴、ヘルス情報、使用統計、候補の除外やタイムアウト調整のためのアナライザーも利用できます |
インストール
利用するホストに応じて選択してください。
- Claude Code - 以下のプラグイン(Claude Code では推奨)。
- Codex、Cursor、Kiro、Antigravity、OpenCode - ホストごとのネイティブプラグイン。
- その他の MCP ホスト(Claude Desktop、Windsurf、Zed、VS Code など) - スタンドアロン MCP サーバー。
Claude Code プラグイン(推奨):
1. マーケットプレイスを追加 - antonbabenko/agent-plugins
/plugin marketplace add antonbabenko/agent-plugins
2. プラグインをインストール
/plugin install deliberation@antonbabenko
3. セットアップを実行
/deliberation:setup
Claude は、GPT、Gemini、Grok、ローカル(Ollama、LM Studio)、OpenRouter のエキスパートに複雑なタスクを委任するようになります(すべてのプロバイダーが助言を行い、実装もできるのは Gemini のみです)。
セットアップは初回のみ必要です。 MCP サーバーはプラグインのマニフェストで登録されるため、 自動的に読み込まれ、アップデート後も最新の状態が保たれます。
更新(Claude Code)
/plugin marketplace update antonbabenko # pull the new version from the marketplace
/deliberation:reload-mcp # audit processes & recycle dashboard daemon
/reload-plugins # reconnect the MCP servers (or restart Claude Code)
Claude Code 以外のホストでの更新: npx -y @antonbabenko/deliberation-mcp を使ってスタンドアロンサーバーを実行するホストでは、新たに解決するたびに公開済みの最新バージョンが取得されます。npx
は解決済みパッケージをキャッシュするため、ホストで古いビルドが使われている場合は、npx キャッシュを消去するか
(rm -rf ~/.npm/_npx)、バージョンを固定するか更新してください。bash scripts/commands/reload-mcp.sh
を実行する(または Codex、Antigravity、OpenCode で reload-mcp スキル/コマンドを実行する)と、実行中のワーカープロセスを監査し、バックグラウンドのダッシュボードデーモンを安全に再起動できます。
代替手段:deliberation MCP サーバーを使用する(スタンドアロンで、あらゆるエージェントに対応)
オーケストレーションサーバーは単独でも公開されています。npm @antonbabenko/deliberation-mcp、Official MCP Registry 名 io.github.antonbabenko/deliberation です。
任意の MCP クライアント向けの手動設定
ホストの MCP 設定に以下を追加してください(ほとんどのホストでは mcpServers キーを使用します)。
{
"mcpServers": {
"deliberation": {
"command": "npx",
"args": ["-y", "@antonbabenko/deliberation-mcp"],
"env": {
"XAI_API_KEY": "xai-...",
"OPENROUTER_API_KEY": "sk-or-v1-..."
}
}
}
}
env ブロックは、Claude Code 以外でプロバイダーキーを設定するためのものです。GPT と Gemini はここに設定したキーを読み込まず、codex と agy の CLI(個別にログイン済み)を使用するため、GPT/Gemini だけを使う場合は該当する行を削除してください。XAI_API_KEY を設定すると Grok が有効になり、OPENROUTER_API_KEY を設定すると OpenRouter が有効になります(OpenRouter では ~/.config/deliberation/config.json(標準の XDG パス。Windows では %APPDATA%\deliberation\config.json)でモデルも宣言する必要があります。別の場所を指定するには DELIBERATION_CONFIG を設定してください)。上のワンクリックボタンではシークレットを設定できないため、インストール後に env ブロックを手動で追加してください。
ホストごとの設定場所と、必要なキーは次のとおりです。
| ホスト | 設定 | キー |
|---|---|---|
| Claude Code | claude mcp add deliberation -- npx -y @antonbabenko/deliberation-mcp(またはプロジェクトの .mcp.json) | mcpServers |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)、%APPDATA%\Claude\claude_desktop_config.json(Windows) | mcpServers |
| Cursor | ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト) | mcpServers |
| VS Code | .vscode/mcp.json。各エントリーに "type": "stdio" が必要です | servers |
| Codex CLI | ~/.codex/config.toml(TOML。例:[mcp_servers.deliberation]) | mcp_servers |
| Gemini CLI | ~/.gemini/settings.json | mcpServers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers |
| Zed | settings.json | context_servers |
| Cline | 拡張機能の MCP 設定(Cline パネル -> MCP Servers) | mcpServers |
プロバイダーの前提条件はプラグインの場合と同じです(要件を参照)。GPT には Codex CLI、Gemini には agy、Grok には XAI_API_KEY、OpenRouter には OPENROUTER_API_KEY と ~/.config/deliberation/config.json が必要です(Windows:%APPDATA%\deliberation\config.json。DELIBERATION_CONFIG で設定ファイルのパスを変更できます)。
公開されるツールは、ask-all、consensus(収束ループ全体を1回の呼び出しで実行するか、synthesizeAlways:true で単一の統合パスを実行)、consensus-step(1回の呼び出しにつき1つのアクションを実行して、自分でループを進める)、ask-gpt / ask-gemini / ask-grok / ask-openrouter、panel + ask-one(アクティブなプロバイダーセットを検出してから、各プロバイダーを個別に呼び出します。プロバイダーごとの進行状況を表示するには、並列で実行してください)、analyze(デバッグログとセッションを対象とした読み取り専用の実行分析:モデルごとのレイテンシ/トークン数と判定の一致状況を確認し、調整に関する提案も提示します。configuredOnly と since を指定すると、現在も利用しているモデルと、指定した期間にレポートを絞り込めます)、8つのエキスパート(architect、plan-reviewer、scope-analyst、code-reviewer、security-analyst、researcher、debugger、writing-editor)、およびセッションツール(session-get / session-revisit / session-annotate)です。すべての結果には ms と有効な reasoningEffort が含まれます(HTTP プロバイダーではトークンの usage も追加されます)。オプションのデバッグログ("debug": { "enabled": true })には、レイテンシ/トークン数/投票が記録されます。プロンプトや応答は記録されません。オプションのローカルダッシュボード("dashboard": { "enabled": true } を設定してから deliberation-mcp dashboard を実行)では、ブラウザー上にすべての実行がライブ状態グラフとして表示されます。panel が返す runId は ask-one で受け付けられるため、並列ファンアウトを1つの実行として表示できます。これらはサーバー側で動作するため、Claude Code に限らず、あらゆる MCP ホストで利用できます(ツールガイドを参照)。
このパッケージには deliberation-setup という bin も含まれています。npx -y --package @antonbabenko/deliberation-mcp deliberation-setup を一度実行すると、ひな形となる ~/.config/deliberation/config.json が書き込まれます(既存のファイルを上書きすることはありません)。通常の npx -y @antonbabenko/deliberation-mcp 形式では、デフォルトの bin(サーバー)が実行され、MCP ホストから起動されます。ホストのルール設定については、ツールガイドと、ホストごとのスニペット(examples/)を参照してください。
Docker で実行する
リポジトリには、スタンドアロンサーバーをコンテナー内で実行するための Dockerfile が含まれています。MCP ホスティングプロバイダーが想定する形式と同じく、stdio サーバーを mcp-proxy でラップします。
docker build -t deliberation-mcp .
docker run -i --rm \
-e XAI_API_KEY -e OPENROUTER_API_KEY \
-v ~/.config/deliberation:/home/node/.config/deliberation:ro \
deliberation-mcp
Grok と OpenRouter はキーだけで動作します。GPT と Gemini は動作しません。これらは codex および agy CLI をシェル経由で呼び出しますが、これらの CLI はイメージに含まれていないため、コンテナー内ではこの2つのプロバイダーは not-found / missing-cli を報告します。
ホストごとのネイティブプラグイン(Antigravity / Cursor / Codex / Kiro / OpenCode)
上記の基本的な MCP 設定に加えて、deliberation は 5 つのホスト向けにネイティブプラグインのアーティファクトを提供しているため、Claude Code プラグインと同じ体験(ペルソナを備えたエキスパートと委任すべきタイミングのガイダンス。単なる基本ツールではありません)が得られます。これらはすべて、node scripts/sync-hosts.js によって正規のソースから生成され、コミットされているため、内容にずれが生じることはありません(CI のドリフトテストでこれを検証しています)。各ホストは、リポジトリ内のそれぞれのファイルをスキャンします。
| ホスト | ネイティブアーティファクト(このリポジトリ内) | インストール |
|---|---|---|
| Antigravity & Gemini | .agents/skills/、.gemini/skills/、および .agents/mcp.json | プロジェクトのルートで自動的に検出されます。または、.agents/skills/ と .gemini/skills/ をワークスペースにコピーしてください。 |
| Cursor | .cursor/rules/deliberation.mdc | 上のワンクリック MCP ボタンを使い、その後 .mdc をプロジェクトの .cursor/rules/ にコピーしてください。 |
| Codex CLI | plugins/deliberation/(.codex-plugin/plugin.json + .mcp.json + skills/)と、リポジトリスコープの .agents/plugins/marketplace.json | codex plugin marketplace add antonbabenko/deliberation を実行し、/plugins から deliberation をインストールしてください。 |
| Kiro | POWER.md + mcp.json + steering/(「Kiro Power」) | Kiro で「GitHub から Power を追加」→ このリポジトリの URL を指定してください。kiro.dev/powers/submit からレジストリに申請してください。 |
| OpenCode | .opencode/commands/*.md + .opencode/agents/*.md | MCP サーバーを opencode.json に追加し(mcp キー、type: "local"、command: ["npx","-y","@antonbabenko/deliberation-mcp"])、その後 .opencode/commands/ と .opencode/agents/ をプロジェクトにコピーしてください。 |
プロバイダーの認証情報はスタンドアロンサーバーと同じように機能します(GPT は Codex CLI 経由、Gemini は agy 経由、Grok は XAI_API_KEY、OpenRouter は OPENROUTER_API_KEY)。使用するプロバイダーの認証情報のみ設定してください。MCP サーバーは各エキスパートのペルソナをサーバー側ですでに注入するため、これらのネイティブファイルはホストのコマンド/ステアリング機能を追加するものであり、ロジックを重複させるものではありません。
ホストごとの詳しいインストールガイド: docs/hosts/ - Antigravity & Gemini、Cursor、Codex CLI、Kiro、OpenCode。
必要条件
少なくとも1つのプロバイダーが必要です。
- Codex CLI(GPT):
npm install -g @openai/codexを実行し、その後codex loginを実行します(ChatGPT サブスクリプションが必要です。リモートマシンではcodex login --device-authを実行してください。ログインはマシンごとに1回です)。ChatGPT Business/Enterprise ワークスペースでは、代わりにCODEX_ACCESS_TOKENを設定できます。どちらもない場合、codex はCODEX_API_KEYを使用します。OPENAI_API_KEYは使用されません。 - Antigravity CLI:Antigravity CLI のはじめ方とGemini CLI からの移行を参照し、その後
agyを実行してログインします。 - Grok(xAI):インストールする CLI はありません。ブリッジはプラグインに同梱されています(Node 18 以降が必要です)。
XAI_API_KEYを設定してください(キーは https://console.x.ai で取得できます)。 - OpenRouter:CLI はありません。ブリッジはプラグインに同梱されています(Node 18 以降が必要です)。
OPENROUTER_API_KEYを設定し(キーは https://openrouter.ai/keys で取得できます)、その後~/.config/deliberation/config.json(Windows:%APPDATA%\deliberation\config.json。DELIBERATION_CONFIGで上書き可能)でモデルを宣言してください。OpenAI 互換のエンドポイント(Ollama、vLLM、LM Studio、HuggingFace Inference)であれば、どれでも動作します。キーの環境変数が空の場合、認証は自動的にスキップされます。推論コストとプロバイダーのルーティングを最適化するカスタム OpenRouter プリセット(例:cheapest-first)をサポートしています。
Windows に関する注意(CLI プロバイダー)。 Windows で npm install -g を実行すると、実行ファイルではなく codex.cmd シムがインストールされます。また、Node は .cmd を直接起動できないため、これまでは GPT の呼び出しが spawn エラーだけで失敗していました。deliberation は CLI 自体を解決するようになりました(PATHEXT を使い、見つからない場合はパッケージ独自のエントリーポイントにフォールバックします)。また、シェルを介さずに実行します。お使いのマシンで解決できない場合は、CODEX_BIN(GPT)または AGY_BIN(Gemini)に実際の実行ファイルを指定してください。Grok と OpenRouter は HTTP ブリッジであり、何も spawn しないため影響を受けません。
Claude Code on the web に関する注意。 Web ホストはすべての MCP ツール呼び出しを 60 秒に制限します(MCP_TOOL_TIMEOUT=60000)。プラグインのマニフェストではサーバーごとにこの値を上書きします。各 deliberation サーバーは "timeout": 1800000(30 分。Claude Code はこれを MCP_TOOL_TIMEOUT より優先して適用します)を宣言し、サーバーの環境変数にも同じ値を設定することで、プラグイン独自の上限が実際の上限に追従するようにしています。環境変数の設定は不要です。メッセージに MCP_TOOL_TIMEOUT=60000 と表示される timeout 結果が返る場合は、プラグインのインストールが古いため、claude plugin update deliberation@antonbabenko を実行して新しいセッションを開始してください。/deliberation:doctor は上限、codex の認証情報、agy が見つからない場合はその旨を報告します。パネルは応答できないプロバイダーを待たずにスキップします(panel.unavailable)。GPT では、ノート PC の ~/.codex/auth.json をコンテナーにコピーしないでください。ChatGPT ログインのリフレッシュトークンは1回しか使用できないため、どちらかが更新すると、もう一方のコピーが使えなくなります。Plus/Pro では、セッション中の最初の GPT 呼び出し時に codex login --device-auth が開始され、リンクとコードが表示されます(ホストが対応している場合はダイアログに、それ以外の場合は結果に表示されます)。認証を承認すると GPT が応答します。Business/Enterprise では、CODEX_ACCESS_TOKEN を設定してください。SETUP.md を参照してください。
コマンド
Claude Code プラグインに同梱されています(インストール後に利用可能です。OpenCode では ask-*、consensus、analyze コマンドが利用でき、それ以外のすべてのホストでは対応する MCP ツールを直接呼び出します)。
| コマンド | 用途 |
|---|---|
/deliberation:setup | Codex/Gemini/Grok/OpenRouter の MCP サーバーとオーケストレーションルールを設定します |
/deliberation:help | お使いのホストで deliberation を使用する方法と、すぐに貼り付けて使えるプロンプトの例を表示します |
/deliberation:doctor | 設定、プロバイダーの CLI、セッション/デバッグ、パスのずれを確認し、修正方法を提示します。読み取り専用です |
/deliberation:dashboard | ローカルの読み取り専用ダッシュボードを起動し(ライブ状態グラフ、履歴、設定、ヘルス、統計、アナライザーを表示)、URL を出力します。restart を指定すると停止して新しい URL を出力します。dashboard.enabled と同じマシン上のブラウザーが必要です |
/deliberation:codex-login | ChatGPT のデバイスログインで、このマシン上の GPT(Codex)にログインします。リンクとコードが表示されます。ウェブおよびヘッドレスのセッションに対応しています |
/deliberation:consensus | 🔥🔥🔥 アービターが仲介する GPT + Gemini + Grok + Claude の収束ループ |
/deliberation:ask-all | GPT + Gemini + Grok(+ 設定済みの OpenRouter モデル)に並列で問い合わせ、回答を統合します |
/deliberation:ask-gpt | GPT(Codex)による一度限りのセカンドオピニオン |
/deliberation:ask-gemini | Gemini による一度限りのセカンドオピニオン |
/deliberation:ask-grok | Grok(xAI)による一度限りのセカンドオピニオン(助言のみ) |
/deliberation:ask-openrouter | OpenRouter モデルによる一度限りのセカンドオピニオン(助言のみ) |
/deliberation:analyze | 最近の実行(レイテンシ、トークン数、判定の一致度)を分析し、モデル/推論/ファンアウトの調整を提案します(助言のみ) |
/deliberation:uninstall | MCP の設定、ルール、エイリアスを削除します |
/deliberation:grok-files | Grok がアップロードしたファイルを一覧表示、整理、または GC します(ストレージとローカルキャッシュのクリーンアップ) |
/deliberation:reload-mcp | 更新後、ダッシュボードのデーモンを正常に再起動し、MCP プロセスを監査します |
/setup では、短いエイリアス(/ask-gpt、/ask-gemini、/ask-grok、/ask-openrouter、/ask-all、/consensus)を ~/.claude/commands/ にインストールすることもできます。これはオプトインです。既存の同名コマンドはデフォルトで保持され、setup は上書きする前に確認します。/deliberation:uninstall は、同梱のコピーとバイト単位で完全に一致する場合にのみエイリアスを削除します。
analyze は意図的に除外されています。/analyze は一般的な名前であり、そのままコピーすると、同じコマンドを提供するほかのプラグインと競合します。常に利用できる /deliberation:analyze を使用してください。以前の setup で ~/.claude/commands/analyze.md がインストールされている場合、setup は削除できるよう、そのパスを表示します。/deliberation:uninstall も analyze を一覧表示しますが、バイト単位の完全一致チェックでは現在の同梱ファイルのコピーのみが対象です。古いリリースからコピーされたエイリアスは一致しないため、推測で削除せず、そのまま残します。
エキスパート
| エキスパート | 対応内容 | トリガーの例 |
|---|---|---|
| アーキテクト | システム設計、トレードオフ、複雑なデバッグ | 「どのような構成にすべきですか?」/「どんなトレードオフがありますか?」 |
| 計画レビュアー | 着手前に計画を検証します | 「この移行計画をレビューしてください」/「このアプローチで問題ありませんか?」 |
| スコープアナリスト | 曖昧な点を早期に見つけます | 「見落としている点はありますか?」/「スコープを明確にしてください」 |
| コードレビュアー | バグを見つけ、品質を向上させます | 「この PR をレビューしてください」/「何が問題ですか?」 |
| セキュリティアナリスト | 脆弱性、脅威モデリング | 「これは安全ですか?」/「このエンドポイントを強化してください」 |
| リサーチャー | 外部ライブラリ、ドキュメント、ベストプラクティス | 「X の使い方を教えてください」/「Y の例を探してください」 |
| デバッガー | 根本原因の分析、最小限の修正 | 「なぜクラッシュするのですか?」/「この失敗するテストをデバッグしてください」 |
| ライティングエディター | あなたが書いたように自然に読める文章 | 「このローンチ記事を編集してください」/「この README の導入文はありきたりです」 |
専門家に相談すると特に役立つ場面
- アーキテクチャの判断 - 「Redis とインメモリキャッシュのどちらを使うべきですか?」
- デバッグで行き詰まったとき - 2 回以上試しても解決しない場合は、新たな視点を得ます
- 実装前 - コードを書く前に計画を検証します
- セキュリティ上の懸念 - 「この認証フローは安全ですか?」
- コード品質 - 実装についてセカンドオピニオンを得ます
専門家に相談しなくてもよい場面
- 簡単なファイル操作(Claude が直接処理します)
- 修正を初めて試すとき(まず自分で試してください)
- 些細な質問(委任する必要はありません)
自分らしい声で書く
Writing Editor は、エージェントがあなたの名前で公開する文章(投稿、記事、ニュースレター、リリースノート、README の紹介文、PR の説明、プロフィール、講演概要)を作成、レビュー、更新するたびに動作します。まずエージェントが下書きを作成し、あなたが確認する前にエディターが下書きをチェックします。行単位の修正、文章に必要だがあなたにしか分からない情報についての質問、すべての事実を保った書き直しを返します。大切な文章の場合は、下書きに対して /consensus を実行すると、パネルが writing-editor ペルソナでレビューします。
エディターには、あなたの書き方を示す根拠が必要です。それがなければ、冗長な表現を削ることしかできません。短い文体ファイルが最も役立ちます。リポジトリに置き、「docs/voice.md にある自分の文体ファイルを使って」のように指定してください。
# <Your name> - voice
## How to use this file
- These rules beat any default style rule.
- Samples show rhythm only. Do not copy their phrases.
- Never invent a fact, number, person, customer, or quote.
## What I argue from
- 3-7 beliefs you keep coming back to, in your words.
## Mechanics
- "I" or "we", contractions or full forms, sentence length mix.
- Name the specific thing. A number beats an adjective, and every number needs a source.
- Typography you use (dashes, quotes, heading case).
## Moves
| Move | Use only when | My own example |
|------|---------------|----------------|
| <a habit of yours> | <the condition> | "<a real line you wrote>" |
At most one move per short post.
## Would sound wrong
| Wrong | Why |
|-------|-----|
| "Thrilled to share" | Launch voice. Say what shipped. |
| "Here's the thing", "Sound familiar?" | Run-up. Start with the thing itself. |
| A one-line quotable closer | End on the last concrete fact. |
## Channels
- LinkedIn: the hook fits before the "see more" cut, 1-3 sentence paragraphs, no closing question.
- Blog: ...
## Samples (rhythm only)
- 5-10 short lines you wrote yourself: posts, replies, talk transcripts.
ファイルの中でも、特に効果が大きいのは 2 つの部分です。それぞれの特徴には条件が付いているため、エディターがすべての投稿にあなたの決まり文句を貼り付けることはありません(使いすぎた癖も機械的に見えてしまいます)。「使うと不自然に聞こえる」表には、あなたなら決して書かない表現を記載します。下書きを手作業で編集したら、変更した文体をルールとしてファイルに追加してください。
モデルの選び方:
-
複数のモデルファミリーでレビューします。
writing-editorペルソナで/consensusを実行すると、コンセンサスパネルのすべてのモデルに下書きが送られます。異なるファミリーのレビュアーは、異なる特徴を指摘する傾向があります(あるモデルは文章全体の流れを捉え、別のモデルはあなたが主張していない内容を見つけます)。 -
書き直し用には専用のモデルレコードを用意します。
writing-editorのみに制限されたレコードは文章のレビューだけに参加するため、その設定がコードレビューに影響しません。レビューで一般的な 0.2 よりも高い温度を、文章作成には設定してください。ベンチマークスコアではなく、自分のサンプルを使って書かせた結果を読んでモデルを選びます。"models": { "prose": { "provider": "openrouter", "model": "<provider/model whose prose you like>", "experts": ["writing-editor"], "consensus": true, "temperature": 0.7 } } -
書き直しをファイルに書き戻せるのは Gemini だけです(実装モード)。ほかのモデルはテキストとして返します。
エディターはテキストの「AI らしさ」を採点せず、検出ツールの結果も保証しません。また、文章を人間らしく見せるために誤字や文法の誤りを加えることもありません。
使い方
タスクを説明してください。エージェントは専門家の支援が役立つ場面を検出し、自動的に委任します(例では Claude Code を使っています)。
You: "Is this authentication flow secure?"
Claude: routes to the Security Analyst, then synthesizes the findings.
「このアーキテクチャを GPT にレビューしてもらって」「Gemini に……を頼んで」「Grok に……を頼んで」のように、明示的に依頼することもできます。各専門家は分析のため読み取り専用で実行されます。Gemini は書き込み権限を付与して修正を適用することもでき、エージェントは依頼内容に応じてモードを選びます。
または、スラッシュコマンドを直接実行します。上記の「コマンド」を参照してください。
/consensus と /ask-* がモデルの公正さを保つ仕組み
このセクションでは Claude Code のコマンド名を使い、「Claude」は実行を統括するホストエージェントを指します。ほかのホストでは、同じルールのもとで consensus-step ツールを介して独自のエージェントがその役割を担います(またはサーバーが consensus を使って担います)。
/ask-gpt、/ask-gemini、/ask-grok、/ask-all は手軽なコマンドです。それぞれ 1 つまたは 3 つの外部モデルに依頼し、Claude が出力を読み、統合された回答を 1 つ返します。1 回限りで、ループも相互レビューもありません。
/consensus は本格的なコマンドです。同じように並行して依頼しますが、相互レビューの段階と、モデルが合意するまで続く複数回のループがあります。その代わり、オーケストレーター(Claude)がレビュー用プロンプトを書き、投票し、どの異議が妥当かを判断して、ループを実行します。このままでは、仕組み上、自らの計画を知らず知らずのうちに追認してしまうおそれがあります。それを防ぐために、4 つのガードを設けています。
4つのガード:
- ブラインド判定。 Claude は、パネルを呼び出すメッセージより前に送信するメッセージで、独自の判定(APPROVE / REQUEST CHANGES / REJECT)を投稿します。この事前コミットメントはトランスクリプトに記録されるため、Claude は他のモデルの判定を見た後に意見を変えることができません。エンジンがこれを強制し、ブラインド判定が記録されるまでパネルを公開しません。
- ピアレビュー。 各外部モデルが独立して計画をレビューし、判定と分類された重大な問題を返します。Claude は裁定者としてそれらを評価します。モデルが投票し、Claude が裁定します。
- 自己承認の禁止。 応答したすべての外部モデルが承認し、かつ少なくとも1つの外部モデルが実際に回答した場合にのみ、ラウンドは収束します。Claude 自身の承認だけでラウンドが成立することはありません。エラーになったプロバイダー(たとえば、認証が設定されていない Grok が
missing-authを返す場合)は、ループを停止させるのではなく、集計対象から除外されます。 - 黙って却下しない。 却下または保留された重大な問題にはすべて、最終レポートに1行の理由が記載されます。Claude が自身のブラインド判定で指摘した問題を撤回する場合も同様です。理由なしで問題を却下する裁定は、エンジンが拒否します。
/ask-* コマンドにも、同じルールを簡略化した形で適用します。外部モデルは助言のみを行います。Claude が出力を読み、自身の判断を適用し、統合した回答に責任を持ちます。モデル間で意見が一致した場合も、それは判断材料であり、最終判定ではありません。
各委任プロンプトには、今日の UTC 日付と、認識していないモデル、ツール、バージョンを記憶だけで存在しないと断定しないためのルールも含まれています。数か月前のデータでトレーニングされたモデルは、そのような主張を重大な問題として報告するのではなく、[unverified] とマークします。実際の事実を調べる役割は、ツールを持つ Claude が担います。Grok と OpenRouter にはツールがありません。TECHNICAL.md を参照してください。
詳細:1回の /consensus ラウンドの実際の進行方法
/consensus は、コアの収束エンジン(core/consensus-loop.js)を呼び出す薄いドライバーです。ラウンド数のカウント、収束ルール、設定可能な最大ラウンド数、履歴、信頼度ラベルといったループの仕組みは、コマンドではなくエンジンにあります。各ラウンドは次のように進みます。
- ブラインド判定。 Claude はパネルが公開される前に、自身の判定を(トランスクリプトに記録される形で)確定します。エンジンはこの判定を条件としてパネルを公開します。
- パネルレビュー。 GPT、Gemini、Grok(および設定済みの OpenRouter 委任先)が並行して計画をレビューし、APPROVE / REQUEST CHANGES / REJECT と分類された重大な問題を返します。サーバーが各判定を解析します。
- 裁定者による裁定と修正。 Claude はパネルの判定と自身のブラインド判定をすり合わせます。各重大な問題について、受け入れる、却下する(理由が必要)、または保留する、のいずれかを選び、その後、次のラウンドに向けて計画を修正します。
少なくとも1つの応答した外部モデルが承認し、却下するモデルがなく、受け入れられた重大な問題がゼロで、Claude が APPROVE と裁定した場合にループは収束します。これにより、Claude が自己承認できないようになっています。それ以外の場合、consensus.maxRounds(デフォルトは5、変更可能)に達すると unresolved として停止します。信頼度ラベルは、収束までの速さを示します(ラウンド1=高、2~3=中、4~5=低)。
ラウンドでコストが発生するのは、まだ回答できるモデルに対してのみです。2ラウンド連続で失敗したピアはパネルから除外され(droppedProviders として1回報告された後、再度呼び出されることはありません)、ループ全体は次のラウンドを開始するのではなく、consensus.maxWallMs(デフォルトは30分)に達すると停止します。これらはすべてのドライバーに適用されます。TECHNICAL.md を参照してください。
同じエンジンは、他のホストで使用されるエントリーポイントも支えています。consensus ツールは(プロバイダー裁定者とともに、サーバー側で1回の呼び出しでループ全体を実行するか、synthesizeAlways:true を指定して1回の統合処理を行い)、consensus-step は(呼び出しごとに1アクションずつ、自分でループを進めます)。分類体系とエンジンの仕様については、TECHNICAL.md を参照してください。
設定
セットアップと設定の詳細については、SETUP.md をご覧ください。次の内容を説明しています。
- エキスパートモード - アドバイザリ(
read-only)と実装(workspace-write)の各モード。リクエストに応じて自動的に選択されます - 設定ファイル - 保存場所(
~/.config/deliberation/config.json)、DELIBERATION_CONFIGによる上書き、ホットリロード - 設定セクション -
providers、models、routing、consensus、sessions、debug、orientation、dashboardと、最小限の設定例 - OpenRouter モデル - レコードの宣言、
askAll/consensusの対象モデル設定、ファンアウト、reasoningEffort、アービターの選択。consensusではラウンド上限(maxRounds)と実行時間の予算(maxWallMs、デフォルトは 30 分)も設定します - GPT モデルと推論労力 -
providers.codex.modelとproviders.codex.reasoningEffortにより、codex execの実行内容を固定します。~/.codex/config.tomlの設定より優先されます - タイムアウト -
providers.defaults.timeoutは、すべてのプロバイダーの呼び出しごとの上限を一度に引き上げます。providers.<name>.timeoutは個別のプロバイダーを上書きし、固定されたモデルのmodels.<id>.timeoutがある場合は、そちらがさらに優先されます。ホスト側の上限(Claude Code on the web が設定するMCP_TOOL_TIMEOUT)はこれらすべてを制限し、タイムアウトメッセージにもその値が表示されます。レート制限(HTTP 429)された呼び出しは、上流のRetry-Afterに従って 1 回再試行されます - デバッグログ - オプトインで、レイテンシ、トークン、投票のトレースを記録します
- セッションの永続化 - オプトインで、ディスク上に実行履歴(ホスト主導の
/consensusループを含む)を保存し、session-*ツールを使用できます。sessions.captureText(デフォルトではオフ)を有効にすると、プロバイダーのレスポンス本文もサニタイズして保存します - ダッシュボード - オプトインで、実行中および過去の実行を状態グラフとして表示する、ローカルの読み取り専用ブラウザービューを利用できます。設定、プロバイダーの健全性、使用状況の統計も表示します。
dashboard.captureでは、メタデータのみ(デフォルト)を記録するか、プロンプトとレスポンスをすべて記録するかを選択します。書き込み時にシークレットをサニタイズし、dashboard.showPIIが有効でない限り、提供時に個人識別情報(PII)をマスキングします。ループバック接続のみを受け付け、トークンで保護されています。すべての実行にプロジェクトが記録され(Git リモートのorg/repoごとにグループ化され、呼び出し元のチェックアウト先がワークスペースになります)、すべてのプロバイダー呼び出しにリクエストサイズと実際に適用されたタイムアウトが記録されます。Analyzer タブでは、これらの情報から除外候補とタイムアウトに関する推奨事項を提示します。/deliberation:dashboardまたはdeliberation-mcp dashboardで起動し、/deliberation:dashboard restartまたはnpm run dashboard:restartで再起動し、deliberation-mcp dashboard --stopで停止します
テレメトリが有効な場合、設定履歴にはサニタイズ済みの有効な設定スナップショットと実行の出所が記録されます。ダッシュボードの Stats では、分析時間と設定のフィルターを共有します。Config には、Ask と Consensus の推論労力が個別に表示され、実行時に観測されたアクティブ/保留中の設定も表示されます。並列ピアでは、ホストおよびコンセンサスの予算内で、選択されたタイムアウトのうち最も長いものが共有されます(routing.timeoutPolicy: "per-provider" でこの動作を無効にできます)。ダッシュボードのログ記録を使用しない場合でも、パネルの fanoutId をすべての段階的な ask-one に渡すことで、設定を固定し、期限を共有できます。履歴コホートを調べるには analyze {groupBy:"config", since:"24h"} を使用します。必要に応じて、完全な configId または activationId で絞り込めます。
プロバイダーの内部処理、環境変数、MCP の手動セットアップについては、TECHNICAL.md をご覧ください。
作者
Anton Babenko がメンテナンスしています - LinkedIn、X/Twitter。
コントリビューション
コントリビューションを歓迎します。ワークフロー、コミットの規約、自動リリースの手順については、CONTRIBUTING.md をご覧ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。