mcpField
P
polyphony

polyphony

github.com/alinaqiエージェントワークフロー711109 回インストール2 週間前に更新
リポジトリ

polyphony について

Polyphonyは、タスクを分離されたDockerワークスペースで実行するマルチエージェントオーケストレーションシステムです。設定可能なルールと複雑度スコアでClaude、Codex、Kimiに振り分け、タスクごとに独立したクローンとブランチを用意します。

主な機能

  1. 01タスクごとのDocker分離ワークスペース
  2. 02Claude、Codex、Kimi間の振り分け
  3. 035つの観点による複雑度評価
  4. 04GitHub IssuesまたはローカルSQLiteのタスクソース
  5. 05タスクのライフサイクルとワークスペース管理

活用シーン

  1. 01分離されたワークスペースでのエージェントタスク並列実行
  2. 02タスク種別とリスクに応じた振り分け
  3. 03実行から検証、取り込みまでのタスク管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alinaqi/maggy --skill polyphony

インストール後、Claude Code で/polyphonyを入力して読み込まれたか確認します。

詳細

Polyphony — マルチエージェントオーケストレーション

並列エージェント実行のためのコンテナ分離型ワークスペースです。各エージェントには、専用ブランチ上の完全な git クローンを含む独自の Docker コンテナが割り当てられます。競合がなく、テストは独立して実行でき、クリーンな PR を作成できます。


アーキテクチャ(6 層)

  1. Work Source — GitHub Issues(gh api)またはローカル SQLite キューからタスクを取得します
  2. Orchestrator — スーパーバイザーループ:検出 -> 確保 -> ルーティング -> プロビジョニング -> 実行 -> 検証 -> 反映
  3. Router — 純粋関数:Task x Policy -> RunSpec(5 次元の複雑度スコアリング)
  4. Identity Broker — 名前付き認証情報をボリュームマウントと環境変数のオーバーレイに解決します
  5. Workspace Manager — タスクごとの git clone --reference、ブランチのチェックアウト、クリーンアップ
  6. 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 のコンテナプロビジョニングを使用します

コメント