feat(Phase 3): 學習閉環重建 — 三根因修復 + 2x EWMA + Evolver Agent
ADR-083 Phase 3 學習閉環重建: **三根因修復** - approval_execution.py: fire-and-forget create_task → await asyncio.wait_for(timeout=30) × 2 (成功路徑 L265 + 失敗路徑 L353,超時記錄 learning_trigger_timeout metric,主流程不 crash) - models/approval.py: ApprovalRequestBase 新增 matched_playbook_id 欄位 - decision_manager.py: _auto_execute 建立 ApprovalRequest 時填充 matched_playbook_id - learning_service.py: 雙路徑查找 _matched_pb_id(matched_playbook_id + metadata fallback) **2x EWMA 負向強化** - models/playbook.py: 新增 trust_score: float = 0.3(EWMA 動態信任度欄位) - repositories/playbook_repository.py: update_stats 加 EWMA 成功: trust = 0.9 × old + 0.1 × 1.0 失敗: trust = 0.8 × old + 0.2 × 0.0(衰減速度 2x) trust < 0.1 → log warning,等 Evolver 封存 **Evolver Agent(新建)** - services/playbook_evolver.py: 三功能全靜態規則 1. 低信任封存: trust < 0.1 → DEPRECATED 2. 休眠封存: 30d 未使用 AND trust < 0.5 → DEPRECATED 3. 相似合併: 症狀 Jaccard > 0.9 → 保留高 trust,封存低 trust AIOPS_P3_EVOLVER_ENABLED=False 預設關閉 **文件** - ADR-083 學習閉環重建 - MASTER §8 Phase 3 完工記錄 AIOPS_P3_ENABLED=False(預設),骨架就位等統帥批准開啟 Co-Authored-By: Claude Sonnet 4.6(亞太)<noreply@anthropic.com>
This commit is contained in:
@@ -1454,3 +1454,33 @@ Phase 6 完成後
|
||||
- 狀態標頭更新:🟢 §0-§7 全填完
|
||||
|
||||
**MASTER v2 第一版完成。** 下一步:統帥 review → 批准 ADR-080 → Phase 0 開工。
|
||||
|
||||
---
|
||||
|
||||
### 2026-04-15 深夜 (台北) — Phase 3 學習閉環重建 — 三根因修復 + 2x EWMA + Evolver Agent 完成
|
||||
|
||||
**統帥指令**:Phase 2 GATE 2 正式關閉(d316221 + 42bc1df),正式開啟 Phase 3 學習閉環重建。
|
||||
|
||||
**變更摘要(5 檔 / 1 新建):**
|
||||
|
||||
| 檔案 | 修改內容 | 根因 |
|
||||
|------|---------|------|
|
||||
| `services/approval_execution.py` | fire-and-forget `create_task` → `await asyncio.wait_for(..., timeout=30)` × 2 處(成功路徑 + 失敗路徑) | 學習觸發 0% |
|
||||
| `models/approval.py` | `ApprovalRequestBase` 新增 `matched_playbook_id: str \| None = None` | Playbook EWMA 從未觸發 |
|
||||
| `services/decision_manager.py` | `_auto_execute` 建立 `ApprovalRequest` 時填充 `matched_playbook_id` | Playbook EWMA 從未觸發 |
|
||||
| `services/learning_service.py` | 雙路徑查找 `_matched_pb_id`(`matched_playbook_id` + `metadata` fallback) | Playbook EWMA 從未觸發 |
|
||||
| `models/playbook.py` | 新增 `trust_score: float = 0.3`(EWMA 動態信任度) | 無 trust_score 欄位 |
|
||||
| `repositories/playbook_repository.py` | `update_stats` 加 EWMA:成功 α=0.1、失敗 α=0.2(2x 衰減)+ 邊界保護 + 低信任警告 | 無 EWMA 更新 |
|
||||
| `services/playbook_evolver.py` | **新建** Evolver Agent:低信任封存(<0.1)+ 休眠封存(30d + <0.5)+ Jaccard 合併(>0.9) | 無 Playbook 生命週期管理 |
|
||||
|
||||
**退出驗收條件(Phase 3 §7.1):**
|
||||
- [ ] `matched_playbook_id` null 率 = 0(所有 RAG 命中的決策都填充)
|
||||
- [ ] Playbook trust_score 每次執行後更新
|
||||
- [ ] 學習呼叫成功率 ≥ 99%(不再 fire-and-forget)
|
||||
- [ ] Evolver 合併演練 1 次成功
|
||||
|
||||
**Feature Flags(預設全 False,等統帥開啟):**
|
||||
- `AIOPS_P3_ENABLED`
|
||||
- `AIOPS_P3_EVOLVER_ENABLED`
|
||||
|
||||
**下一步:** ADR-083 草稿 → Gate 3 架構審查 → Phase 3 commit push Gitea
|
||||
|
||||
Reference in New Issue
Block a user