このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版
実行モード(ローカル、クラウド、ハイブリッド、Council、Arena)
ステータス: 現行
対象範囲: 現在の状態
最終確認: 2026-09-12
所有者: ax-code runtime
AX Code は作業をローカル推論、ホスト型または CLI のプロバイダー、あるいはその両方(ハイブリッド)に置けます。また、重要な作業を接続済みの複数プロバイダーへ扇状に広げられます(合議レビューと、arena の N 個から最良)。このページは、それらのモードについて 出荷済み の挙動を文書化します。
信頼できる情報源
挙動が変わったときは、次と照合してください。
packages/ax-code/src/mode/— 純粋な方針、ハイブリッド、合議の集約、arena の順位、討論、予算、メモリ、worktree 方針、実装 arena の採点packages/ax-code/src/tool/council.ts— 複数プロバイダーの合議ツールpackages/ax-code/src/tool/arena.tsとarena-implement.ts— 計画と実装の arenapackages/ax-code/src/session/prompt/prompt-routing.ts—modes.defaultがhybridのときのハイブリッド配置packages/ax-code/src/config/schema-impl.ts—modesの設定スキーマpackages/ax-code/src/command/template/{council,arena}.txt—/councilと/arenaは既定のスラッシュメニューにあります
作業モードの選択(Agent | Council | Arena)
TUI と Desktop は、複数モデルの振り分けのための 作業モード コントロールを出します。既定は Agent です。
| UI の選択 | 自由テキストの送信がなるもの |
|---|---|
| Agent(既定) | 通常の単一エージェントプロンプト |
| Council | /council {your message} による複数プロバイダーのレビュー |
| Arena | /arena {your message} による複数モデルの N 個から最良 |
- TUI の既定の外装: フッターは Agent チップを 表示しません。実行モードとサンドボックスは残ります。
/work-mode(パレットの 作業モードを選ぶ)が明示的なピッカーを開きます。Agent、Council、Arena で、各行に費用と意味があります。使えないアンサンブル行は、理由付きで無効になります。 - 武装したアンサンブルの外装: Council または Arena を選んだあと、チップが現れます(
Council · 2。あとで使えなくなると中空のArena (off))。チップをクリックすると Agent に戻ります。新しいチャットは Agent にリセットされます。 - 利用可能性: モードが使えるのは、設定で有効で、選択可能なモデルを持つ接続済みプロバイダーが少なくとも 2 つあり、設定されたメンバー上限が 1 でないときです。チップとピッカー行は、プロバイダーの接続や切断に合わせてライブで更新されます。
- 送信前のヒント(TUI): 合議または arena が遮断されている、またはまだ確認中のとき、および使えるモードの初回使用時に、プロンプトの上に 1 行のヒントが出ます(例:
Council mode · up to 2 reviewers · advisory · approval on first use)。そのモードで送信が成功したあと、チップが状態として残り、ヒントは隠れます。選ばれたモードが使えないあいだの送信は、理由付きで 遮断 されます。下書きは保たれ、プロンプトが黙って単一モデル実行へ降格されることはありません。 - Desktop: コンポーザーのツールバーチップ(手動 / 自律の隣)。
- 明示的な
/councilと/arenaは書き換えられず、ワンショットの入口のままです。 - 専門家エージェント(architect、security など)は、別のエージェントピッカーに残ります。
配置モードの一覧
| モード | 何をするか | ワークスペースを変更するか | 既定 |
|---|---|---|---|
| local | AX Engine(または設定されたローカルプロバイダー)を優先 | はい(単一エージェント) | ローカルをピン留めしたとき、またはハイブリッドがローカルを置くとき |
| cloud | ホスト型または CLI のフロンティアプロバイダーを優先 | はい(単一エージェント) | ローカルが使えないとき |
| hybrid | 方針が、可用性、複雑さ、プライバシーからローカルかクラウドかを選ぶ | はい(単一経路) | modes.default: "hybrid" を設定 |
| council | 構造化されたレビューや設計を扇状に広げ、合意、多数、少数、単独を分類する | いいえ(助言) | ツール + /council、または作業モード = Council |
| arena | 複数モデルの計画比較、または worktree での実装の N 個から最良 | 計画: いいえ。実装: worktree の中だけ | オプトイン(modes.arena.enabled)+ 作業モード = Arena |
キーワードによる専門家振り分けと複雑さの階層(自動ルート を参照)は、ハイブリッド配置とアンサンブルモードに 直交 します。
モデルの 努力度 や思考レベル(高速、均衡、深い、最大)も直交します。それはモデルごとの推論予算であり、作業モードではありません。モデルの努力度 を参照してください。
設定
ax-code.json の中:
{
"modes": {
"default": "hybrid",
"hybrid": {
"preferLocalWhenAvailable": true,
"escalateOnHighComplexity": true,
"localProviderID": "ax-engine"
},
"council": {
"enabled": true,
"maxMembers": 3,
"timeoutMs": 180000,
"debateRounds": 0
},
"arena": {
"enabled": true,
"maxContestants": 3,
"strategy": "verify_first"
},
"budget": {
"maxEstimatedUsd": 0.5,
"estimatedUsdPerMember": 0.05
}
}
}
| フィールド | 意味 |
|---|---|
modes.default |
local | cloud | hybrid | arena | council。未設定のとき、単一経路の既定では、ローカルが方針の信号に合うならハイブリッド、そうでなければクラウドです。 |
modes.hybrid.* |
ローカルの優先、高い複雑さはクラウドへ昇格、ローカルプロバイダー ID |
modes.council.* |
有効化、メンバー上限、タイムアウト、推論モデルのタイムアウト倍率、メンバーごとのタイムアウト上書き、討論ラウンド、オプトインの議長と適応的な扇状展開(どちらも既定はオフ) |
modes.arena.enabled |
true でなければなりません。対象は arena ツールです(既定はオフ)。セッション途中の編集は、次のツール呼び出し(Config.getFresh)で拾われます。または arena ツールに enableIfDisabled: true を渡します。 |
modes.arena.strategy |
verify_first(実装に推奨)、diversity、または hybrid_score |
modes.arena.reasoningTimeoutScale |
推論能力を宣言するモデルの競技者に対するタイムアウト倍率(modes.council.reasoningTimeoutScale に戻り、その次は 3) |
modes.arena.memberTimeoutMs |
"providerID" または "providerID/modelID" をキーとする、競技者ごとの絶対タイムアウト上書き(modes.council.memberTimeoutMs に戻る) |
modes.arena.judge |
計画モードの、目隠しされたルーブリック判定者(既定: true) |
modes.ensembleLedger |
アンサンブル生成のためのローカル JSONL 呼び出し台帳(既定: true。SHA-256 のプロンプトハッシュのみ。本文なし。外部送信なし) |
modes.budget.* |
アンサンブルの扇状展開について、見積もり USD の失敗時閉鎖の上限 |
ハイブリッド配置
modes.default が hybrid で、利用者またはエージェントがモデルをピン留めしていないとき:
- ローカルプロバイダー(既定
ax-engine)に選択可能なモデルがある → 低いまたは中程度の複雑さでは local を優先します。 - 複雑さが 高い かつ
escalateOnHighComplexityが真 → cloud。 - プライバシーがローカルを要求し、ローカルが使える → local。
- ローカルが使えない → cloud。
複雑さは、自動ルートの複雑さ振り分けが有効なとき、low メッセージに対して既存の小型で高速なモデル経路を引き続き使います(自動ルート)。ハイブリッドはキーワードによる専門家振り分けを置き換えません。
ローカルモデルとメモリの案内は AX Engine のモデル選択 です。プロバイダー一覧は 対応プロバイダー です。
Council(合意モード)
ツール: council
スラッシュ: /council <question>
- 多様な接続済みプロバイダーを選びます(ファミリーの多様性。認識されない複数モデルゲートウェイでは、ファミリーはモデル ID に戻ります。結果メモリからの柔らかい偏りがあります)。
- 構造化されたレビューまたは設計のプロンプトを並列に扇状展開します。
- 問題を 合意(定足数における成功メンバーの全会一致。成功は少なくとも
max(2, ⌈2/3 × attempted⌉))、厳密な 多数(試行したメンバーの過半数)、少数(少なくとも 2)、単独 の階層へ集約します。所見は、試行したメンバーに対する支持を開示し(2/6)、カバレッジが低い報告は、合意ラベルに定足数が必要だと述べます。 - 任意の 討論ラウンド: ラウンドのあいだで共有される匿名(Chatham House)の統合。ブランドの帰属はありません。討論は 3 ラウンドを上限とし、収束すると早期に止まります。
- 助言 の Markdown 報告を返します。ファイルは編集しません。
そもそも実行するには、解決されたメンバーが少なくとも 2 つ必要です。それより少ないと、承認プロンプトやモデル呼び出しの前に、「メンバー不足」の事前検査で短絡します(明示的な同一ゲートウェイのモデル組は 2 と数えます)。意味のある合意階層には、成功したメンバーが少なくとも 2 つ引き続き必要です。そうでなければ報告は未完了と印が付きます。
証拠の受け入れ。 メンバーが受け取るのは、供給された質問と文脈だけです。呼び出し側のセッションを継承せず、要旨の中のパスからファイルを読みません。述べられたレビュー範囲に必要な要件、関係する差分、必要な元の断片、検証証拠を含めてください。
任意の context は、24,000 UTF-16 符号単位まで、そのまま受け付けられます。より大きい文脈は、メンバー推論の前に context_rejected を返します。AX Code が黙って短くすることは決してありません。レビューを明示的に範囲づけた要求へ分けるか、必要な証拠を残しつつ任意の背景を除いてください。
各ラウンドの前に、AX Code はプロンプト全体を 128,000 バイトのローカル上限と、解決された各メンバーの既知の入力およびコンテキスト上限と照合します。要求された出力とフォールバック指示に加え、スキーマと枠組みのために 2,048 トークンを予約します。入力サイズは、意図的に保守的な UTF-8 バイトの見積もりを使います。収まるはずのプロンプトを拒否することがあります。正確なトークナイザー数でも、プロバイダーの直列化についての保証でもありません。不明なモデル上限は開示され、ローカル上限の対象のままです。討論ラウンドが収まらない場合、結果は未完了となり、最後に完了したラウンドの報告を保持します。
contextAdmission はローカルのコンテキスト長の関門、供給されたサイズ、内容ダイジェストを記録します。promptBudget は完全な要求を別に検査します。推論の前に両方が合格しなければなりません。これらのフィールドは successfulMembers とは独立であり、意味的な完全性、ソースの鮮度、保証されたレビュー品質を確立しません。
タイムアウト。 各メンバーは modes.council.timeoutMs の下で走ります(既定 180000 ミリ秒)。推論能力を宣言するモデルは、その予算の modes.council.reasoningTimeoutScale 倍を得ます(既定 3 なので 540000 ミリ秒)。既知の遅いメンバー 1 つに、他の全員の待ちを膨らませずにより多くの時間を与えるには、絶対的な modes.council.memberTimeoutMs 上書きを設定します。キーは "providerID" または "providerID/modelID" です。正確なモデルキーがプロバイダー全体のキーに優先し、どちらも基準と倍率の計算に優先します。
{
"modes": {
"council": {
"memberTimeoutMs": { "deepseek/deepseek-v4-pro": 900000 }
}
}
}
ax-code.json は保護された設定ファイルです。エージェントは、変更を利用者に頼まなければなりません。
任意のレーン(既定はオフ)。 modes.council.chairman: true は、集約のあと(および討論ラウンドがあればそのあと)に、目隠しされた議長の統合呼び出しを 1 つ追加します。議長が受け取るのは匿名化された所見だけです(階層と支持数。メンバーの同一性は決して含みません)。判定、推奨される行動、異議の注記を返します。決定的な階層分けが主たる出力のままです。議長の失敗は開示され、致命的ではありません。modes.council.adaptive: true は 2 メンバーで扇状展開を始め、ラウンド 1 のカバレッジが定足数未満、または異議が実質的なあいだ、maxMembers まで 1 つずつ広げます。拡大のきっかけは、ハーネスが調整できる定数です。
使うとき
- 設計、セキュリティ、設計上のトレードオフ
- 複数モデルの一致が信頼を高める、重要なコードレビュー
- 利用者が複数モデル、または「第二の意見」のレビューを求めたとき
エージェントの作業手順(重要)
関係する証拠がそろったら、早めに council を、明示的に範囲づけた context の要旨とともに呼び出します。そのレビューと無関係な広い探索を避け、コード所見をメンバーに求める前に、必要な元の証拠を集めてください。利用者が合議または arena を求めた場合、アンサンブルツールが意図した主行動になるまで task_parallel は拒否されます。
使わないとき
- 些細な質問(遅延と費用)
- ローカル推論の外へ出してはならない、プライバシーに敏感なコード
- 接続されているプロバイダーが 1 つだけのとき
Arena(N 個から最良)
ツール: arena
スラッシュ: /arena <task>
必要: modes.arena.enabled: true、および接続済みプロバイダー上の異なる選択可能なモデルが 2 つ以上(共有ゲートウェイを含む)
証拠の受け入れ(合議と共有)。 任意の context は、24,000 UTF-16 符号単位まで、そのまま受け付けられます。より大きい文脈は、承認プロンプト、worktree の作成、モデル呼び出しのいずれよりも前に context_rejected を返します。AX Code が黙って短くすることは決してありません。タスクを明示的に範囲づけた要求へ分けるか、必要な証拠を残しつつ任意の背景を減らしてください。承認プロンプト自体が発火するのは、すべての無操作の事前検査(無効、文脈の受け入れ、実装の git 事前検査、予算、メンバー解決)が合格したあとだけです。
mode: "plan"(既定)
- 各競技者が、方針、手順、リスク、校正された自己評価のリスク点数を提案します(ワークスペースへの書き込みはありません)。
- 成功した提案が 2 つ以上あるとき、目隠しされたルーブリック判定者 の呼び出しが 1 回(最初に解決されたメンバー。同一性は除かれ、順序は無作為化)あり、各提案を要件カバレッジ、実現可能性、検証計画、リスク証拠で採点します(それぞれ 0–10。同点可)。ルーブリック合計(0–40)が主たる順位信号です。自己評価のリスクは表示専用のままです。判定者の失敗、または
modes.arena.judge: falseのときは、開示の注記付きで自己評価の採点へ戻ります。 - 順位は、まず検証階層、次に判定者またはリスクの点数、次にパッチ指紋の多様性です(純粋な人気度では決してありません)。計画の順位は助言であり、実行の検証ではありません。
- 助言のみです。
mode: "implement"
- 少なくとも 1 つのコミットがあり未コミットの変更がない主 git worktree を要求し、その正確なベースコミットを記録し、そのコミットから 競技者ごとに git worktree を作ります。
- 各 worktree で実装エージェントを走らせます。
- 各競技者の追跡対象と未追跡の変更を、エージェント自身が作ったコミットを含めて、永続ブランチのコミットへスナップショットします。
- 空でないパッチが捕捉されたあとだけ、検出されたプロジェクトの検証コマンド(型検査、テスト、lint)を走らせます。
- 既定では 検証優先 で順位づけます。勝てるのは、完了し、空でなく、検証に合格したパッチだけです。合格者のあいだでは、より低いリスクと多様なパッチを優先します。
- 自動マージはしません。 報告には、検査、マージ、または cherry-pick するための worktree パス、ブランチ、コミット範囲が含まれます。
実装 arena には git プロジェクトが必要です。
順位規則(研究に沿ったもの)
コード候補について: 検証が第一、多様性が第二、人気度は単独では決して使いません。
似た誤ったパッチへの素朴な多数決はアンチパターンです(人気度の罠)。
スラッシュコマンド
| コマンド | 目的 |
|---|---|
/council … |
複数プロバイダーの助言レビューを進める |
/arena … |
計画または実装の N 個から最良を進める |
安全性と費用
- サンドボックス / 自律 は、単一エージェントの作業に引き続き適用されます(サンドボックス、自律)。
- 合議と計画 arena はファイルを書きません。
- 実装 arena の書き手は worktree に隔離されます。汚れた主 worktree は拒否されるため、未コミットの入力が黙って省かれることはありません。
- アンサンブルの扇状展開は、プロバイダーへの送信と費用を掛け算します。
modes.budgetを使い、maxMembers/maxContestantsは小さく保ってください。予算の見積もりは最悪ケースを価格づけます。合議はメンバーあたり2 × (debateRounds + 1)回の呼び出し(スキーマのフォールバックと再試行)、計画 arena は競技者あたり 2 に平坦な判定者呼び出し 1 回を加え、実装 arena は文書化された軌道あたり 12 呼び出しの見積もりです。 - ローカル専用のアンサンブル呼び出し台帳(グローバル状態ディレクトリの
ensemble-calls.jsonl、上限 2 MB)は、生成ごとの結果を SHA-256 のプロンプトハッシュで記録します。プロンプト本文は決して記録せず、認証情報も決して記録せず、外部送信はありません。modes.ensembleLedger: falseで無効にします。 - 複数モデルの一致は 証拠であり、証明ではありません。出荷の前にテストを実行してください。
関連
- 自動ルート — 専門家キーワードと複雑さの階層
- 対応プロバイダー — クラウド、CLI、AX Engine
- AX Engine のモデル選択 — ローカルモデルの選択