microsoft/conductor
A CLI tool for defining and running multi-agent workflows with the GitHub Copilot SDK and Anthropic Agents SDK.
Conductor – 再現可能でバージョン管理可能なマルチエージェントAIワークフロー用CLI
何であるか – Conductorは、1つのYAMLファイルにAIエージェント(Copilot、Claudeなど)のパイプラインを記述し、ローカル、CI、またはクラウドで実行できるコマンドラインツールです。オーケストレーション自体は決定論的(LLMが次のステップを決定しない)であり、ワークフロー全体がプレーンテキストで管理されるため、コードと同様にバージョン管理、差分比較、レビューが可能です。
なぜ重要か – 信頼性の高いAI駆動のパイプライン(コードレビューBot、研究→要約ループ、計画→実装サイクルなど)を構築するのは難しいです。なぜなら、既存の多くは一時的なスクリプトや手動プロンプトに依存しているからです。Conductorは以下の利点を提供します:
- 再現性 – 同じ入力は常に同じ経路をたどります。
- 決定論的ルーティング – Jinja2ベースの条件が次のエージェントを決定し、オーケストレーションにトークンを消費しません。
- ソース管理フレンドリー – ワークフローはYAMLファイルであり、プルリクエストでレビューできます。
主な機能
| 機能 | 機能の内容 |
|---|---|
| YAMLベースのワークフロー定義 | エージェント、プロンプト、ルーティング、サブワークフローを読みやすいファイルで宣言します。 |
| 複数のAIプロバイダー | GitHub Copilot、Anthropic Claude、Claude Agent SDK、NousResearch Hermes、Azure Container Apps sandbox(実験的)。 |
| 並列および動的実行 | エージェントグループを同時に実行;for_eachで実行時にリストを展開できます。 |
| サブワークフローの組み合わせ | テンプレート入力マッピングでワークフロー断片を再利用します。 |
| スクリプトおよびステップ設定 | LLMを呼び出さずにシェルコマンドを実行、またはJinja2値を計算します。 |
| 人間が関与するゲート | Markdownプロンプト、クリック可能なファイルリンク、またはWebダッシュボードで手動判断を一時停止します。 |
| セーフティ制限 | 最大イテレーション数とタイムアウト制御により、無限実行を防ぎます。 |
| Webダッシュボード | 実時間でのDAG可視化、エージェント出力のライブストリーミング、ブラウザ内での人間ゲート。 |
| Fleet Manager TUI | 実行中のすべてのワークフローをリスト表示、ステータス、トークン使用量、コストを確認でき、ゲートに応答したり、新しい実行を開始したりできます。 |
| 検証機能 | 未入力、古くなったテンプレート参照、宣言されていない依存関係の事前チェック。 |
一般的な利用例
- コードレビューパイプライン – Copilotエージェントがレビューを書く、Claudeエージェントが要約、人間のゲートでマージ前に承認。
- 研究→要約 – 1つのエージェントが情報源を集める、別のエージェントがレポートを起草、最終エージェントがフォーマット。
- 計画→実装ループ – エージェントが設計案を提示、2番目のエージェントが隔離されたAzure Container Apps sandboxでコードを記述、3番目のエージェントが結果を検証。
インストール(クイック)
# macOS / Linux
curl -sSfL https://aka.ms/conductor/install.sh | sh
# Windows (PowerShell)
irm https://aka.ms/conductor/install.ps1 | iex
スクリプトは必要に応じてuvパッケージマネージャーをインストールし、最新リリースを取得、すべての依存関係を隔離された仮想環境に配置します。更新はconductor update(または--applyオプション付きの同じインストールスクリプト)で行います。
ワークフローの実行
- YAMLファイル(例:
my-workflow.yaml)を作成します。 - 実行します:
conductor run my-workflow.yaml --input question="What is Python?"
- CLIは最終的なJSON出力を表示し、
--webまたは--web-bgオプションでWebダッシュボードを起動してDAGをリアルタイムで監視できます。
例のスニペット(READMEから)
workflow:
name: simple-qa
entry_point: answerer
agents:
- name: answerer
model: gpt-5.5
prompt: |
Answer the following question:
{{ workflow.input.question }}
output:
answer:
type: string
routes:
- to: $end
output:
answer: "{{ answerer.output.answer }}"
プロバイダー設定 – ファイルの先頭でプロバイダーを設定します。例:
workflow:
runtime:
provider: copilot # または openai, claude, hermes, aca など
default_model: gpt-5.5
認証は通常の環境変数規則に従います(OPENAI_API_KEY、ANTHROPIC_API_KEY、Copilot用にはGitHub CLIログインなど)。
拡張性 – ConductorはClaude CodeおよびGitHub Copilot CLI用のスキルを同梱しており、同じワークフロー構文をこれらのアシスタント内で使用できます。実験的プロバイダー(Claude Agent SDK、Hermes、ACA)は、uv addまたはpip installでドキュメント通りに追加可能です。
結論 – ConductorはLLM駆動のパイプラインを一級のテスト可能なソフトウェアアーティファクトに変換します。オーケストレーションを決定論的かつバージョン管理することで、AIを活用した自動化をCI/CD、チーム協働、プロダクションレベルのワークロードに適した形にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト