Files
ewoooc/docs/adr/README.md
OoO 390c32b05d
All checks were successful
CD Pipeline / deploy (push) Successful in 2m45s
feat(p21): Caller × Context 動態 Model Router + ADR-034
Operation Ollama-First v5.0 / Phase 21 — 動態路由治理

services/llm_model_router.py (160+ 行)
- 純規則引擎,零 LLM 成本(Python lambda predicate)
- 6 caller × 12 條路由規則:
  • sales_copy: 短文 < 100 字 → gemma3:4b / 長文 → llama3.1:8b
  • hermes_analyst: gap > 20% 或銷量 < -50% → qwen3:14b / 預設 hermes3
  • aider_heal: diff > 200 行 → qwen2.5-coder:32b / 預設 7b
  • openclaw_qa: query > 200 字或 multi_turn → qwen3:14b / 預設 qwen2.5:7b-instruct
  • ppt_vision: minicpm 不健康 → llava / 預設 minicpm-v
  • ea_engine: require_chain_of_thought → deepseek-r1:14b / 預設 Gemini
- feature flag MODEL_ROUTER_ENABLED 預設 OFF(向下相容)
- 失敗安全:predicate 例外 skip 到下一條

tests/test_llm_model_router.py (18 tests 全綠)
- T1 flag OFF 不路由
- T2 sales_copy 短/長文路由
- T3 hermes 簡單/複雜 SKU
- T4 aider_heal 簡單/重構
- T5 ppt_vision 主備援
- T6 ea_engine CoT 路由
- T7 predicate 例外容錯
- T8 utility 函數

ADR-034 — Caller × Context 動態 Model Router
- 6 caller 路由規則對應表
- 5 段否決方案(LLM-based / hardcode / 配置檔 / 統一升級)
- Phase 21.2-21.6 戰略性遷移計畫
- V1-V3 驗收 SQL(caller 整合後 model 分布觀察)

關聯:Primary + Secondary 兩台 GCP 已備齊 10 模型(67GB 對稱)支援所有
路由規則;caller 整合可分階段進行(Phase 21.2-21.5)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:54:12 +08:00

65 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Architecture Decision Records (ADR)
> 本目錄記錄 **EwoooC**(原 MOMO Pro System的所有重大架構決策。
> 專案範圍:`momo-pro-system` 目錄(不含 AWOOOI / WOOO AIOps SaaS Platform
> 遵循本專案的 Codex 工作規則:`AGENTS.md`(入口)+ `CONSTITUTION.md`(紅線)+ ADR決策+ Memory輕量索引
## 編號規則
- 格式:`ADR-XXX-kebab-case-title.md`
- 編號連續遞增,已撤銷的 ADR 保留編號(標記 `Status: Superseded by ADR-YYY`
## 狀態
| 狀態 | 說明 |
|---|---|
| `Proposed` | 提案中,尚未實作 |
| `Accepted` | 已批准,正在實作或已實作 |
| `Deprecated` | 已被取代,但保留歷史 |
| `Superseded` | 被新 ADR 完全取代 |
## 索引
| ADR | 標題 | 狀態 | 日期 |
|---|---|---|---|
| [001](ADR-001-three-agent-self-learning-division.md) | 三 Agent 自主學習分工Hermes/NemoTron/OpenClaw | Accepted | 2026-04-18 |
| [002](ADR-002-pgvector-as-sole-km-store.md) | pgvector 作為唯一 KM 向量庫 | Accepted | 2026-04-18 |
| [003](ADR-003-local-embedding-on-ollama.md) | Embedding 本地化到 Ollama 主機 | Accepted | 2026-04-18 |
| [004](ADR-004-nemotron-fallback-chain.md) | NemoTron 配額耗盡 fallback 至 Hermes Rule-based | Accepted | 2026-04-18 |
| [005](ADR-005-quality-score-time-decay.md) | KM 品質分數加入時間衰減 | Accepted | 2026-04-18 |
| [006](ADR-006-project-rename-to-ewoooc.md) | 專案正名 MOMO Pro System → EwoooC | Accepted | 2026-04-18 |
| [007](ADR-007-ai-learning-dual-write.md) | AI 學習雙寫規範DB + KM 同步寫入) | Accepted | 2026-04-18 |
| [008](ADR-008-actual-runtime-on-188.md) | 正式運行環境確認 — 188 Docker Compose(非 110 K3s) | Accepted | 2026-04-18 |
| [009](ADR-009-embedding-retry-queue-persistence.md) | Embedding Retry Queue 持久化DB-backed | Accepted | 2026-04-19 |
| [010](ADR-010-gitea-cicd-pipeline.md) | EwoooC Gitea CI/CD PipelineGitea Actions + Docker Compose | Accepted | 2026-04-19 |
| [011](ADR-011-cross-project-resource-isolation.md) | 跨專案資源隔離與 Container 管理原則188 多專案共存邊界) | Accepted | 2026-04-19 |
| [012](ADR-012-agent-action-ladder.md) | Agent Action LadderAI Agent 事件介入與自動修復三級信任邊界 L0/L1/L2/L3 | Accepted | 2026-04-19 |
| [013](ADR-013-aiops-autoheal.md) | AIOps 自動修復閉環架構(七步閉環 + SSH Jump Executor | Accepted | 2026-04-19 |
| [014](ADR-014-ppt-report-system-v2.md) | PPT 簡報系統 V2 — 原生圖表 + 9 種報告類型 | Accepted | 2026-04-20 |
| [015](ADR-015-telegram-bot-menu-restoration.md) | Telegram Bot 完整菜單系統恢復 | Accepted | 2026-04-20 |
| [016](ADR-016-daily-sales-cache-fingerprint.md) | daily_sales cache fingerprintgunicorn 多 worker 一致性) | Accepted | 2026-04-29 |
| [017](ADR-017-modularization-cleanup-roadmap.md) | 模組化收尾路線圖Phase 3f | Accepted | 2026-04-29 |
| [018](ADR-018-four-agent-ai-automation-control-plane.md) | 四 AI Agent 自動化控制面Hermes/NemoTron/OpenClaw/ElephantAlpha | Accepted | 2026-04-29 |
| [019](ADR-019-telegram-bot-agentic-conversation-layer.md) | Telegram Bot Agentic Conversation Layer菜單→Agent 決策統一入口) | Accepted | 2026-05-02 |
| [020](ADR-020-code-review-full-autoheal.md) | Code Review 全自動修復政策(局部覆寫 ADR-012 HITL | Accepted | 2026-05-02 |
| [021](ADR-021-ea-hitl-prefetch-and-alert-impact.md) | EA HITL Pre-fetch + 競價告警必填金額影響量化 | Accepted | 2026-05-03 |
| [022](ADR-022-ppt-system-v3-redesign.md) | PPT v3 — 暖紙風 + matplotlib 專業圖表 + 模板版本快取 | Accepted | 2026-05-02/03 |
| [023](ADR-023-ppt-system-expansion-wave1.md) | PPT 系統 Wave 1 擴展 — 廠商 / 期間回顧 / 品類深度 / 客戶分析8 種新報表) | Accepted | 2026-05-03 |
| [024](ADR-024-ppt-system-wave2-forecast-and-deprecations.md) | PPT 系統 Wave 2 — 檔期前瞻 / 多活動比較 + bcg/growth 廢除 | Accepted | 2026-05-03 |
| [025](ADR-025-ppt-system-wave3-new-product-and-market-intel.md) | PPT 系統 Wave 3 — 新品 30 天追蹤 + 市場情報週報 | Accepted | 2026-05-03 |
| [026](ADR-026-ppt-system-price-elasticity-and-final-roadmap.md) | PPT 系統 — 價格彈性報告 + 完整戰役收尾路線圖 | Accepted | 2026-05-03 |
| [027](ADR-027-primary-ollama-on-gcp.md) | Primary Ollama 遷移至 GCP 高效能主機v5.0 戰役後追加附錄:三主機架構 / 4 fallback 鏈 / 廢止 188 Ollama | Accepted | 2026-05-03 |
| [028](ADR-028-llm-routing-unified-principles.md) | LLM 路由統一準則 — Ollama-First 五大支柱(補述 ADR-027 | Accepted | 2026-05-03 |
| [029](ADR-029-hermes-first-twin-tower.md) | Hermes-First 雙塔分工(戰術主塔 / 戰略副塔Gemini 月支出 -23% | Accepted | 2026-05-03 |
| [030](ADR-030-frontier-multi-vendor-strategy.md) | Frontier 多供應商策略Anthropic + Google + OpenRouterPhase 7 Code Review 升 Claude Opus 4.7 | Accepted | 2026-05-03 |
| [031](ADR-031-mcp-self-hosted-stack.md) | MCP 自建 Stackpostgres + omnisearch + firecrawl + filesystem含 Owen 護欄 #2 Firecrawl 2g 限制) | Accepted | 2026-05-04 |
| [032](ADR-032-rag-autonomous-learning-loop.md) | RAG 自主學習迴圈 — Distiller + PromotionGate + 反饋環Phase 11 | Accepted | 2026-05-03 |
| [033](ADR-033-rag-three-guardrails.md) | RAG 治理三護欄 — Promotion Gate / Firecrawl 資源 / BGE-M3 一致性Owen v5.0 鐵律) | Accepted | 2026-05-03 |
| [034](ADR-034-dynamic-model-router.md) | Caller × Context 動態 Model Router短文 gemma3 / 複雜 SKU qwen3:14b / 重構 coder:32b | Accepted | 2026-05-04 |
## 規範
1. **任何重大架構決策**(影響三條產品線之一、改動資料結構、引入新依賴)必須建 ADR
2. **每份 ADR 包含**Context背景→ Decision決策→ Alternatives Considered替代方案→ Consequences後果
3. **建立後同步更新**:本 README 索引、相關 SOT 文件、`docs/memory/README.md`(若有新的長期記憶入口)