بنقرة واحدة
llm-backend
LLMバックエンド設定やマルチLLMモードの設定時に使用。Claude/Gemini/Copilot/OpenCodeの切り替えやワーカー個別設定時に参照。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
LLMバックエンド設定やマルチLLMモードの設定時に使用。Claude/Gemini/Copilot/OpenCodeの切り替えやワーカー個別設定時に参照。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | llm-backend |
| description | LLMバックエンド設定やマルチLLMモードの設定時に使用。Claude/Gemini/Copilot/OpenCodeの切り替えやワーカー個別設定時に参照。 |
| disable-model-invocation | true |
| user-invocable | false |
複数のLLMバックエンド(Claude、Gemini、Copilot、OpenCode)をサポートし、環境変数 LLM_BACKEND で実行時に切り替え可能。
エージェント階層(ヤドキング/ヤドラン/ヤドン)に応じたモデル階層(coordinator/manager/worker)の最適なモデルを自動選択。
このスキルは、ヤドン・エージェントシステムにおけるLLMバックエンド管理の詳細情報を提供します。 以下の場面で参照してください:
config/llm.py と infra/claude_runner.py の修正が必要YADON_N_BACKEND > --multi-llm > LLM_BACKEND > デフォルト| バックエンド | コマンド | Coordinator | Manager | Worker | 説明 |
|---|---|---|---|---|---|
| claude (デフォルト) | claude | opus | sonnet | haiku | Anthropic Claude CLI |
| claude-opus | claude | opus | opus | opus | Anthropic Claude CLI (All Opus) |
| gemini | gemini | gemini-3.0-pro | gemini-3.0-flash | gemini-3.0-flash | Google Gemini CLI |
| copilot | copilot | gpt-5.2 | gpt-5.2-mini | gpt-5.2-mini | Microsoft Copilot CLI |
| opencode | opencode | kimi/kimi-k2.5 | kimi/kimi-k2.5 | kimi/kimi-k2.5 | OpenCode Framework |
yadon start [作業ディレクトリ]
LLM_BACKEND=gemini yadon start [作業ディレクトリ]
LLM_BACKEND=copilot yadon start [作業ディレクトリ]
LLM_BACKEND=opencode yadon start [作業ディレクトリ]
各バックエンドは以下の3つのモデル階層を定義:
config/llm.py は LLMバックエンド設定を一元管理するモジュール。
coordinator, manager, worker の3つのモデル名を格納batch_subcommand でバッチ実行時のサブコマンドを指定可能(例: "run -q")get_backend_name() — 環境変数 LLM_BACKEND からバックエンド名を取得(デフォルト: "claude")get_backend_config() — 現在のバックエンド設定オブジェクトを取得get_model_for_tier(tier) — 指定 tier ("coordinator"/"manager"/"worker") に対応するモデル名を取得infra/claude_runner.py は LLMRunnerPort の実装で、複数LLMバックエンドをサポート:
LLM_BACKEND 反映)-p フラグを自動追加(Claude/Gemini/Copilot)batch_subcommand に基づくサブコマンド追加対応LLM_BACKEND 環境変数に基づいて動的に対話モードコマンドを構築--model に対応 tier のモデル名を自動設定--system フラグによるシステムプロンプト指定対応--dangerously-skip-permissions 等)を自動追加claude --model opusgemini --model gemini-2.5-procopilot --model gpt-4odomain/ports/claude_port.py は後方互換エイリアスモジュール:
ClaudeRunnerPort = LLMRunnerPort
既存コードが ClaudeRunnerPort を参照している場合も、新しい LLMRunnerPort に統一名前付けされた。
from yadon_agents.config.llm import get_backend_name, get_backend_config, get_model_for_tier
# 現在のバックエンド名を取得
backend_name = get_backend_name() # "claude" / "gemini" / "copilot" / "opencode"
# バックエンド設定を取得
config = get_backend_config()
print(config.command) # "claude" / "gemini" / "copilot" / "opencode"
# 指定 tier のモデル名を取得
model = get_model_for_tier("coordinator") # "opus" / "gemini-3.0-pro" / "gpt-5.2" / "kimi/kimi-k2.5"
# デフォルト(Claude opus)
yadon start
# Gemini Pro で起動(cli.py で自動的に build_interactive_command() が LLM_BACKEND を読み取り)
LLM_BACKEND=gemini yadon start
# Copilot で起動
LLM_BACKEND=copilot yadon start
# OpenCode で起動
LLM_BACKEND=opencode yadon start
YADON_1_BACKEND, YADON_2_BACKEND, ... YADON_N_BACKEND 環境変数を使用して、各ワーカー(ヤドン1〜N)のバックエンドを個別に指定可能。未指定時はグローバル LLM_BACKEND 環境変数の値、さらに未設定時はデフォルト(claude)にフォールバック。
# ヤドン1はCopilot、ヤドン2はGemini、その他はデフォルト(Claude)で起動
YADON_1_BACKEND=copilot YADON_2_BACKEND=gemini yadon start
# ヤドン1〜4全てGeminiで起動
LLM_BACKEND=gemini yadon start
# ヤドン1はCopilot、ヤドン2は Copilot、ヤドン3はGeminiで起動
YADON_1_BACKEND=copilot YADON_2_BACKEND=copilot YADON_3_BACKEND=gemini yadon start
YADON_N_BACKEND 環境変数(ワーカー個別指定、最優先)LLM_BACKEND 環境変数(グローバル指定)claude(両方未設定時)# worker tier で Gemini バックエンドを使用
LLM_BACKEND=gemini AGENT_ROLE=yadon yadon start
LLM_BACKEND が無効な値の場合は自動的に "claude" にフォールバックLLMRunnerPort に依存し、具体的なLLM実装には依存しないLLMRunnerPort に注入することで、各バックエンドをシミュレート可能--model, --system フラグ等)で統一BACKEND_CONFIGS に新しい設定を追加するだけで実現可能cli.py:137 で build_interactive_command() が動的にバックエンドに応じたコマンドを構築。環境変数 LLM_BACKEND がそのまま反映される複数のLLMバックエンドを同時に活用する「マルチLLMモード」では、各ワーカーに異なるバックエンド・モデルを割り当てて並列実行することで、モデルの特性を組み合わせた最適化が可能です。
--multi-llm フラグで有効化:
# uv run を使用
uv run yadon start --multi-llm [作業ディレクトリ]
# または uvx で直接起動
uvx --from git+https://github.com/ida29/yadon-agents yadon start --multi-llm [作業ディレクトリ]
--multi-llm フラグ使用時、各ワーカーには以下の優先度でバックエンドが割り当てられます:
| ワーカー | バックエンド | Tier | モデル | 用途 |
|---|---|---|---|---|
| ヤドン1 | Copilot | worker | gpt-5.2-mini | 高速応答・軽量処理 |
| ヤドン2 | Gemini | worker | gemini-3.0-flash | 多言語対応・拡張性 |
| ヤドン3 | Claude | worker | opus | 安定性・一貫性 |
| ヤドン4 | OpenCode | worker | kimi/kimi-k2.5 | 専門領域最適化 |
| ヤドン5以上 | ローテーション | worker | (上記4つの繰り返し) | バランス分散 |
# 4ワーカーでマルチLLMモード起動(ヤドン1: Copilot、ヤドン2: Gemini、ヤドン3: Claude、ヤドン4: OpenCode)
yadon start --multi-llm
# ワーカー数6で起動(ヤドン5: Copilot ← ローテーション、ヤドン6: Gemini ← ローテーション)
YADON_COUNT=6 yadon start --multi-llm
# ワーカー数8で起動(完全ローテーション)
YADON_COUNT=8 yadon start --multi-llm /path/to/project
マルチLLMモード有効時の環境変数設定フロー(cli.py で自動実行):
--multi-llm フラグを検知YADON_N_BACKEND 環境変数を自動設定:
N % 4 == 1 → copilotN % 4 == 2 → geminiN % 4 == 3 → claudeN % 4 == 0 → opencodeYADON_N_BACKEND 指定がある場合は、その値を優先(オーバーライド)各ワーカーのバックエンド選択は、以下の優先度で決定されます:
1. YADON_N_BACKEND 環境変数(ワーカー個別指定)【最優先】
└─ 明示的に指定された場合、この値が必ず採用される
2. --multi-llm フラグによる自動割り当て(モードで自動設定)
└─ ワーカー番号の mod 4 によるローテーション(N % 4 で決定)
3. グローバル LLM_BACKEND 環境変数(全体的な指定)
└─ --multi-llm フラグが未指定時に全ワーカーに適用
4. デフォルト値:claude(未指定時)
└─ 上記すべて未設定時のフォールバック
重要: YADON_N_BACKEND が明示的に指定されている場合、--multi-llm による自動割り当てを オーバーライド します。
# ヤドン1だけは Copilot を強制、他は通常単一バックエンド(Claude)で起動
YADON_1_BACKEND=copilot yadon start
# => Y1: Copilot, Y2-N: Claude(デフォルト)
# ヤドン1を Gemini で強制し、その他はマルチLLMモードのローテーション【最優先かつマルチモード併用】
YADON_1_BACKEND=gemini yadon start --multi-llm
# => Y1: Gemini (explicit), Y2: Gemini (multi-llm), Y3: Claude (multi-llm), Y4: OpenCode (multi-llm)
# 注: Y1 は YADON_1_BACKEND=gemini が優先されるため Copilot にはならない(mod 4 = 1 では Copilot)
# ワーカー1と3を固定し、その他はマルチLLMモード
YADON_1_BACKEND=copilot YADON_3_BACKEND=claude yadon start --multi-llm
# => Y1: Copilot (explicit), Y2: Gemini (multi-llm), Y3: Claude (explicit), Y4: OpenCode (multi-llm)
# グローバル Gemini で統一し、ヤドン2-3 のみ Copilot への明示的オーバーライド
LLM_BACKEND=gemini YADON_2_BACKEND=copilot YADON_3_BACKEND=copilot yadon start
# => Y1-N: Gemini, ただし Y2,Y3: Copilot (explicit override)
# グローバル Claude で統一(--multi-llm フラグなし)
LLM_BACKEND=claude yadon start
# => Y1-N: Claude(全体統一)
# マルチLLMモード使用、ただしグローバルフォールバックを Copilot に設定
LLM_BACKEND=copilot yadon start --multi-llm
# => Y1: Copilot (multi-llm), Y2: Gemini (multi-llm), Y3: Claude (multi-llm), Y4: OpenCode (multi-llm)
# ワーカー5以上はローテーション継続、グローバルフォールバックは使用されない
--multi-llm フラグなしで通常起動した場合、単一 LLM_BACKEND 環境変数で全ワーカーを制御(従来の動作):
# グローバル Gemini バックエンド(全ワーカー共通)
LLM_BACKEND=gemini yadon start