mcpField
A
argue

argue

github.com/onevcatエージェントワークフロー282211 回インストール21 週間前に更新
リポジトリ

argue について

argueは、重要なトレードオフを伴う判断のためのマルチエージェント討論ツールです。複数エージェントが独立分析と相互検証を行い、合意後に後続タスクを実行できます。

主な機能

  1. 01複数エージェントによる独立分析と討論
  2. 02参加者と討論ラウンドの設定
  3. 03合意のしきい値設定
  4. 04構造化された結果とレポートの生成
  5. 05合意後のアクション実行

活用シーン

  1. 01アーキテクチャ案とトレードオフの比較
  2. 02重要な判断に伴うリスクの分析
  3. 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 で確認できます。

ヒント

  1. トピックではなく、意思決定として提示してください。「SwiftUI について教えてください」よりも「SwiftUI と UIKit のどちらを使うべきですか?」のほうが適しています。
  2. コンテキストを追加してください。「モノレポを使うべきですか? コンテキスト:マイクロサービス 8 個、チーム 3 つ、Node+Go」とすると、より明確な主張が得られます。
  3. エージェントは 2~3 個が最適です。同じラウンドのエージェントは並列に実行されるため、経過時間はエージェント数よりもラウンド数に左右されます。エージェントを増やしても、所要時間はほとんど増えません。実際のコストはトークンです。エージェントを 1 つ追加するたびに、そのエージェント自身の主張が増えるだけでなく、他のすべてのエージェントがピアのコンテキストとしてそれを読む必要があるため、トークン使用量はおよそ N² に比例して増加します。ユーザーの設定に 3 個を超えるエージェントがある場合は、対象を絞ったサブセットを選ぶために --agents a,b,c を明示的に渡すか、設定ファイルで一度 defaults.defaultAgents を設定してください。
  4. コンセンサスによってコード変更やその他の現実世界への副作用を伴う処理を行う場合は、--action を使用してください。

トラブルシューティング

よくあるエラーとその解決方法については、references/troubleshooting.md を参照してください。

コメント