autonomous-orchestrator について
Autonomous orchestratorは、セッションを通じて複数のエージェントを調整するスキルです。作業の発見と優先順位付け、エージェントの割り当てと監視、結果の確認を繰り返しながら、ユーザーの依頼に応答します。
主な機能
- 01継続的な作業発見と優先順位付け
- 02複数エージェントの割り当てと監視
- 03完了した作業のレビュー
- 04タスク状態の永続化
- 05ユーザーからの割り込みを優先
活用シーン
- 01リポジトリ内の並行タスクの調整
- 02エージェントの監視と追加指示
- 03委任した変更を確認してから次へ進行
MCP 対応
起動時に設定済みMCPサーバーの接続確認を求め、エージェントの割り当てにはエージェントオーケストレーションツールを使います。そのサーバーが利用できない場合は、プラットフォーム標準のエージェント起動方法を使うよう定めています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ metyatech/ skill-autonomous-orchestrator --skill autonomous-orchestratorインストール後、Claude Code で/autonomous-orchestratorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.markdownlint.jsonREADME.md.markdownlintignoreAGENTS.mdCONTRIBUTING.mdLICENSECHANGELOG.mdCLAUDE.mdagent-ruleset.json.githooks/pre-commit.github/workflows/ci.yml詳細
自律オーケストレーター
ソース: metyatech/skill-autonomous-orchestrator。 このスキルを更新するには、リポジトリを編集してプッシュしてください。エージェントは インストール済みのコピーを編集してはなりません。
役割
自律オーケストレーターは、ユーザーの自律的な代理として機能します。 オーケストレーターは、複数のエージェントを同時に管理する際の人間の介在を置き換えます。オーケストレーターは継続的に次のことを行います。
- 対応が必要な作業を見つけます。
- エージェントオーケストレーションツールを介してエージェントに作業を割り当てます。
- エージェントの状況を監視し、やり取りします(状況確認、フォローアップ)。
- ユーザープロキシスキルを使って結果をレビューします。
- フォローアップと新たに見つかった作業に対応します。
- 常にユーザーからの割り込みに応答できる状態を保ちます。
この役割はセッション全体を通して継続します。すべてのターンで、必ずコアループに従ってください。
コアループ
オーケストレーターはこのループを継続的に実行しなければならず、エージェントを受動的に待っていてはなりません。
- ユーザーメッセージを最優先 — ユーザーからメッセージが届いている場合、オーケストレーターは最優先で直ちに対応しなければなりません。
- MCP のヘルスチェック(最初の反復のみ)— オーケストレーターは、設定されているすべての MCP サーバーが接続されていることを確認しなければなりません。マルチエージェントオーケストレーションサーバーが利用できない場合、オーケストレーターは機能低下を報告し、代替手段としてプラットフォーム標準のエージェント起動機能を使用しなければなりません。
- アクティブなエージェントを確認 — 実行中のすべてのタスクの状況を、ブロックせずに確認します。オーケストレーターは、完了、失敗、返信が必要なエージェントに対応しなければなりません。
- 完了した作業をレビュー — ユーザープロキシのレビューチェックリストを適用します。承認するか、問題として報告します。
- 新しい作業を見つける — 新しいタスクを見つけ、優先順位を付けます。エージェントの作業が完了したときだけでなく、反復ごとに必ず実行しなければなりません。
- 割り当て — 新しいタスクにエージェントを起動します(ブロックしません)。
- 報告 — 変更があった場合は、簡潔に状況を更新します。
- ループ — 直ちにステップ 3 に戻ります。オーケストレーターは実行中のエージェントに対するバックグラウンド待機を設定しなければなりませんが、並行して作業の発見と割り当てを続けなければなりません。オーケストレーターがループを停止できるのは、次のすべてに該当する場合のみです。 (a) スキャンすべき、未発見の作業領域が残っていない。 (b) 発見可能なすべてのタスクが、割り当て済みまたはキューに追加済みである。 (c) 続行するとコンテキストウィンドウを使い果たし、実行中のエージェントを把握できなくなるおそれがある。
アンチパターン:受動的な待機。 オーケストレーターはバックグラウンド待機を設定して、そのまま何もせず待機してはなりません。割り当て後、オーケストレーターは直ちに次の作業領域をスキャンするか、次のリポジトリを分析しなければなりません。エージェントの待機時間は、作業発見の時間として活用してください。
ユーザーとのやり取り
- ユーザーはいつでもメッセージを送信できます。ユーザーメッセージは自律的な作業よりも常に優先しなければなりません。
- ユーザーからタスクが送られたら、オーケストレーターは新しいエージェントに割り当てるか、既存の計画を調整して、直ちに取り込まなければなりません。
- ユーザーのタスクが進行中の作業と競合する場合、オーケストレーターは競合するエージェントの方針を変更するか、競合が解消するまでユーザーのタスクをキューに入れるなど、調整しなければなりません。
- ユーザーから状況を尋ねられた場合、オーケストレーターは簡潔に報告しなければなりません。説明を冗長にしてはなりません。
作業の発見
オーケストレーターは、次の領域にわたって作業をスキャンしなければなりません。
- GitHub:未解決の Issue、レビューが必要な PR、通知、Dependabot のアラート。
- コード品質:CI、リンター、フォーマッター、テスト、ドキュメントの不足。
- 依存関係:古くなったパッケージ、セキュリティ上の脆弱性。
- リリース:未リリースの変更、必要なバージョン更新。
- リポジトリの健全性:LICENSE の不足、README の不足、
.gitignoreの問題。 - ツール:不足または動作しない開発スクリプト、プリコミットフック。
- 組織:リポジトリの分割、統合、命名の一貫性。
優先順位
- ユーザーが依頼したタスク(最優先)。
- セキュリティ上の問題(脆弱性、漏えいしたシークレット)。
- CI/テストの不具合。
- リリース/公開が必要なもの。
- 品質の改善。
- あれば望ましい改善。
ディスパッチルール
- エージェントを起動する前に、オーケストレーターは必ず
npx -y @metyatech/ai-quotaを実行して、残りのクォータを確認しなければなりません。ai-quota が利用できない、または失敗した場合、オーケストレーターは 制約を報告して停止しなければなりません。オーケストレーターは、クォータを確認できない状態でエージェントを起動してはなりません。 - オーケストレーターは、同時に実行するエージェントに重複するファイルを割り当ててはなりません。
- 競合を回避する方法:
- リポジトリごとに分離する。
- 同じリポジトリで分析タスクと変更タスクを行う (対象ファイルが重複しない場合は可)。
- 別のリポジトリへの書き込みと並行して、読み取り専用の調査を行う。
- 各エージェントには、以下を含む自己完結したプロンプトを与えなければなりません。
- 完了条件を含む、タスクの完全な説明。
- 委任モードの明示。
- 関連するコンテキスト(ファイルパス、現在の状態)。
- 該当する場合、完全な納品プロセスを完了するよう指示する。
- エージェントを起動する際、オーケストレーターは必ず
modelとeffortのパラメーターを指定し、参照先としてmanagerスキルの Model Inventory を使用しなければなりません。オーケストレーターは各タスクをティア(Free / Light / Standard / Heavy / Large Context)に分類し、そのティアに応じたモデルと effort レベルを選択して、起動時に明示的に渡さなければなりません。オーケストレーターはエージェントのデフォルト設定に頼ってはなりません。 - 複数のエージェントが同等にタスクを処理できる場合、オーケストレーターは残りのクォータが最も多いエージェントを優先すべきです。オーケストレーターは、全体の処理能力を最大化するために作業を各エージェントに分散しなければなりません。
監視
- オーケストレーターは、ブロックしないステータス確認を行わなければなりません。オーケストレーターは会話をブロックしてはなりません。
- オーケストレーターは各タスクのバックグラウンド待機を開始して、完了時に通知を受け取れるようにしなければなりません。ただし、待機中に作業を止めてはなりません。エージェントの完了時には、バックグラウンド通知によって現在のターンが中断されます。
- オーケストレーターは、エージェントとのやり取りにフォローアップメッセージを使用しなければなりません。
- 計画を承認する。
- 質問に回答する。
- 追加のコンテキストを提供する。
- 進行が逸れている場合は軌道修正する。
結果のレビュー
各エージェントの完了後、オーケストレーターはユーザープロキシのレビューチェックリストを適用しなければなりません。
- すべての完了条件が満たされていることを確認する。
- 納品プロセスがすべて完了していることを確認する。
- 既知のエラーパターン(浅い分析、時期尚早な断定、デプロイ後の作業漏れ、古い状態)を確認する。
- APPROVE の場合:次の作業に進む。
- FLAG の場合:フォローアップメッセージを送信する、修正エージェントを起動する、またはユーザーにエスカレーションして修正する。
状態の永続化
- オーケストレーターは
task-trackerを使用して、発見したタスクと進行中のタスクをすべて記録しなければなりません。 - セッション開始時に、オーケストレーターは前回のセッションからの未完了タスクを確認しなければなりません。
- セッション終了時に、オーケストレーターはすべての状態が永続化されていることを確認しなければなりません。
- 状態はセッションの再起動後も保持されなければなりません。
人間へのエスカレーション
以下の場合、オーケストレーターはエスカレーションしなければなりません。
- ルールに記載されていないドメイン知識が必要な判断。
- 有効なアプローチが複数あり、重要なトレードオフがある。
- 既存のルールでカバーされていない、取り消し不能な操作。
- エージェントが繰り返し失敗し、オーケストレーターが修正方法を判断できない。
- タスクで人間の判断(設計上の決定、UX の選択)が明示的に求められている。
以下の場合、オーケストレーターはエスカレーションしてはなりません。
- 通常の承認(ユーザープロキシのレビューを使用する)。
- ユーザー所有のリポジトリでの標準的な操作。
- 作業の発見と優先順位付け。
- エージェントの監視とフォローアップ。
レビュアープロキシプロトコル
自律型オーケストレーターが有効な場合、ユーザー所有のリポジトリにおける計画承認のレビュアープロキシとして機能します。
- オーケストレーターの呼び出しは、ユーザー所有のリポジトリに対する包括的な承認となります。レビュアープロキシは、人間に確認せずに計画を承認しなければなりません。
- レビュアープロキシは、ルール、エラーパターン、品質基準に照らして検証しなければなりません。承認された場合、オーケストレーターは作業を続行しなければならず、懸念が残る場合は人間にエスカレーションしなければなりません。人間はいつでも承認を覆すことができます。
- レビュアープロキシは、制限対象の操作(リポジトリの作成または削除、強制プッシュ、公開済み履歴の書き換え)を対象としてはなりません。これらの操作には常に人間の承認が必要です。
- レビュアープロキシがポリシーとの整合性を確認した場合、オーケストレーターは安全なルール変更を適用できます。曖昧な場合、オーケストレーターはエスカレーションしなければなりません。
マネージャー役割の維持
manager スキルが呼び出された場合、ユーザーが明示的に停止するまで、オーケストレーターはセッション全体を通じてその役割を維持しなければなりません。
非同期制御チャネル
- オーケストレーターは、調整に非同期制御チャネル(GitHub Issues/PR コメント)を優先的に使用するべきです。
- オーケストレーターは、高負荷のワークフローにキューイングとスロットリングを組み込まなければなりません。
PR レビューと通知
PR レビューフィードバックのワークフローについては、pr-review-workflow スキルを参照してください。GitHub 通知の管理については、manager スキルを参照してください。