polyphony について
Polyphonyは、タスクを分離されたDockerワークスペースで実行するマルチエージェントオーケストレーションシステムです。設定可能なルールと複雑度スコアでClaude、Codex、Kimiに振り分け、タスクごとに独立したクローンとブランチを用意します。
主な機能
- 01タスクごとのDocker分離ワークスペース
- 02Claude、Codex、Kimi間の振り分け
- 035つの観点による複雑度評価
- 04GitHub IssuesまたはローカルSQLiteのタスクソース
- 05タスクのライフサイクルとワークスペース管理
活用シーン
- 01分離されたワークスペースでのエージェントタスク並列実行
- 02タスク種別とリスクに応じた振り分け
- 03実行から検証、取り込みまでのタスク管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alinaqi/ maggy --skill polyphonyインストール後、Claude Code で/polyphonyを入力して読み込まれたか確認します。
詳細
Polyphony — マルチエージェントオーケストレーション
並列エージェント実行のためのコンテナ分離型ワークスペースです。各エージェントには、専用ブランチ上の完全な git クローンを含む独自の Docker コンテナが割り当てられます。競合がなく、テストは独立して実行でき、クリーンな PR を作成できます。
アーキテクチャ(6 層)
- Work Source — GitHub Issues(
gh api)またはローカル SQLite キューからタスクを取得します - Orchestrator — スーパーバイザーループ:検出 -> 確保 -> ルーティング -> プロビジョニング -> 実行 -> 検証 -> 反映
- Router — 純粋関数:Task x Policy -> RunSpec(5 次元の複雑度スコアリング)
- Identity Broker — 名前付き認証情報をボリュームマウントと環境変数のオーバーレイに解決します
- Workspace Manager — タスクごとの
git clone --reference、ブランチのチェックアウト、クリーンアップ - Worker Runtime — Docker コンテナの作成/起動/停止/ログのライフサイクル
タスクのライフサイクル
DISCOVERED -> CLAIMED -> ROUTED -> PROVISIONED -> RUNNING -> VERIFYING -> LANDED
| |
v v
FAILED --> BLOCKED
|
v
CLAIMED (retry)
前提条件
- Docker または OrbStack がインストールされ、起動していること
- 少なくとも 1 つのエージェント CLI(Claude、Codex、または Kimi)が利用できること
- CLI サブスクリプションが設定されていること(API キーではありません)
確認:
command -v docker &>/dev/null || command -v orbctl &>/dev/null
設定
すべての設定ファイルは ~/.polyphony/ にあります。
| ファイル | 用途 |
|---|---|
config.yaml | ワークスペースのルート、ポーリング間隔、最大同時実行数 |
identities.yaml | ボリュームパスを含む、名前付き認証情報バンドル |
agents.yaml | エージェントのプロファイル(CLI コマンド、得意分野) |
routing.yaml | ルーティングルールとフォールバックチェーン |
初期化:polyphony init
ルーティングルール
ルールは上から順に評価され、最初に一致したものが適用されます。各ルールには match 条件と agent の対象が設定されています。
rules:
- match: { task_type: docs, risk: low }
agent: kimi
- match: { task_type: bugfix }
agent: codex
- match: { risk: high }
agent: claude
default:
agent: claude
fallback: [codex, kimi]
複雑度スコアリング(5 次元)
各次元のスコアは 0〜2 です。合計は 0〜10 です。
| 次元 | 情報源 |
|---|---|
| 循環的複雑度 | LOC + スコープのサイズ |
| 呼び出し先の広がり | 呼び出し元の数 |
| セキュリティ境界 | 認証/PII のキーワード |
| 並行性 | ロック/トランザクションのキーワード |
| ドメイン不変条件 | リスクレベル + タスクの種類 |
ルーティングのしきい値:
- 0-3:Kimi に単独で委任
- 4-6:Kimi + Codex でレビュー
- 7-10:Claude が直接対応
コンテナ分離
各タスクには、次のものが割り当てられます。
polyphony-worker:latestから作成された専用の Docker コンテナ/workspaceに配置された完全な git クローン(worktree ではありません)- 読み取り専用でマウントされた認証情報のボリューム(例:
~/.claude:/home/worker/.claude:ro) - 独立したテスト実行環境
- PR 用の専用ブランチ
CLI コマンド
polyphony init # Create ~/.polyphony/ with config templates
polyphony spawn "Fix auth bug" # Create and route a task
polyphony status # Show task states
polyphony cleanup # Remove completed workspaces
既存スキルとの統合
- cross-agent-delegation:ルーティングの判断に Polyphony の複雑度スコアリングを使用します
- agent-teams:共有ディレクトリの代わりに、Polyphony のワークスペース分離を使用します
- spawn-team:機能エージェントのプロビジョニングに Polyphony のコンテナプロビジョニングを使用します
コメント
Markdown 対応