mcpField
S
synod-council

synod-council

ローカル
github.com/naruminhoAI・エージェント09 週間前に更新

synod-council について

Synodは、2つのAIエージェントが対等な立場で意思決定やコード変更を行うための討議システムです。永続化されたセッション、分離されたgit worktree、相互レビュー、検証、人間の承認を組み合わせています。

主な機能

  1. 01対称的な2エージェント討議
  2. 02SQLiteによるセッション状態の永続化
  3. 03セッションごとの独立git worktree
  4. 04相互レビューと自動検証
  5. 05承認と批准のワークフロー

活用シーン

  1. 01技術的な意思決定案の比較
  2. 02エージェントによるコード変更のレビューと検証
  3. 03未解決の課題を相手エージェントの批准に回す

MCP 対応

MCP対応クライアントから2つのエージェントによる討議を開始できるMCPサーバーを備えています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Synod

2 つの AI エージェントによる、永続的かつ対称的な熟議 — 分離された Git ワークツリー、 ピアレビュー、自動検証、明示的な承認ワークフローを備えています。

Synod は、個人用 AI インフラストラクチャにおける「council」として誕生しました。2 つの 自律型エージェント(オーケストレーターとエグゼキューター)が、どちらか一方がもう一方の 追認役にひそかになってしまうことなく、実際の意思決定と実際のコード変更を共に行う 必要があったためです。

理由

ほとんどのマルチエージェントフレームワークは、オーケストレーションの見せかけです。1 つの エージェントが別のエージェントをツールとして呼び出し、その出力を「協働」と呼んでいます。 Synod は異なる前提、つまり設計上対等な2 つのエージェントを中心に構築されています。

  • 対称的なプロトコル — どちらのエージェントからでも開始できます。プロトコルに優先される側はありません。
  • アイデンティティ契約 — すべてのプロンプトでエージェントが誰であるかを再確認するため、能力が低いモデルや注意散漫なモデルが、ピアのふりをして回答するように逸脱することはありません。
  • バイアスに強い統合 — 各問題の統合担当は、誰が先に発言したかではなく、問題文のハッシュによって選ばれます。
  • 永続状態 — すべてのセッションは、明示的なステージ(plan、review、synthesize、ratify、...)とともに SQLite に保存されます。実行がクラッシュしても、謎ではなく調査可能な記録が残ります。
  • コード変更はワークツリー経由で反映 — 各セッションには専用の Git ワークツリーとブランチが割り当てられます。エージェントが main にプッシュすることはありません。「完了したように見える」状態と「公開済み」の状態の間には、人間が行う承認ステップがあります。
  • 修正を伴う検証 — 実装後にチェックを実行し、失敗した場合は上限付きの再試行を経て実装担当エージェントに差し戻されます。人間が確認するより前に修正されます。

インストール

pipx install synod-council

またはソースからインストールします。

git clone https://github.com/naruminho/synod-council
cd synod && pip install .

使い方

ライブラリ
from synod.deliberation import Deliberator, Store, HTTPAdapter

adapters = {
    "Alice": HTTPAdapter("Alice", "http://127.0.0.1:9001/ask"),
    "Bob":   HTTPAdapter("Bob",   "http://127.0.0.1:9002/ask"),
}
synod = Deliberator(adapters, Store("council.db"))
result = synod.run("Should we use SQLite or Postgres for this workload?", initiator="Alice")
print(result.decision, result.confidence, result.status)  # consensus | reconciled
MCP サーバー

Synod にはMCPサーバーが付属しているため、MCP 対応クライアント (Claude Desktop、Claude Code、Cursor、...)ならどれでも熟議を開始できます。

synod-mcp   # stdio transport

クライアントの設定に追加し、推測するのではなく熟議するようエージェントに依頼してください。

HTTP サーバー
synod-server --port 8790
curl -X POST http://127.0.0.1:8790/run -d '{"problem": "...", "initiator": "Alice"}'

熟議の流れ

plan (parallel) → cross-review (parallel) → synthesis → [ratification → reconciliation?]

レビュアーが未解決のブロッカーを指摘した場合、または信頼度が 0.7 未満の場合、候補となる 決定は統合を担当していないピアによる批准に進みます。拒否された場合は、暗黙の合意ではなく、 明示的な調整が必要になります。

ステータス

2026 年からアーキテクチャの決定とコードのリリースに利用されてきた、本番環境の個人用 インフラストラクチャから切り出され、実戦で検証されています。2 エージェントの設計は意図的な ものであり、N 人の参加者への対応はロードマップにあります。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。