# ADR-001：三 Agent 自主學習分工（Hermes / NemoTron / OpenClaw）

- **Status**: Accepted
- **Date**: 2026-04-18
- **Decision Maker**: 統帥（系統架構顧問）
- **Author**: Claude

## Context

MOMO Pro 的 OpenClaw Bot 已具備三個 AI 服務（Hermes 本地、NemoTron NIM、OpenClaw/Gemini 雲端），但學習工作流（採集→處理→應用）尚未明確分工。當前現象：
- PPT 每次重新呼叫 AI → token 浪費 + 半年前歷史簡報失真
- `services/openclaw_learning_service.py` 雖有 `store_insight()` 等 API，但只寫不讀，未形成 cache-aside 閉環
- 三個 Agent 沒有清楚邊界，可能未來重複工作或越權

## Decision

採用「**漏斗型算力分配**」：

| Agent | 模型 | 主機 | 角色 | 月成本目標 |
|---|---|---|---|---|
| Hermes | hermes3:latest 8B | Ollama @ 192.168.0.111 | 資料工程師（採集層） | $0 |
| NemoTron | meta/llama-3.1-8b-instruct | NVIDIA NIM | 神經中樞（處理層） | $0（免費 60/天） |
| OpenClaw | gemini-2.0-flash | Google 雲端 | 策略大腦（應用層） | < $5 |

**三段分工**：

1. **採集層（Hermes）**：embedding 生成、tag 抽取、相似度去重、品質分數計算
2. **處理層（NemoTron）**：Tool Calling 寫入 KM、對話分類、跨 Agent 派發
3. **應用層（OpenClaw）**：PPT 主筆、用戶對話、週報 meta-analysis

## Alternatives Considered

| 方案 | 拒絕原因 |
|---|---|
| 全用 OpenClaw / Gemini | 月成本爆炸、外部依賴單點 |
| 全用 Hermes 本地 | 品質不夠、用戶感知差 |
| 用 LangChain Agent 自動路由 | 黑盒、debug 困難、不符 FinOps 透明原則 |

## Consequences

### Positive
- 月成本可控：< $5（從 $50+ 降下來）
- 失真消除：歷史 snapshot 寫死後內容永遠一致
- 抗故障：單一 Agent 掛掉不影響全局（fallback 鏈，見 ADR-004）

### Negative / Trade-offs
- 增加維運複雜度（三個 Agent 都要監控）
- KM 表 schema 必須穩定，schema 變動成本高
- Hermes 本地主機成為單點（需要 192.168.0.111 高可用）

## Related ADRs

- ADR-002（pgvector）：KM 儲存層
- ADR-003（本地 embedding）：Hermes 採集層的具體實作
- ADR-004（NemoTron fallback）：應對 NIM 配額耗盡
- ADR-005（時間衰減）：應用層 RAG 取數的時間權重
