多模型评议服务

这是一个面向 AI 智能体宿主的多模型评议工作流,通过多个模型独立回答、匿名互评和主席综合,为技术决策与方案权衡输出高质量最终答案。

  • by epicsagas
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 epicsagas/mcp-council

使用说明

Council

Multi-model council: independent answers, anonymized peer review, chairman synthesis.

A single skill file that runs on any agent host with a shell. Four model families (claude, codex, agy/Gemini, grok) answer the same question independently, review each other anonymously with self-exclusion, and a chairman synthesizes the final answer. Inspired by karpathy/llm-council.

This project started as a Rust MCP server plus Cursor chat commands. Modern agents made that plumbing redundant: agents read and write files natively, dispatch each other as headless CLI processes, and need no MCP layer in between. The whole system is now one skill file. The original Rust implementation is preserved at the rust-legacy and v0.2.0 tags.

The pattern

flowchart TD
    Q["Question"] --> S1["Stage 1: Independent answers<br/>claude + codex + agy + grok, parallel,<br/>no cross-visibility"]
    S1 --> A["anonymized responses<br/>A / B / C / D"]
    A --> S2["Stage 2: Peer review<br/>each councilor reviews the others,<br/>own answer excluded,<br/>FINAL RANKING"]
    S2 --> S3["Stage 3: Chairman synthesis<br/>answers + rankings +<br/>agreements and disagreements"]
    S3 --> F["final-answer.md"]

Why it works:

Property Why it matters
🧭 Independence Stage 1 councilors never see each other's answers, so answers are genuinely independent
🎭 Anonymization Reviewers see only Response A/B/C/D, so rankings judge content, not brand
🚫 Self-exclusion A councilor never reviews its own answer, removing self-serving bias
⚖️ Chairman synthesis One final answer weighs insights, rankings, and disagreement patterns instead of picking a winner

Install

Claude Code:

claude plugin marketplace add epicsagas/council
claude plugin install council

Codex:

codex plugin marketplace add epicsagas/council
codex plugin add council

Antigravity (agy):

agy plugin install https://github.com/epicsagas/council

Grok:

grok plugin install epicsagas/council --trust

Any other host: copy skills/council/ into the host's skills directory.

Requirements: the councilor CLIs on PATH (claude, codex, agy, grok). Each councilor drops out independently when its CLI is missing or quota-limited. No MCP server is required.

Usage

/council Should we split the auth service out of the monolith?
/council Compare WAL vs journal-mode tradeoffs for our write-heavy workload

The skill runs all three stages and replies with the chairman's verdict plus the artifact paths.

Artifacts

Each run writes to .council/<slug>/ in the current project (gitignored):

.council/<slug>/
  claude-answer.md
  codex-answer.md
  agy-answer.md
  grok-answer.md
  peer-review-by-claude.md
  peer-review-by-codex.md
  peer-review-by-agy.md
  peer-review-by-grok.md
  final-answer.md
  run-log.md            # failures and degraded-mode notes

Degradation

Failed backends (missing CLI, quota or auth error, empty reply) are dropped and logged. Two survivors still run the full flow. One survivor skips peer review; the chairman critically reviews the single answer before synthesizing. Zero survivors aborts with the backend errors.

Contributing

See CONTRIBUTING.md. PRs welcome.

License

Apache 2.0. See LICENSE.