feat(Phase 3): 學習閉環補完 — Root cause 3 + 診斷 feedback + 知識遺忘 + Fine-tune 管線
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled

- approval_execution.py: _run_post_execution_verify() 補接 record_verification_result()
  Root cause 3 終結:環境驗證結果(success/degraded/failed/timeout)不再孤立
- learning_service.py: 新增 record_verification_result() — 驗證結果 → Redis + Playbook EWMA
- learning_service.py: 新增 record_diagnosis_outcome() — 誤診負向訊號回寫(L3×D4)
- jobs/knowledge_decay_job.py: 新建 30d 知識遺忘 Job(未引用 draft/review → archived)
- services/finetune_exporter.py: 新建每週 JSONL 匯出(EvidenceSnapshot × AgentSession)
- main.py: 掛載 knowledge_decay_loop(24h)+ finetune_export_loop(7d)
- MASTER §8: Phase 3 核心改造項全部落地記錄

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-04-15 20:57:33 +08:00
parent e23e49c13b
commit fb1bbd0e20
6 changed files with 598 additions and 0 deletions

View File

@@ -1529,3 +1529,33 @@ Phase 6 完成後
- [ ] 生產驗證(等 3ce5025 / Phase 6 image 部署後觀察)
**commit chain** fab65e7 → f31b4e3 → f045506 → f9ba200 → 3ce5025 → (Phase 6 REST API commit)
---
### 2026-04-15 深夜 (台北) — Phase 3 學習閉環補完 — Root cause 3 + 診斷 feedback + 知識遺忘 + Fine-tune 管線
**本次完成Phase 3「核心改造項」全部落地**
| 檔案 | 修改內容 | 對應項目 |
|------|---------|---------|
| `services/approval_execution.py` | `_run_post_execution_verify()` 補接 `record_verification_result()` 呼叫Root cause 3 終結 | 驗證結果 → 學習接線 |
| `services/learning_service.py` | 新增 `record_verification_result()`環境驗證結果success/degraded/failed/timeout回寫 Redis + 更新 Playbook EWMA | Root cause 3 接線 |
| `services/learning_service.py` | 新增 `record_diagnosis_outcome()`:誤診(人工拒絕/驗證失敗)回寫負向 Playbook 訊號 | 診斷 feedbackL3×D4 |
| `jobs/knowledge_decay_job.py` | **新建** 每日 Job30 天未引用view_count=0的 draft/review KB 條目標 archived + tag `kb_decay_30d` | 知識遺忘L7×D4 |
| `services/finetune_exporter.py` | **新建** 每週 Jobverification_result='success' 的 EvidenceSnapshot × AgentSession × AutoRepairExecution → Alpaca JSONL → `/tmp/finetune/` | Fine-tune 管線L7×D4 |
| `main.py` | 掛載 `run_knowledge_decay_loop`(每 24h+ `run_finetune_export_loop`(每 7d| Job 調度 |
**Phase 3 退出條件更新:**
- [x] Root cause 1fire-and-forget → await7da64ea
- [x] Root cause 2matched_playbook_id 永不填充7da64ea
- [x] Root cause 3驗證結果未傳學習本次
- [x] 2x EWMA 負向衰減7da64eaplaybook_repository.py
- [x] Evolver Agent7da64eaplaybook_evolver.py
- [x] 診斷 feedback本次record_diagnosis_outcome
- [x] 知識遺忘 Job本次knowledge_decay_job.py
- [x] Fine-tune 管線本次finetune_exporter.py
- [ ] `matched_playbook_id` null 率 = 0生產驗證需 7 天監控)
- [ ] Playbook trust_score 有 ≥ 1 筆 24h 動態更新(生產驗證)
- [ ] Fine-tune JSONL ≥ 10 條(待 EvidenceSnapshot 累積 7 天後驗證)
**下一步:** 推 Gitea → CD 部署 → 7 天生產觀察 Phase 3 退出條件