Architecture Journal

AlphaCouncil

如果可以同時請教 Warren Buffett、Ben Graham 和 Nassim Taleb,讓他們針對同一支股票各自發表意見、互相辯論,最後給出分析結論——這件事在 AI agent 時代變得可行。

AlphaCouncil 就是這個想法的實作。


起點:兩個讓我想動手做的開源專案

2025 年底,我接觸到兩個讓我印象深刻的開源研究:

  • ai-hedge-fund by @virattt:用 LLM 模擬投資大師人格代理人
  • TradingAgents by Tauric Research:以多代理人辯論架構做投資決策(附論文

這兩個專案都在問同一個問題:能不能讓多個 AI agent 模擬不同的投資哲學,透過辯論產生更有深度的分析?

但當時我正在深入學習 Google ADK(Agent Development Kit),想找一個真實的場景來實踐它的多代理人編排能力。投資分析這個領域恰好符合幾個條件:

  1. 需要整合多個異質觀點(不同大師哲學)
  2. 有明確的輸入(股票代號)與輸出(分析報告)
  3. 流程可以被結構化,不需要完全依賴 LLM 動態決策

於是 AlphaCouncil 誕生了。


核心設計:固定編排,而非動態路由

多代理人框架有兩種主要設計方向:

  • 動態路由:讓一個 orchestrator LLM 決定下一步要呼叫哪個 agent
  • 固定編排:用確定性的流程圖定義 agent 的執行順序與組合

AlphaCouncil 選擇後者。

原因很直接:投資分析的流程是可預測的——先收集市場資料、再讓各大師分析、最後綜合辯論得出結論。這個流程不需要 LLM 來決定,反而應該由工程師明確定義,讓 LLM 專注在各自擅長的分析推理上。

Google ADK 提供了三種 agent 組合原語,AlphaCouncil 把它們串接成一條完整的 pipeline:

SequentialAgent → ParallelAgent → LoopAgent
  • SequentialAgent:依序執行資料收集、前處理等步驟
  • ParallelAgent:同時啟動 13 位大師代理人,各自獨立分析
  • LoopAgent:讓大師們進行多輪辯論,逐步收斂到共識

這種架構的好處是行為可預期、debug 容易、且每個環節的失敗都可以被精確定位。


13 位投資大師

AlphaCouncil 內建了 13 位投資人的人格代理人,每位都有獨立的系統提示和分析框架:

代理人核心哲學
Warren Buffett以合理價格買優質公司,長期持有
Ben Graham安全邊際,尋找低於內在價值的標的
Charlie Munger心智模型,只買最優質的企業
Aswath Damodaran嚴謹的故事敘述與數字驅動估值
Bill Ackman激進主義,推動企業變革
Cathie Wood顛覆性創新,長期成長
Michael Burry逆向投資,尋找深度被低估標的
Peter Lynch投資你了解的,尋找十倍股
Phil Fisher深度調研(Scuttlebutt),質化成長分析
Mohnish PabraiDhandho——低風險高報酬的翻倍機會
Stanley Druckenmiller宏觀驅動,不對稱風險機會
Rakesh Jhunjhunwala成長與價值並重,長期持有高信念部位
Nassim Taleb尾部風險防護,槓鈴策略

每位大師有兩個版本:US 版以英文輸出並聚焦美市指標,TW 版以繁體中文輸出並納入台股特有脈絡。系統根據 ticker 自動偵測市場並切換。


雙市場支援

台股市場的資料源、新聞來源、財務指標和監管環境都和美股有顯著差異。AlphaCouncil 透過 ticker 自動偵測市場(例如 2330 自動對應台股、AAPL 對應美股),切換對應的資料源和大師分析語境。

這個設計讓同一套框架可以無縫支援兩個市場,而不需要使用者手動指定(當然也可以透過 --market 參數強制指定)。


三種使用介面

AlphaCouncil 支援三種操作方式,適合不同使用場景:

互動式 Web UI(開發 / Debug 用)

make web
# 或
uv run adk web

CLI 一次執行(自動化 / 批次用)

make run-cli
# 或
uv run alpha-council run --ticker 2330 --market tw --masters warren_buffett,nassim_taleb --report-format md

REST API(整合其他系統用)

make api-server
# 或
uv run adk api_server

CLI 支援的主要參數:

  • --ticker:股票代號(必要)
  • --marketus|tw(未提供時自動推斷)
  • --masters:指定大師(編號或名稱,例如 1,3,5warren_buffett,ben_graham
  • --report-formatjson|md
  • --debug:顯示事件流與原始回應

部署架構

AlphaCouncil 採用 Cloud Run + Terraform 的部署方式,並拆分成兩條路徑:

  • Agent Service:長時間運行的 REST API 服務,部署在 Cloud Run
  • CLI Batch:一次性執行的 Cloud Run Job,適合排程或 CI/CD 觸發

兩者共用同一個 Artifact Registry,但透過獨立的 Terraform 模組管理,讓部署邊界清晰。

make build-agent-image   # 建置 Agent Service image
make deploy-agent        # 套用 Terraform 部署 Agent Service

make build-cli-image     # 建置 CLI Batch image

這個拆分決策記錄在 docs/adr/0001-split-agent-and-cli-deployment.md


這個專案教會我的事

固定編排比想像中更適合生產環境。 動態路由雖然靈活,但在這類有明確流程的任務上,確定性架構的可觀測性和可維護性優勢非常明顯。每個 agent 的行為都是可預測的,失敗時也能精確定位問題。

LLM 人格模擬需要精心設計系統提示。 讓 Nassim Taleb 真的「像 Nassim Taleb 一樣思考」,而不是給出泛泛的風險提示,需要在系統提示中注入大量的背景知識、哲學框架和具體例子。這部分的工程量遠超預期。

台股和美股的資料整合難度差距很大。 美股有成熟的公開 API,台股的資料源分散且格式不一。這是這個專案目前最需要改善的地方之一。


連結

免責聲明:AlphaCouncil 僅供教育與研究用途,不構成任何投資建議。