argue について
argueは、重要なトレードオフを伴う判断のためのマルチエージェント討論ツールです。複数エージェントが独立分析と相互検証を行い、合意後に後続タスクを実行できます。
主な機能
- 01複数エージェントによる独立分析と討論
- 02参加者と討論ラウンドの設定
- 03合意のしきい値設定
- 04構造化された結果とレポートの生成
- 05合意後のアクション実行
活用シーン
- 01アーキテクチャ案とトレードオフの比較
- 02重要な判断に伴うリスクの分析
- 03コードレビューの合意に基づく変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ onevcat/ argue --skill argueインストール後、Claude Code で/argueを入力して読み込まれたか確認します。
同梱ファイルreferences/setup.mdreferences/troubleshooting.md
詳細
Argue — マルチエージェント・ディベートエンジン
AI エージェントが独立して分析し、複数ラウンドにわたって相互に質問し、投票によって合意に至る構造化されたディベートです。単一のモデルだけを使う場合よりも、確信度の高い回答を得られます。
使用する場面
✅ 現実的なトレードオフを伴う戦略的/アーキテクチャ上の意思決定、現実的な影響を伴う「X と Y のどちらにすべきか」という問い、リスク分析、確証バイアスの軽減、大きな決定に対する事前コミットの品質ゲート。
❌ 単純な事実確認、時間に制約のあるタスク(ディベートには 3~7 分かかります)、自由形式の創作、答えが明白な質問。
事前準備
argue が PATH にない場合はインストールします(グローバルインストールのため、先にユーザーに確認してください)。
npm install -g @onevcat/argue-cli
次に、確認して設定します。
argue version # verify installed (v0.2+)
argue config init --global # ~/.config/argue/config.json — recommended for agent use
# Add at least 2 agents — `--agent <id>` shorthand creates provider + agent in one shot
argue config add-provider --id codex --type cli --cli-type codex --model-id gpt-5.4 --agent codex-agent
argue config add-provider --id gemini --type cli --cli-type gemini --model-id gemini-3.1-pro-preview --agent gemini-agent
デフォルトでグローバルに設定する理由:グローバル設定は一度設定すれば、どの cwd からでも使えます。また、出力は現在のプロジェクトツリーを散らかすことなく ~/.argue/output/<requestId>/ に保存されます。特定のプロジェクト専用のエージェント構成が必要な場合に限り、argue config init --local を使ってください。このコマンドは ./argue.config.json を作成し、出力先を ./out/<requestId>/ にします。
API プロバイダー、SDK アダプター、ロール、システムプロンプトについては、references/setup.md を参照してください。
ディベートの実行
# Basic — 2 agents, 2-3 rounds, auto-consensus
argue run --task "Should we use a monorepo or polyrepo?" --verbose
# With a follow-up action: representative executes once consensus is reached
argue run \
--task "Review the API design in docs/api.md" \
--action "Implement the consensus recommendation and open a PR" \
--verbose
# Open the rendered report in the hosted viewer when the run finishes
argue run --task "..." --view
便利なフラグ(すべてのフラグについては argue --help を参照してください)。
| フラグ | 目的 |
|---|---|
--agents a,b | ディベートに参加するエージェントを選択します(デフォルトは設定の defaults.defaultAgents、未設定の場合は設定済みのすべてのエージェントです) |
--min-participants <n> | 続行に必要な参加者の最低人数を指定します(デフォルト:2) |
--on-insufficient-participants interrupt|fail | 参加者が少なすぎる場合に、interrupted を出力する(デフォルト)か、即座に失敗させるかを指定します |
--min-rounds / --max-rounds | ディベートの深さを制御します(デフォルト:2 / 3) |
--threshold <0..1> | 合意のしきい値を指定します(デフォルト:1=全会一致) |
--action <prompt> | 合意後にタスクを実行します |
--view / --viewer-url <url> | レポートをホスト型ビューアーで開きます |
--input <file> | 複雑な設定用の JSON 入力を指定します |
--verbose / -v | エージェントの推論をリアルタイムでストリーミングします |
ディベートは通常、2 エージェント × 3 ラウンドで 3~7 分かかります。デフォルトの上限は、1 ラウンドあたり 20 分です(デフォルトではラウンド上限を参照するため、タスクあたりの上限も同じです)。大規模なレビューでは --per-round-timeout-ms の値を増やしてください。
結果の表示と活用
実行が完了すると、argue はリクエスト ID とビューアーのヒントを出力します。いつでも開けます。
argue view # most recent run
argue view <request-id> # specific run
ホスト型ビューアーは result.json を完全にクライアント側でレンダリングします(gzip と base64url を URL フラグメントに格納するため、何もアップロードされません)。セルフホスト型ビューアーを指定するには --viewer-url を使用してください。
ディベートの結果をコンテキストとして、後続タスクを実行するには:
argue act --result ~/.argue/output/<requestId>/result.json --task "Write a summary blog post"
argue act --result ./out/<requestId>/result.json --task "Implement the changes" --agent codex-agent
出力ファイル
実行のたびに、argue は ~/.argue/output/<requestId>/(グローバル設定)または ./out/<requestId>/(プロジェクトローカル設定)に次のファイルを書き込みます。
result.json— 構造化された完全な結果summary.md— Markdown レポート(完了時に書き込み)events.jsonl— イベントストリーム(実行中に書き込まれ、クラッシュしても残ります。実行が強制終了された場合は、部分的な結果を得るために解析してください)error.json— エラーの詳細(失敗時のみ)
結果のステータス:consensus | partial_consensus | unresolved | interrupted | failed。
議論の参加者数が必要数を下回った場合は、後続のツールでも構造化された結果を利用できるよう、デフォルトの interrupted 経路を優先してください。呼び出し元が従来のハード失敗の動作を明示的に必要としている場合に限り、onInsufficientParticipants: "fail" を強制してください。
result.json をプログラムで解析する必要がある場合は、正規のスキーマを packages/argue/src/contracts/result.ts で確認できます。
ヒント
- トピックではなく、意思決定として提示してください。「SwiftUI について教えてください」よりも「SwiftUI と UIKit のどちらを使うべきですか?」のほうが適しています。
- コンテキストを追加してください。「モノレポを使うべきですか? コンテキスト:マイクロサービス 8 個、チーム 3 つ、Node+Go」とすると、より明確な主張が得られます。
- エージェントは 2~3 個が最適です。同じラウンドのエージェントは並列に実行されるため、経過時間はエージェント数よりもラウンド数に左右されます。エージェントを増やしても、所要時間はほとんど増えません。実際のコストはトークンです。エージェントを 1 つ追加するたびに、そのエージェント自身の主張が増えるだけでなく、他のすべてのエージェントがピアのコンテキストとしてそれを読む必要があるため、トークン使用量はおよそ N² に比例して増加します。ユーザーの設定に 3 個を超えるエージェントがある場合は、対象を絞ったサブセットを選ぶために
--agents a,b,cを明示的に渡すか、設定ファイルで一度defaults.defaultAgentsを設定してください。 - コンセンサスによってコード変更やその他の現実世界への副作用を伴う処理を行う場合は、
--actionを使用してください。
トラブルシューティング
よくあるエラーとその解決方法については、references/troubleshooting.md を参照してください。