From 8a163609bf898bc6105e4e2e29dbcea47d1fa9f7 Mon Sep 17 00:00:00 2001 From: OG T Date: Thu, 26 Mar 2026 10:45:29 +0800 Subject: [PATCH] =?UTF-8?q?docs(adr):=20=E6=9B=B4=E6=96=B0=20ADR-006/009/0?= =?UTF-8?q?15=20=E7=8B=80=E6=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ADR-015: 標記為「已實作」✅ (Phase 16 R1 完成) ADR-009: 標記為「已實作」✅ (Phase 9.1-9.5 全部完成) ADR-006: 新增智能路由整合章節 (Phase 13.3) 首席架構師 ADR 審計 P0/P1 完成 Co-Authored-By: Claude Opus 4.5 --- docs/adr/ADR-006-ai-fallback-strategy.md | 73 ++++++++++++++++++++ docs/adr/ADR-009-openclaw-agent-teams.md | 35 +++++++--- docs/adr/ADR-015-mcp-modular-architecture.md | 19 ++++- 3 files changed, 116 insertions(+), 11 deletions(-) diff --git a/docs/adr/ADR-006-ai-fallback-strategy.md b/docs/adr/ADR-006-ai-fallback-strategy.md index fbfc993e..d54499e9 100644 --- a/docs/adr/ADR-006-ai-fallback-strategy.md +++ b/docs/adr/ADR-006-ai-fallback-strategy.md @@ -286,11 +286,84 @@ AI 用量監控面板應顯示: --- +--- + +## 智能路由整合 (Phase 13.3 - 2026-03-26) + +> 參考: [ADR-016 智能路由](ADR-016-smart-routing.md) + +Phase 13.3 引入**智能路由**機制,動態選擇最適合的模型: + +### 路由決策流程 + +``` +User Request + │ + ▼ +┌─────────────┐ +│ Intent │ 分類意圖 (ALERT/QUERY/CODE_REVIEW/...) +│ Classifier │ +└─────────────┘ + │ + ▼ +┌─────────────┐ +│ Complexity │ 評估複雜度 (1-5) +│ Scorer │ +└─────────────┘ + │ + ▼ +┌─────────────┐ +│ AIRouter │ Intent + Complexity → Model Selection +└─────────────┘ + │ + ├── Low (1-2) → Ollama llama3.2:3b + ├── Medium (3) → Ollama qwen2.5:7b-instruct + └── High (4-5) → Gemini / Claude +``` + +### 意圖覆寫規則 + +| 意圖 | 強制模型 | 原因 | +|------|---------|------| +| CODE_REVIEW | qwen2.5:7b | 需要程式碼理解能力 | +| ALERT_TRIAGE (複雜) | Cloud | 多服務關聯分析 | +| QUERY | llama3.2:3b | 簡單查詢不需大模型 | + +### 與原有 Fallback 整合 + +``` +AIRouter 選擇模型 + │ + ▼ +┌─────────────┐ +│ Primary │ (依路由決策選擇) +│ Model │ +└─────────────┘ + │ 失敗 + ▼ +┌─────────────┐ +│ Fallback │ ADR-006 原有順序 +│ Chain │ Ollama → Gemini → Claude → Static +└─────────────┘ +``` + +### 實作位置 + +``` +apps/api/src/services/ +├── intent_classifier.py # IntentClassifier +├── complexity_scorer.py # ComplexityScorer +└── ai_router.py # AIRouter +``` + +--- + ## 變更記錄 | 日期 | 版本 | 變更 | 作者 | |------|------|------|------| | 2026-03-20 | v1.0 | 初版建立 | CTO | +| 2026-03-26 | v1.1 | 新增智能路由整合章節 (Phase 13.3) | 首席架構師 | --- diff --git a/docs/adr/ADR-009-openclaw-agent-teams.md b/docs/adr/ADR-009-openclaw-agent-teams.md index fc3de7f3..bb6a32ee 100644 --- a/docs/adr/ADR-009-openclaw-agent-teams.md +++ b/docs/adr/ADR-009-openclaw-agent-teams.md @@ -1,9 +1,10 @@ # ADR-009: OpenClaw Agent Teams 架構 -**狀態**: 提議中 → 研究完成 +**狀態**: **已實作** ✅ **日期**: 2026-03-23 +**實作完成**: 2026-03-24 (Phase 9.1-9.5 全部完成) **決策者**: 統帥 + AI 架構師 -**Phase**: 9.1-9.2 (SDK 研究 + 架構設計) +**Phase**: 9.1-9.5 (SDK 研究 → 完整實作) ## 背景 @@ -511,18 +512,32 @@ class OpenClawRouter: return severity in ["P3", "P4"] and len(affected) <= 1 ``` -## 實作計劃 (更新版) +## 實作驗收 (2026-03-24) -| Phase | 內容 | 狀態 | 預估 | +| Phase | 內容 | 狀態 | 實際 | |-------|------|------|------| | 9.1 | ADR 審核 + SDK 研究 | ✅ 完成 | 0.5 天 | -| 9.2 | SDK 整合 + POC | 🔜 下一步 | 1 天 | -| 9.3 | 3 專家 Agent 實作 | | 2 天 | -| 9.4 | ConsensusEngine + leWOOOgo 整合 | | 1.5 天 | -| 9.5 | API 端點 + UI 呈現 | | 1.5 天 | -| 9.6 | 測試 + 文檔 + ADR-006 整合 | | 1 天 | +| 9.2 | SDK 整合 + POC | ✅ 完成 | 1 天 | +| 9.3 | 3 專家 Agent 實作 | ✅ 完成 | 1.5 天 | +| 9.4 | ConsensusEngine + leWOOOgo 整合 | ✅ 完成 | 1 天 | +| 9.5 | API 端點 + UI 呈現 | ✅ 完成 | 1 天 | -**總計: 7.5 天** (原估 10 天,因 SDK 簡化減少) +**總計: 5 天** (比預估提前完成) + +### 實作檔案 + +``` +apps/api/src/agents/ +├── __init__.py +├── security_agent.py # SecurityAgent +├── blast_radius_agent.py # BlastRadiusAgent +├── action_planner_agent.py # ActionPlannerAgent +└── coordinator.py # OpenClawCoordinator + +apps/api/src/services/ +├── consensus_engine.py # ConsensusEngine +└── openclaw_team.py # OpenClawTeam 整合 +``` ### Phase 9.2 POC 驗證項目 diff --git a/docs/adr/ADR-015-mcp-modular-architecture.md b/docs/adr/ADR-015-mcp-modular-architecture.md index 2f5fc18a..ad354edb 100644 --- a/docs/adr/ADR-015-mcp-modular-architecture.md +++ b/docs/adr/ADR-015-mcp-modular-architecture.md @@ -2,8 +2,9 @@ | 欄位 | 值 | |------|-----| -| **狀態** | 已批准 | +| **狀態** | **已實作** ✅ | | **決策日期** | 2026-03-26 | +| **實作完成** | 2026-03-26 (Phase 16 R1) | | **決策者** | 統帥 + 首席架構師 | | **觸發原因** | Code Review 發現嚴重模組化違規 | @@ -132,6 +133,22 @@ async def call_tool(self, server_name: str, tool_name: str, parameters: dict): --- +## 實作驗收 (2026-03-26) + +| 項目 | 狀態 | +|------|------| +| interfaces.py | ✅ 已建立 MCPToolProvider ABC | +| registry.py | ✅ 已建立 ProviderRegistry | +| k8s_provider.py | ✅ 已實作 | +| signoz_provider.py | ✅ 已實作 | +| database_provider.py | ✅ 已實作 | +| mcp_bridge.py 重構 | ✅ 透過 DI 注入 | +| 測試驗證 | ✅ 28/28 通過 | + +**驗收人**: 首席架構師 (Phase 16 R1.3 審查) + +--- + ## 相關文件 - [feedback_modular_architecture.md](../../memory/feedback_modular_architecture.md)