# ADR-018: 四 AI Agent 自動化控制面（Hermes / NemoTron / OpenClaw / ElephantAlpha）

- **Status**: Accepted
- **Date**: 2026-04-29
- **Deciders**: 統帥
- **Related**: ADR-001, ADR-004, ADR-007, ADR-009, ADR-011, ADR-012, ADR-013

## Context

ADR-001 定義 Hermes / NemoTron / OpenClaw 三 Agent 自主學習分工，ADR-012 定義事件介入的 L0/L1/L2/L3 信任邊界，ADR-013 定義 AIOps 自癒閉環。

2026-04-29 的 AI 自動化盤點與修復後，系統實作已超出原本三 Agent 學習分工：

- `services/event_router.py` 已成為告警、降級、去重、通知重放與安全 L2 action 的共同入口。
- `services/auto_heal_service.py` 已承擔 incident / playbook / heal log / KM 沉澱的自癒閉環，但必須保護 `momo-db`。
- `services/openclaw_learning_service.py` 已成為 raw `ai_insights` 寫入與 embedding queue 的橋接層。
- `services/elephant_alpha_autonomous_engine.py` 已接入 HITL、AutoHeal bridge、Telegram 通知與受控 SSH log scan。

因此需要把 ElephantAlpha 正式納入 MOMO PRO / EwoooC 的 AI 自動化控制面，避免文件仍停留在三 Agent 舊模型。

## Decision

採用「四 AI Agent + EventRouter + AutoHeal」控制面：

| 角色 | 層級 | 主要責任 | 不可越界 |
|---|---|---|---|
| Hermes | L1 Observer / Embedding | 摘要、規則降級、embedding、品質分數、RAG 輔助 | 不直接做外部副作用，不生成最終策略報告 |
| NemoTron | L2 Investigator | tool calling、事件路由、低風險安全 action、DB/KM 寫入派發 | 不動 prod 容器與外部系統，不做不可逆操作 |
| OpenClaw | L3 Strategist | 高品質策略、報告、長期洞察、人工核准後的高風險建議 | 無 HITL 不直接執行高風險動作 |
| ElephantAlpha | L3 Orchestrator | 跨 Agent 編排、HITL 決策、AutoHeal bridge、受控執行計畫 | 不繞過 EventRouter / AutoHeal / ADR-011 邊界 |

控制面規則：

1. EventRouter 是告警與 L2 action 的唯一入口；通知鏈不可因 AI 失敗中斷。
2. AutoHeal 是自癒副作用的唯一入口；`momo-db` / `momo-postgres` 永遠不得被自動 restart / stop / recreate。
3. OpenClaw learning 是 AI 記憶落點；raw `ai_insights` 寫入者必須同步 enqueue embedding 或具備可回補機制。
4. ElephantAlpha 只能編排與橋接，不可直接跳過 HITL、安全白名單或跨專案隔離規則。
5. L2 安全 action 只允許保守、可審計、可回放的動作，例如 `retry_task`、`query_km`、`silence_alert`、`flag_for_human_review`、`route_to_km`、`mark_for_relearn`。

## Alternatives Considered

| 方案 | 不採用原因 |
|---|---|
| 維持 ADR-001 三 Agent 模型 | 無法解釋 ElephantAlpha 的 orchestration / HITL / AutoHeal bridge 實況 |
| 讓 ElephantAlpha 取代 OpenClaw | 會混淆策略報告與執行編排責任，成本與風險邊界不清 |
| 讓 NemoTron 直接執行所有自癒 | L2 不應具備高副作用權限，與 ADR-012 信任邊界衝突 |
| 導入外部 Agent framework | 黑盒程度高，難審計，不符合本專案 FinOps 與安全透明原則 |

## Consequences

正面：

- 四個 AI Agent 都有明確位置，避免重疊工作與越權。
- 告警、自癒、通知、記憶沉澱形成可測試閉環。
- NemoTron / OpenClaw / ElephantAlpha 失敗時仍可降級到 Hermes / L0 模板。
- AI 記憶不再只依賴單一路徑，raw insert 也能排入 embedding queue。

風險與約束：

- 文件與實作必須同步維護，否則新 session 容易回到三 Agent 舊心智模型。
- ElephantAlpha 的「編排」很容易被誤解成「全權執行」，所有 bridge 必須走既有安全入口。
- AutoHeal 若找不到 DB 或 PlayBook，必須安全降級為 alert / file / log，不可因記錄失敗而中斷通知。

## Implementation Notes

2026-04-29 已落地的關鍵 commit：

- `779b27f` 修復 P0 告警自癒鏈與測試收集
- `0875dd8` 補強 5.5 自癒安全回看
- `1c2dc6c` 補強 AI 自動化閉環與安全降級
- `f0e044a` 補齊自癒稽核與 OpenClaw 記憶閉環
- `0c2e9bb` 串接 AI 洞察向量化與漏通知入口
- `78eebfb` 加入告警去重與洞察向量回補
- `d486598` 補強 ElephantAlpha 執行與通知閉環
- `5b25f55` 補齊 EventRouter 失敗通知回放
- `162a76b` 落地 L2 安全記憶動作

## References

- `docs/AI_INTELLIGENCE_MODULE_SOT.md`
- `docs/memory/ai_automation_closure_20260429.md`
- `docs/guides/ai_automation_session_sop.md`
- `services/event_router.py`
- `services/auto_heal_service.py`
- `services/openclaw_learning_service.py`
- `services/elephant_alpha_autonomous_engine.py`
