delegation-core について
delegation-core は、実行タスクを外部 LLM サービスに委任するか、推論をローカルに保つかを判断するフレームワークです。タスクの適性評価、引き継ぎ計画、結果検証を行い、プロバイダーが使えない場合はローカル処理に切り替えます。
主な機能
- 01複雑さとコンテキストの評価
- 02委任の適性確認
- 03構造化された引き継ぎ計画
- 04結果検証と利用記録
- 05プロバイダー障害時のフォールバック
活用シーン
- 01一括抽出や要約の委任
- 02アーキテクチャ判断のローカル保持
- 03データを端末外に出せるかの確認
- 04プロバイダー障害時のローカル処理
MCP 対応
MCP サーバーを介した委任について説明しており、事前設定の認証情報を要するサービス向けの OAuth 設定や、claude.ai で設定したコネクターを扱います。本プロジェクトが MCP クライアントに提供する MCP サーバーについての記載はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill delegation-coreインストール後、Claude Code で/delegation-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
shared-shell-execution.mdmodules/cost-estimation.mdhandoff-patterns.mdprovider-onboarding.mdtask-assessment.mdtroubleshooting.mdreferences/execution-modes.md詳細
委任コアフレームワーク
概要
外部 LLM サービスにタスクを委任するタイミングと方法を判断するための手法です。基本原則は、実行を委任し、高度な推論は保持することです。
デフォルトの姿勢
委任は有効になっています。無効にするには、明示的な判断が必要です。
委任可能な作業に到達した召喚操作、ミッションフェーズ、ワークフローは、依頼されなくてもその作業を委任します。
委任可能とは、哲学の項で定義され、modules/task-assessment.mdで分類されているとおり、その作業が推論ではなく実行であることを意味します。
委任を無効にしたいオペレーターは、「委任を無効にする」項にある2つの場所のいずれかで、一度だけその旨を伝えます。
これは、以前の「委任すべき状況」を列挙する方式を逆転させたものです。その方式では、呼び出し側が委任を忘れずに行う必要がありました。 該当する状況自体は正しいため、現在は例外の一覧になっています。
ローカルで実行する場合
委任は、哲学で定める境界を越えません。 次のいずれかに該当する場合は、作業をローカルにとどめます。
- タスクが推論である場合:アーキテクチャ、設計、トレードオフ、判断。
- プロンプトやコンテキストに、マシンの外に出すべきではない秘密情報、認証情報、データが含まれている場合。
- オペレーターとターンごとにやり取りしながら進める必要がある場合。
- 事後に正しさを検証できない場合。
1つ目は常設の例外であり、Claude が行う作業の大半を対象としています。
残りは、modules/task-assessment.mdにすでに記載されている危険信号です。
委任を無効にする
設定方法は2つあり、環境変数の設定がファイルの設定より優先されます。
| 範囲 | 方法 | 効果 |
|---|---|---|
| 1回の実行 | CONJURE_DELEGATION=off | プロバイダーの確認も起動も行いません |
| 1台のマシン | ~/.claude/hooks/delegation/config.jsonの"enabled": false | キーが変更されるまで同様です |
CONJURE_DELEGATIONでは、大文字と小文字を区別せず、off、0、false、noと、それらの反対の値を受け付けます。
有効を示す値を設定すると、設定ファイルで無効にした委任が再び有効になるため、より狭い範囲の設定が優先されます。
無効化された委任機能は、fallback_reasonがdelegation_disabledの結果を返し、何も起動しません。そのため、オプトアウトしてもコストはかかりません。
プロバイダーから応答がない場合
smart_delegateはレジストリの順序に従って処理し、最初の有効な回答を返します。
プロバイダーが見つからない、認証されていない、失敗する、または空の標準出力を返す場合、そのプロバイダーを記録して次に進みます。
最後まで到達すると、fallback_reasonがproviders_exhaustedに設定され、各プロバイダーの動作を示すattemptsの履歴を含む結果を返します。
**その結果は、作業をローカルで行うための指示です。**内容を確認し、試したプロバイダーと応答がなかった理由を伝えてから、自分でタスクを実行してください。
エラーとして報告してそこで止めてはいけません。CLIがインストールされていないマシンは、このデフォルト設定では通常のケースであり、不具合ではありません。
フォールバックではなくプロバイダーからの応答を得たい場合は、プロバイダーごとの手順と、認証の問題に見えない失敗のパターンがmodules/provider-onboarding.mdに記載されています。
まずmake -C plugins/conjure delegate-doctorを実行してください。
哲学
**実行を委任し、推論は保持します。**Claude はアーキテクチャ、戦略、設計、レビューを担当します。外部 LLM はデータ処理、パターン抽出、一括操作、要約を行います。
委任の流れ
- タスクの評価:タスクの複雑さとコンテキストのサイズを分類します。
- 適合性の評価:前提条件とサービスへの適合性を確認します。
- 引き継ぎの計画:依頼内容をまとめ、計画を記録します。
- 実行と統合:委任を実行し、結果を検証して統合します。
簡易判断表
| 複雑さ | コンテキスト | 推奨 |
|---|---|---|
| 高 | 任意 | ローカルで実行 |
| 低 | 大 | 委任 |
| 低 | 小 | どちらでも可 |
複雑さが高い場合:アーキテクチャ、設計上の判断、トレードオフ、創造的な問題解決。
複雑さが低い場合:パターンの件数集計、一括抽出、定型コードの生成、要約。
詳細なワークフロー手順
1. タスク評価(delegation-core:task-assessed)
タスクを分類します:
- 分類基準については、
modules/task-assessment.mdを参照してください。 - トークン数の推定値を使ってしきい値を判断します。
- 判定マトリックスを適用します。
終了条件:複雑さのレベル、コンテキストサイズ、委任の推奨事項を含めて、タスクが分類されていること。
2. 適性評価(delegation-core:delegation-suitability)
前提条件を確認します:
- チェックリストについては、
modules/handoff-patterns.mdを参照してください。 modules/cost-estimation.mdを使って費用対効果を評価します。- 注意すべき兆候(セキュリティ、リアルタイムでの反復)を確認します。
終了条件:サービスの認証が完了し、クォータが確認され、費用が妥当であること。
3. 引き継ぎ計画(delegation-core:handoff-planned)
委任計画を作成します:
- 依頼テンプレートについては、
modules/handoff-patterns.mdを参照してください。 - サービス、コマンド、入力コンテキスト、期待する出力を記録します。
- 検証方法を定義します。
終了条件:委任計画が文書化されていること。
4. 実行と統合(delegation-core:results-integrated)
結果を実行して検証します:
- 委任を実行し、出力を取得します。
- 形式と正確性を検証します。
- 検証に合格した後にのみ統合します。
- 使用状況を記録します。
終了条件:結果の検証と統合が完了し、使用状況が記録されていること。
MCP 認証
OAuth クライアント認証情報(Claude Code 2.1.30+)
Dynamic Client Registrationに対応していないMCPサーバー(Slackなど)では、事前設定済みのOAuthクライアント認証情報を指定できます:
claude mcp add <server-name> --client-id <id> --client-secret <secret>
これにより、事前設定済みのOAuthを必要とするMCPサーバーを通じた委任ワークフローが可能になり、タスクの委任に利用できる外部サービスの範囲が広がります。
Claude.ai MCP コネクター(Claude Code 2.1.46+)
OAuthを手動で設定する代わりに、ユーザーはclaude.aiのclaude.ai/settings/connectorsでMCPサーバーを直接設定できます。claude.aiアカウントでログインすると、これらのコネクターはClaude Codeで自動的に利用可能になります。claude mcp addや認証情報の管理は不要です。ブラウザーで認証フローを実行できるため、複雑なOAuth要件があるサービスでも、より簡単に設定できる場合があります。
ファイルを変更する委任タスクでのワークツリー分離(Claude Code 2.1.49+)
ファイルを変更するタスクをサブエージェントに委任する場合は、エージェントのフロントマターでisolation: worktreeを指定し、各エージェントを一時的なgitワークツリーで実行してください。これにより、複数の委任エージェントが重複するパスで並行して動作する場合のファイル競合を防止できます。変更がなければワークツリーは自動的にクリーンアップされ、エージェントが変更を生成した場合は、コミットとともに保持されます。
# Agent frontmatter for isolated delegation
isolation: worktree
Leyline インフラストラクチャ
ConjureはLeylineインフラストラクチャを使用します:
| Leyline スキル | 用途 |
|---|---|
quota-management | サービスのクォータとしきい値を追跡します。 |
usage-logging | セッションを認識する監査証跡を記録します。 |
service-registry | サービス設定を一元管理します。 |
error-patterns | 一貫性のあるエラー処理を行います。 |
authentication-patterns | 認証を検証します。 |
Leylineとの連携例については、modules/cost-estimation.mdを参照してください。
サービス固有のスキル
サービスごとの詳しいワークフローについては、以下を参照してください:
Skill(conjure:gemini-delegation):Gemini CLIの詳細。Skill(conjure:qwen-delegation):Qwen MCPの詳細。Skill(conjure:minimax-delegation):MiniMax CLIの詳細。Skill(conjure:glm-delegation):Z.aiエンドポイントの切り替えによるGLMの利用方法。Skill(conjure:muse-delegation):Meta Muse Code CLIの詳細。Skill(conjure:codex-delegation):OpenAI Codex CLIの詳細。Skill(conjure:opencode-delegation):OpenCode CLIの詳細。
実行モード
複数のエージェントに作業を委任する場合は、適切な 実行モードを選択してください。
| モード | 使用する場面 | 動作 |
|---|---|---|
| single-session | 順次進めるタスク、同じファイルの編集 | Claude がタスクを順番に進めます |
| subagents | 独立して並行実行できるタスク | エージェントが個別に作業し、結果を報告します |
| agent-team | 連携しながら並行実行するタスク | エージェント同士が連絡を取り合えます |
選択判断マトリックス、モードの互換性に関する注意事項、
回避すべきアンチパターンについては、references/execution-modes.md を
参照してください。
モジュールリファレンス
- provider-onboarding.md: プロバイダーごとのインストールと認証、および 設定が不完全なプロバイダーの読み取り方。
- task-assessment.md: 複雑さの分類、判断マトリックス。
- cost-estimation.md: 料金、予算、コストの追跡。
- handoff-patterns.md: 依頼テンプレート、ワークフロー。
- troubleshooting.md: よくある問題、サービス障害。
完了条件
- タスクを評価し、分類しました。
- ローカルで実施した作業について、どの Keep Local 条項が適用されたかを明記しました。
-
providers_exhaustedの結果について、試行履歴とともに報告し、その後ローカルで完了させました。放棄していません。 - 統合前に結果を検証しました。
- 得られた教訓を記録しました。