Karpathy 新作 LLM Council:讓多個 AI 模型組委員會,互相評分、主席統整
Andrej Karpathy(前 Tesla AI 總監、OpenAI 創始成員)又出手了。這次他端出一個概念很簡單、但玩起來很有意思的開源專案:LLM Council(LLM 委員會)。
一句話介紹:與其問你最愛的單一模型,不如把 GPT、Gemini、Claude、Grok 全部叫來,組成一個「AI 委員會」,讓它們先各自作答、再互相打分數、最後由主席模型統整出一份最終答案。
這個專案從 2025 年 11 月上線至今,已經累積超過 23,700 顆星、4,200 次 fork,是近期最受矚目的多模型協作開源專案之一。
為什麼要「委員會」,而不是一個模型就好?
平常我們用 ChatGPT、Gemini,都是「單一模型單一答案」。但不同模型擅長的領域其實差很多:有的強在程式碼、有的強在推理、有的回答比較有「洞察力」。LLM Council 的想法是——把各家模型的優點同時拿出來,讓它們互相監督、互相補充,就像開會一樣,最後收斂出一個比較全面的答案。
Karpathy 在 README 裡說得很直白:這是他為了「跟 LLM 一起讀書」時想比較各家模型表現,順手做的周末專案。而實際用起來,確實比單一模型問答多了很多樂趣與資訊量。
三階段流程:作答 → 匿名互評 → 主席總結
使用者送出問題後,整個系統分三個階段運行:
flowchart TD
A[使用者送出問題] --> B["Stage 1<br/>所有模型平行作答<br/>(分頁顯示各家原始回答)"]
B --> C["Stage 2<br/>匿名化後互相評分排名<br/>(避免模型偏袒名牌)"]
C --> D["Stage 3<br/>主席模型統整所有回答<br/>與評分,產出最終答案"]
D --> E[使用者同時看到<br/>原始回答 + 互評結果 + 最終答案]| 階段 | 名稱 | 做什麼 | 使用者看到 |
|---|---|---|---|
| Stage 1 | First opinions | 把問題同時丟給委員會所有模型,平行取得各家回答 | 分頁檢視各家模型的原始回答 |
| Stage 2 | Review | 每個模型拿到其他模型匿名化的回答,要求依「準確度與洞察力」排名 | 各模型評語 + 解析出的排名 + 彙總平均名次 |
| Stage 3 | Final response | 指定的主席模型看過全部回答與評分,整合成一份最終答案 | 綠色底色的最終統整回答 |
最巧妙的設計:匿名互評
Stage 2 是整個系統的靈魂。做法是:每個模型在評分時,只知道對方是「Response A」「Response B」,不知道是哪家模型。
為什麼要匿名?因為如果不匿名,模型很容易「看牌子打分」——覺得「我是 GPT 我一定最強」,或者對某個品牌的回答特別寬容。匿名之後,模型只能就內容本身評斷優劣,評分才相對客觀。
當然,介面上還是會用粗體標示「這則評語是在評誰」,讓使用者知道對應關係,但模型端看到的始終是匿名標籤。這個「評分者與被評者身份隔離」的設計,是這個專案最值得偷師的地方。
技術架構:輕量、本機、好上手
整個專案非常輕巧,全部在本機跑:
- 後端:FastAPI(Python 3.10+)+ async httpx,負責呼叫 OpenRouter API 並串起三階段流程
- 前端:React + Vite + react-markdown,介面長得就像一個 ChatGPT
- 儲存:對話記錄存成 JSON 檔放在
data/conversations/ - 套件管理:Python 用 uv、前端用 npm
安裝只需要三個步驟:
# 1. 安裝依賴
uv sync
cd frontend && npm install && cd ..
# 2. 設定 API Key(到 openrouter.ai 申請)
echo "OPENROUTER_API_KEY=sk-or-v1-..." > .env
# 3. 啟動
./start.sh
# 然後瀏覽器開 http://localhost:5173
委員會成員與主席都可以自由更換,改 backend/config.py 就好:
COUNCIL_MODELS = [
"openai/gpt-5.1",
"google/gemini-3-pro-preview",
"anthropic/claude-sonnet-4.5",
"x-ai/grok-4",
]
CHAIRMAN_MODEL = "google/gemini-3-pro-preview"
適合拿來做什麼?
- 模型橫向比較:同一問題同時看 GPT、Gemini、Claude、Grok 怎麼回答,比慢慢切換網頁快多了
- 重要問題的交叉驗證:論文、合約、技術決策這類「錯不起」的問題,讓多個模型互相挑錯、主席收斂
- 學習模型評測:想理解「怎麼客觀評價 LLM 回答品質」,這是最透明的實作教材——每個環節都可展開檢視
- 與 LLM 一起讀書:Karpathy 原始的使用場景,多人(多模型)共讀一本書,觀點互補
誠實話:這是一個「vibe coded」的玩具
Karpathy 在 README 開頭就放了 Vibe Code Alert,態度非常坦承:
這個專案 99% 是 vibe coded,只是周六好玩做的實驗。我不會維護它,也不打算改進它,程式碼現在就是「一次性」的狀態,你想怎麼改就自己叫 AI 改。
所以實際使用要注意幾件事:
- 花費與延遲:一個問題 = 至少 5~9 次模型呼叫(4 家作答 + 4 家互評 + 1 次主席統整),而且沒有串流輸出,複雜問題要等一陣子
- 沒有官方支援:遇到 bug 請自行處理(或叫你的 AI 幫你修)
- 資料存在本機:對話存 JSON,不支援多裝置同步
- 評分品質依賴提示詞:模型不乖乖照格式輸出排名時,有 fallback 的 regex 解析,但偶爾會失準
結語
LLM Council 不是生產級產品,但它示範了一個很棒的未來方向:當模型愈來愈多、愈來愈強,「單一模型」可能不再是使用 AI 的唯一方式。委員會式的協作——各自作答、匿名互評、主席收斂——不管是拿來實際比較模型、還是當作理解「如何評估 LLM 品質」的活教材,都值得你花一個晚上玩看看。
專案傳送門:github.com/karpathy/llm-council
📌 推薦閱讀:酷澎 Coupang 購物(透過此連結購物,我可能獲得聯盟佣金,但不會影響你的購買價格)
