目錄
研究計劃
Safe and Verifiable Autonomous Remediation: Root-Cause-Guided Mitigation and Safe Action Rewriting for LLM Multi-Agent SRE
Abstract
雲端服務與大型分散式系統的故障處理,至今仍仰賴工程師 24/7 on-call。基於大型語言模型(LLM)的 agent 已能自主執行 detection、localization、root-cause analysis 與 mitigation,但在現有 benchmark 上的成功率仍然有限;而維運中一個錯誤動作就可能讓已經劣化的系統更加惡化,使安全性成為自主 site reliability engineering(SRE)實際部署的主要瓶頸。現有的自主 SRE 系統有兩個限制。其一,遇到無法復原的動作只能拒絕,任務因此中斷。其二,不先確認根因就進行緩解,容易只消除表面症狀。本研究提出「安全且可驗證的自主修復」,以安全動作改寫(方向 A)回應前者,以根因引導的緩解(方向 B)回應後者。本研究將在 ITBench、AIOpsLab、OpenRCA 與 InfraBench 上,以任務成功率、安全完成率與修復持久性評估,並延伸到 LLM serving 情境,把回答品質納入修復的成功條件。
Keywords:AIOps、LLM agent、agent safety、autonomous remediation、root cause analysis、LLM serving
1 Introduction
雲端與敏捷開發讓 IT 系統的複雜度大幅增加:Google 的一個叢集每年約有上千次機器故障,而軟體 bug 與 misconfiguration 比硬體故障更多 [1];升級、修補、遷移與備份等維護,也都必須在不中斷服務的情況下完成 [2]。故障的代價很高,CrowdStrike 當機事件估計造成約 54 億美元的損失 [1]。本研究關注 site reliability engineering(SRE)[3] 中的事故處理。事故處理至今仍仰賴 24/7 on-call [4],對應 AIOpsLab [5] 等 benchmark 評估的四類任務:detection(偵測)、localization(定位)、root-cause analysis(根因分析,RCA)與 mitigation(緩解)。
LLM agent 已開始自主處理事故,但能力與安全仍是瓶頸。能力上,即使是目前表現最好的 STRATUS,在 ITBench 與 AIOpsLab 的 mitigation 成功率也只有 50.0% 與 69.2% [6];安全上,錯誤的維運操作可能讓叢集崩潰且難以還原,而 agent 可能因理解不完整、規劃錯誤或幻覺(hallucination),讓已經劣化的系統更加惡化 [6]。
以 LLM 處理 SRE 任務還有資料上的挑戰。telemetry(metric、log、trace 等 observability 資料)量大,且會隨版本與設定變更持續演變(drift);其中的 log 是 semi-structured text,混合了自由形式的描述,以及 identifier、stack trace、error code 等類似程式碼的 token [7]。LLM 的優勢在於 semantic generalization 與 soft matching,即使不同服務或版本以不同措辭描述同一個問題,仍能辨識出來;也能把 log、trace/metric、ticket、runbook 與 configuration 等異質證據統合到同一個 reasoning space,產生排序後的根因假說與候選行動 [8]。然而,context window、latency 與 cost 限制了能放進 prompt 的證據:若分段(chunking)依序輸入 LLM,成本高又失去全局視角;若只取樣一部分,又可能漏掉關鍵資訊;數字、GUID、錯誤碼這類罕見 token 也不是 LLM 擅長處理的 [4]。
因此,近期方法轉向 tool/agent augmentation,讓 LLM 以 planning、acting、observing、deciding 的循環,反覆呼叫外部工具來蒐集並驗證證據 [9]。OpenRCA 的 RCA-agent 即是一例,它讓 LLM 撰寫並執行程式來處理資料,原始 telemetry 不必放進 context,既保有全局視角,也大幅降低 token 用量 [4]。工具呼叫也帶來新的 failure mode 與安全風險,實務部署因此會加上 guardrail [7]。
STRATUS [6] 以 state machine 編排 detection、diagnosis、mitigation 與 undo 等 specialized agent,並實際執行修復,是目前最接近自主 SRE 的系統。它仍有兩個限制:第一,它以 undo 保障安全,無法復原的動作會被拒絕,任務可能因此無法完成;第二,它不先確認根因就進行緩解,對重啟無法解決的持續性故障可能無效。本研究用 LLM 撰寫程式來處理 telemetry;沿用 STRATUS,以 deterministic state machine 編排 agent,只在 data flow 中使用 LLM。在此基礎上,針對上述兩個限制提出兩個方向。預期貢獻如下:
- 安全動作改寫(方向 A):依系統協定,把危險動作改寫成安全的多步序列後再執行,取代「只阻擋」或「只給文字回饋」(3.2 節)。
- 根因引導的緩解(方向 B):把根因分析納入緩解流程,緩解前以 telemetry 驗證根因假說,緩解後確認根因已消除,而不只看告警是否清除(3.3 節)。
- 安全與持久性的評估:在四個 benchmark 上,除了任務成功率,也評估安全完成率與修復持久性,並納入重啟無法解決的持續性故障情境(第 4 節)。
2 Related Work
自主 SRE agent 與架構。LLM 用於 SRE 的研究先以「輔助」為主:RCACopilot [10] 預測根因類別,Ahmed et al. [11] 產生根因與緩解步驟供工程師判斷;STRATUS [6] 則是轉向「自主」的代表。STRATUS 並指出,以 agent 之間的對話或辯論提升推理品質的做法(multi-agent debate [12])不適合需要安全推理與時效性的 SRE 任務,因此改用 deterministic state machine 編排 agent;本研究沿用此架構,多 agent 的價值在於權限分離而非互相討論(3.1 節)。以 log 為核心的 LLM 研究已有成熟的設計模式 [7]:prompting/in-context learning(ICL)、retrieval grounding、tool/agent augmentation 與 verification,但都停在 log 的分析,不含會改變系統狀態的修復;其中 anomaly detection 最穩健的做法是輕量 detector 評分、LLM 解釋與驗證,本研究的 Detection 沿用這個設計(3.4 節)。
Agent 的安全機制。現有的 agent guardrail 多半在執行前判斷並阻擋:ToolEmu [13] 讓 LLM 讀文字判斷風險;ShieldAgent [14]、GuardAgent [15] 把 policy 轉成規則逐動作檢查;維運領域的 ARBITER [16] 也只能放行或阻擋。它們只看文字與規則,看不到系統當下的狀態,而維運動作的副作用往往要執行後才浮現。少數工作嘗試「修正而非阻擋」:AgentSpec [17] 以預先寫好的替代動作取代危險動作,Sun et al. [18] 以文字回饋讓 agent 自己改計畫,safe reinforcement learning(Safe RL)的 shielding [19] 則需要先把系統狀態抽象成有限狀態。目前沒有方法能依系統協定與當下狀態,把危險動作改寫成安全的多步序列並驗證結果,這是方向 A 的缺口。
Benchmark。ITBench [1] 與 AIOpsLab [5] 在實際運行的 Kubernetes 環境注入故障,評估 agent 能否解除故障;InfraBench [2] 補上部署、除役階段與風險評估。它們都在任務結束後才評分,不在修復過程中防止傷害,也很少涵蓋共識服務或 LLM serving,這是第 4、5 節要處理的缺口。
3 Methodology
3.1 系統概觀
本研究採用 multi-agent 架構:以 deterministic state machine 控制流程,只在 data flow 中使用 LLM。處理流程定義如下:
- Detection:以告警或輕量異常偵測觸發;Detection agent 把被標示的 window 整理成結構化的症狀報告,作為 Diagnosis 的輸入(3.4 節)。
- Diagnosis:定位故障並形成根因假說,再以 tool augmentation 驗證假說:撰寫並執行程式分析 telemetry,並查詢 log、metric 與 trace(方向 B;工具設計見附錄)。
- Mitigation:依已驗證的根因擬定緩解計畫,並分解為具體動作。
- Action Rewriting:執行前檢查每個動作,把危險動作改寫成安全的多步序列(方向 A)。
- Execution and Verification:執行後確認根因已消除,而不只是告警消失(方向 B)。
採用多個 agent 而非單一 agent 搭配工具,目的是權限分離(least privilege):每個步驟由獨立的 agent 負責,只持有該步驟需要的工具。Detection 與 Diagnosis agent 只有唯讀的分析工具;Mitigation agent 只產生計畫;會改變系統狀態的指令工具只存在於修復路徑(Mitigation 到 Execution)上,而且每個指令都先經過 Action Rewriting 的檢查與改寫(方向 A)。因此任何一個 agent 推理出錯,都不會直接變成對系統的操作。權限分離限制錯誤的影響範圍,把修復拆成多個步驟的 structured decomposition 則讓錯誤在中間產物就被攔下。每一步的中間產物(根因假說、證據查詢結果、改寫後的動作序列)都可檢查、有 grounding,LLM 只產生這些產物,而不是一次生成整個修復敘述。各步驟使用的技術見 3.5 節。
3.2 方向 A:安全動作改寫
現有方法要求每個動作都能 undo,無法復原的動作只能拒絕或交由人工。本研究依系統的協定規則,把危險動作改寫成安全的多步序列後再執行,例如:
- 刪除 leader 節點前,先轉移 leader。
- 下線存放資料的節點前,先進入維護模式,等副本補齊後再下線。
改寫規則來自系統的協定文件與 runbook,例如 etcd 的成員變更與 leader 轉移程序。前導實驗先以 4 條人工撰寫、事先凍結的規則驗證可行性;完整研究則把規則與 runbook 片段建成索引,在執行前以 retrieval 取回與該動作、該系統相關的規則,再由 LLM 依規則產生改寫後的序列,並以 schema-constrained output 把輸出限制為可執行的動作清單。沒有取回任何規則時,改為文字回饋(fallback)。
3.3 方向 B:根因引導的緩解
STRATUS [6] 主張 RCA 不在緩解的關鍵路徑(critical path)上,而是在事後離線進行;成功的緩解不一定需要知道根因,例如把 workload 遷到健康的機器、重啟故障元件,或 rollback 最近的變更。然而,不確認根因的緩解可能只讓症狀暫時消失。STRATUS 在 ITBench 解決的題目中,有 8 題是靠逐一重啟 pod 過關,作者也承認這種策略對錯誤設定、硬體缺陷這類持續性故障可能無效。本研究因此把 RCA 納入處理流程:
- 緩解前:diagnosis 輸出結構化的根因假說(schema-constrained output:元件、故障類型、證據),並附上可執行的證據查詢;由 state machine 執行查詢,結果支持假說才進入 mitigation,否則退回 diagnosis。這等於把 chain-of-thought(CoT)的中間步驟換成可檢查、有 grounding 的產物,也是 CoT 在 log 診斷上最有效的用法 [7]。初始假說由 distributed trace 建構 call graph 所得的 fault localization 出發(附錄),並以 retrieval 取回相似的歷史事故作為 system-specific exemplar。
- 緩解後:再執行一次證據查詢,確認根因的條件已經消失,而不只是告警消失。
3.4 分析資料:Telemetry 與 anomaly detection
Telemetry 是用來監控軟體系統內部狀態的資料,包含三類 [4]:
- Metric:追蹤關鍵績效指標(KPI)的時間序列,例如 CPU 使用率或回應時間。
- Trace:記錄多個元件之間的互動與相依關係,通常以圖的形式表示。
- Log:記錄各元件的執行期事件與訊息,帶有 info、warn、error 等 verbosity level。
其中,log 是 semi-structured text,混合了自由形式的文字、identifier 與類似程式碼的 token;它量大、產生速度快(high-volume/high-velocity),也會隨軟體更新、設定變更與部署環境持續演變(drift)[7]。分析前,log 通常先切成連貫的 sequence:有 identifier 時,依 request ID 或 trace/span ID 分組;沒有時,則依時間或筆數做 windowing。Diagnosis 步驟中由 LLM 撰寫的程式,即以這種方式切分與篩選資料。
Detection 在這些 window 上進行。如第 2 節所述,LLM-based anomaly detection 最穩健的做法是由輕量 detector 評分、LLM 負責解釋與驗證,而不是讓 LLM 直接掃描整個 log stream;LLM 並沒有消除「什麼算異常」的模糊性,只是把工作重心移到 normality curation(維護正常基準)、context selection 與 false alarm 控制 [7]。本研究採用這種 hybrid 設計。第一層不用 LLM:以 benchmark 告警(ITBench、AIOpsLab 的 detection 任務)、metric 超過門檻,或 window 與正常 window 的差異給出 anomaly score,並標出可疑的 log 行。差異以 template 頻率或 embedding 的 nearest-neighbor 距離衡量;正常 window 依部署版本維護,不需重新訓練。第二層由 Detection agent 只讀取被標示的 window,以 schema-constrained output 產生症狀報告(元件、時間範圍、症狀、證據行)。因此 Diagnosis 收到的證據從一開始就是有界的(bounded evidence),而不是完整的 stream。前導實驗以 benchmark 的告警觸發,輕量 detector 是完整研究才加入的部分。
3.5 LLM 的使用方式
每一次 LLM 呼叫都受到輸入與輸出兩端的限制。表 1 整理各步驟使用的技術。
表 1:各步驟使用的 LLM 技術
| 技術 | 本研究的用法 | 對應步驟 |
|---|---|---|
| Prompting/ICL | schema-constrained output(結構化症狀報告、根因假說、可執行動作清單);bounded evidence(只把被標示或與假說相關的 window 交給 LLM) | Detection、Diagnosis、Action Rewriting |
| Retrieval grounding | 與正常 window 做 nearest-neighbor 比對以偵測異常;取回相似的歷史事故作為 exemplar;取回協定文件與 runbook 中的改寫規則 | Detection、Diagnosis、Action Rewriting |
| Structured decomposition/CoT | 整條流程拆成可檢查的步驟;假說→證據查詢→驗證為有 grounding 的 CoT | 全流程、Diagnosis |
| Tool augmentation | 唯讀的分析工具與會改變系統狀態的指令工具(附錄) | Detection、Diagnosis、Execution |
這些技術讓 system-specific knowledge(協定規則、歷史事故)可以在不重新訓練模型的情況下更新。代價是多輪工具呼叫帶來的 latency 與錯誤傳遞(error propagation)風險,因此以 deterministic state machine 限制迭代次數。
4 Evaluation
4.1 Benchmarks
本研究使用表 2 的四個 benchmark:ITBench、AIOpsLab 與 OpenRCA 用來比較 agent 的修復與診斷能力,InfraBench 則是評估安全性時最接近的參考。
表 2:本研究使用的 benchmark
| Benchmark | 出處 | 代表結果 | 評分方式 |
|---|---|---|---|
| ITBench [1] | IBM,ICML’25 | baseline agent 解決 SRE 11.4%。STRATUS [6] 在其中 18 個任務達 50.0% | mitigation 以告警是否清除判定 |
| AIOpsLab [5] | Microsoft,MLSys’25 | STRATUS [6] 的 mitigation 達 69.2%(13 題),RCA 最佳 38.5% | 故障是否解除 |
| OpenRCA [4] | Microsoft,ICLR’25 | 最佳 11.34%;直接提供關鍵 telemetry 時只有 5.37% | 根因元素是否正確 |
| InfraBench [2] | UW–Madison,arXiv 2026 | 平均分數 45.5%–89.2% | 逐項檢查,並在任務結束後檢查長期效果 |
如第 2 節所述,這些 benchmark 只在任務結束後評分,也很少涵蓋共識服務。本研究沿用其評分,並補上修復過程中的容錯餘裕檢查(4.2 節的 )與共識服務情境。
4.2 實驗設計
符號。 令 為所有 episode 的集合;一個 episode 是一個 agent 處理一個故障情境的完整過程,期間依序執行動作 ,使系統狀態由 變為 。 為指示函數, 為各 benchmark 原本的成功判定 [1, 5]。
評估指標。
(1) 任務成功率(Success Rate, SR):
(2) 根因正確率(RCA Accuracy, Acc):依 OpenRCA [4] 的判定,預測的根因元素(元件、起始時間、原因)三者必須全部命中才計為正確:
其中 與 分別為預測與真實的根因元素。
(3) 安全完成率(Completion under Margin, ):仿照 ST-WebAgentBench [20] 的 CuP(只計入遵守所有 policy 的完成),本指標只計入修復過程中沒有安全違規的完成。令容錯餘裕 為狀態 下,系統在不失去服務保證的前提下還能承受的成員故障數;例如一個 Raft group 有 個 voter、其中 個健康時,。動作 若無法復原(),或使容錯餘裕下降且低於門檻 ,就記為一次違規:
只計 agent 動作造成的下降,注入故障本身不計入。下標 是容錯餘裕的門檻: 只禁止讓系統失去保證的動作, 則要求多保留一個成員的餘裕。由定義可知 ,兩者的差距即為「修好了,但過程不安全」的比例。
(4) 修復持久性(Durability Rate, DR):參考 InfraBench [2] 的 Durability 檢查,在成功的 episode 中,重啟受影響元件後仍判定為成功的比例:
(5) 成本:參考 STRATUS [6],報告每個 episode 的平均耗時 與平均 LLM 花費 :
實驗一(方向 A)。 在完整的修復流程中,比較動作改寫、只阻擋、只給文字回饋三種做法的 SR 與 。
實驗二(方向 B)。 比較「有 RCA 步驟」與「沒有 RCA 步驟」的系統,特別挑選重啟無法解決的持續性故障情境(例如錯誤設定),比較 SR、Acc、DR 與成本(、)。
比較對象。 所有實驗以多個 LLM 各重複數次,報告平均值與 95% 信賴區間,並與 STRATUS 等現有的 SRE agent 比較。
4.3 Ablation Study
實驗一、二比較不同的設計;本節則以完整系統為基準,每次移除一個元件,檢驗各元件的貢獻(表 3)。所有設定使用相同的 benchmark 情境、LLM 與重複次數;與方向 B 相關的設定,另外在重啟無法解決的持續性故障情境上報告。
表 3:Ablation 設定
| 設定 | 移除的元件(改用的做法) | 要回答的問題 |
|---|---|---|
| Full | 無 | 完整系統的表現,作為比較基準 |
| w/o Action Rewriting | 動作改寫(危險動作直接拒絕) | 改寫能否在不降低安全完成率的前提下,提高任務成功率? |
| w/o Pre-mitigation RCA | 緩解前的根因驗證(不驗證根因就擬定緩解計畫) | 先確認根因,能否提高緩解成功率與修復持久性? |
| w/o Post-mitigation Check | 緩解後的根因確認(以告警清除判定成功) | 確認根因已消除,能否避免「症狀消失、故障仍在」的誤判? |
| w/o Code-based Analysis | 程式分析 telemetry(改為 windowing+top-k 可疑行後交給 LLM 摘要) | 程式分析能否提高根因正確率(Acc),並降低成本? |
| w/o Retrieval Grounding | retrieval(改寫只用固定的人工規則;診斷不取回歷史事故) | retrieval 能否擴大可改寫的動作範圍,並提高根因正確率? |
| Base | 方向 A 與 B 都移除 | 兩個方向合計帶來多少改進?兩者是否有交互作用? |
5 延伸研究:LLM serving 情境與品質感知 SLO
延伸研究把受測系統從微服務與共識服務換成部署在 Kubernetes 上的 LLM serving(例如 vLLM),方法沿用第 3 節。LLM serving 讓「修好不等於修對」更明顯,因為服務會「不報錯但答錯」(silent failure)。Anthropic 的一次事故中,三個基礎設施 bug 讓模型輸出品質下降,高峰時影響 16% 的 Sonnet 4 請求,內部評測卻沒有發現 [21];對 DeepSeek、Llama、Qwen 三個開源模型 705 個故障的分析顯示,61.1% 是 runtime crash,33.9% 是程式沒有停止、行為卻不對,根因多在環境與基礎設施(45.7%)和使用者設定(25.4%)[22]。因此 health check 通過、HTTP 200、告警清除,都不代表修對。
延伸研究的新貢獻是把回答品質納入修復的成功條件。傳統的 service level objective(SLO)看可用率、延遲與錯誤率;延伸研究把成功條件改為
其中 是請求 的回答品質,TTFT 為 time to first token,、、 為品質、延遲與成本的門檻。線上請求的 沒有標準答案,因此以重播一組 golden prompts 估計;這也是 3.3 節「緩解後驗證」在 LLM serving 上的形式。
兩個方向也隨之延伸。方向 B 的根因假說要涵蓋 KV cache 容量、chat template、量化格式等 LLM serving 特有的根因。方向 A 的「危險動作」要從「無法復原」擴充到「高代價或不等價」:重啟 vLLM 會中斷 in-flight 請求、重新載入模型要數分鐘,切換到較小的 fallback 模型則會改變輸出品質與格式。對應的改寫規則例如:先啟動新的 replica,等模型載入並通過 golden prompts 驗證,再逐步切換流量。容錯餘裕 在此定義為健康 replica 數減去維持服務所需的最少 replica 數。
現有的 SRE agent benchmark(表 2)都沒有 LLM serving 的故障情境。延伸研究將在 vLLM 上注入 KV cache 壓力、請求暴增、GPU 記憶體壓力與錯誤的 chat template 等故障,同時量測延遲、吞吐量與輸出品質,並以 SR、、DR 與 評估。
Appendix
系統中的必要實作
Agent tools。工具分成兩類:唯讀的分析工具(查詢 log、metric、trace,或執行程式處理 telemetry),以及會改變系統狀態的指令工具(例如 kubectl、etcdctl),後者依 3.1 節的權限分離只開放給修復路徑,方向 A 的動作改寫即作用在這一層(3.2 節)。前例包括 AIOpsLab [5] 的 Agent-Cloud Interface、ITBench [1] 的 NL2Kubectl 等自然語言工具,以及 STRATUS [6] 依 agent-computer interface(ACI)原則 [23] 設計的工具。一般的 guardrail 包括工具允許清單、迭代次數上限、schema validation 與保守的 fallback [7]。
Bootstrapping。診斷需要起點:故障沿 request–response 路徑傳播並反映在 trace 中,因此先從 trace 建構 call graph,找出可疑的服務作為初始根因假說(3.3 節)。前例包括 MicroRank [24] 以 PageRank 與 spectrum analysis 從 trace 排序根因;STRATUS [6] 以 call graph 產生初始定位假說。
References
[1] S. Jha et al., “ITBench: Evaluating AI agents across diverse real-world IT automation tasks,” in Proc. 42nd Int. Conf. Mach. Learn. (ICML), ser. PMLR, vol. 267, 2025, pp. 27134–27197.
[2] Y. Gao et al., “InfraBench: Evaluating infrastructure agents across layers, lifecycle, and risk,” 2026, arXiv:2608.11234.
[3] B. Beyer, C. Jones, J. Petoff, and N. R. Murphy, Eds., Site Reliability Engineering: How Google Runs Production Systems. Sebastopol, CA, USA: O’Reilly Media, 2016.
[4] J. Xu et al., “OpenRCA: Can large language models locate the root cause of software failures?” in Proc. 13th Int. Conf. Learn. Represent. (ICLR), 2025.
[5] Y. Chen et al., “AIOpsLab: A holistic framework to evaluate AI agents for enabling autonomous clouds,” in Proc. Mach. Learn. Syst. (MLSys), vol. 7, 2025.
[6] Y. Chen et al., “STRATUS: A multi-agent system for autonomous reliability engineering of modern clouds,” in Adv. Neural Inf. Process. Syst. (NeurIPS), vol. 38, 2025, pp. 55835–55881, doi: 10.52202/085713-1671.
[7] Z. Ma, J. Yang, and T.-H. Chen, “LLM4Log: A systematic review of large language model-based log analysis,” ACM Trans. Softw. Eng. Methodol., 2026, doi: 10.1145/3842759.
[8] H. Guo et al., “OWL: A large language model for IT operations,” in Proc. 12th Int. Conf. Learn. Represent. (ICLR), 2024.
[9] S. Yao et al., “ReAct: Synergizing reasoning and acting in language models,” in Proc. 11th Int. Conf. Learn. Represent. (ICLR), 2023.
[10] Y. Chen et al., “Automatic root cause analysis via large language models for cloud incidents,” in Proc. 19th Eur. Conf. Comput. Syst. (EuroSys), 2024, pp. 674–688, doi: 10.1145/3627703.3629553.
[11] T. Ahmed, S. Ghosh, C. Bansal, T. Zimmermann, X. Zhang, and S. Rajmohan, “Recommending root-cause and mitigation steps for cloud incidents using large language models,” in Proc. IEEE/ACM 45th Int. Conf. Softw. Eng. (ICSE), 2023, pp. 1737–1749, doi: 10.1109/ICSE48619.2023.00149.
[12] Y. Du, S. Li, A. Torralba, J. B. Tenenbaum, and I. Mordatch, “Improving factuality and reasoning in language models through multiagent debate,” in Proc. 41st Int. Conf. Mach. Learn. (ICML), ser. PMLR, vol. 235, 2024, pp. 11733–11763.
[13] Y. Ruan et al., “Identifying the risks of LM agents with an LM-emulated sandbox,” in Proc. 12th Int. Conf. Learn. Represent. (ICLR), 2024.
[14] Z. Chen, M. Kang, and B. Li, “ShieldAgent: Shielding agents via verifiable safety policy reasoning,” in Proc. 42nd Int. Conf. Mach. Learn. (ICML), ser. PMLR, vol. 267, 2025, pp. 8313–8344.
[15] Z. Xiang et al., “GuardAgent: Safeguard LLM agents via knowledge-enabled reasoning,” in Proc. 42nd Int. Conf. Mach. Learn. (ICML), ser. PMLR, vol. 267, 2025, pp. 68316–68342.
[16] P. Habibi and A. Leon-Garcia, “ARBITER: Guarded agentic control for SLO-oriented Kubernetes remediation,” 2026, arXiv:2607.19182.
[17] H. Wang, C. M. Poskitt, and J. Sun, “AgentSpec: Customizable runtime enforcement for safe and reliable LLM agents,” in Proc. IEEE/ACM 48th Int. Conf. Softw. Eng. (ICSE), 2026, pp. 2938–2950, doi: 10.1145/3744916.3764546.
[18] Y. Sun, J. Zhang, S. Cohney, Z. Zhang, F. Liu, and X. Yuan, “From risk classification to action plan remediation: A guardrail feedback driven framework for LLM agents,” 2026, arXiv:2606.05805.
[19] M. Alshiekh, R. Bloem, R. Ehlers, B. Könighofer, S. Niekum, and U. Topcu, “Safe reinforcement learning via shielding,” in Proc. AAAI Conf. Artif. Intell., vol. 32, no. 1, 2018, doi: 10.1609/aaai.v32i1.11797.
[20] I. Levy et al., “ST-WebAgentBench: A benchmark for evaluating safety and trustworthiness in web agents,” in Proc. 14th Int. Conf. Learn. Represent. (ICLR), 2026.
[21] Anthropic, “A postmortem of three recent issues,” Anthropic Engineering, Sep. 17, 2025. Accessed: Oct. 6, 2026. [Online]. Available: https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues
[22] G. Yu et al., “Why does the LLM stop computing: An empirical study of user-reported failures in open-source LLMs,” 2026, arXiv:2601.13655.
[23] J. Yang et al., “SWE-agent: Agent-computer interfaces enable automated software engineering,” in Adv. Neural Inf. Process. Syst. (NeurIPS), vol. 37, 2024, pp. 50528–50652, doi: 10.52202/079017-1601.
[24] G. Yu et al., “MicroRank: End-to-end latency issue localization with extended spectrum analysis in microservice environments,” in Proc. Web Conf. (WWW), 2021, pp. 3087–3098, doi: 10.1145/3442381.3449905.
初步最小實驗
實驗設定
| 項目 | 設定 |
|---|---|
| 主機 | 1 台 x86_64,16 核、64 GB RAM、NVMe;kind v0.33.0,3 個 worker(E-A 專用叢集 3 worker、E-B 叢集依 AIOpsLab kind/kind-config-x86.yaml) |
| AIOpsLab | GitHub main,commit ccf08d0d(2026-09-14);config.yml 的 k8s_host: kind |
| STRATUS | GitHub main,commit 4fc9a5b6(2025-10-23);Python 3.12、CrewAI;BENCHMARK="AIOpsLab"、GOD_MODE="False";orchestrator.start_problem(max_steps=30);CrewAI agent max_iter 20/20/25(原始碼預設,未改) |
| LLM | gpt-4o-2024-08-06(agent 與 tools 相同),TEMPERATURE 0.0、SEED 10、TOP_P 0.95、MAX_TOKENS 16000(.env.tmpl 預設)。成本以 OpenAI 標準價換算:input 2.50 USD、cached input 1.25 USD、output 10.00 USD/百萬 token |
| etcd | v3.7.2,官方 image;5 成員 StatefulSet(見 1.3) |
| 重複 | 每個(情境, 設定)3 次;E-B 每題依 STRATUS test_agent.sh 重建 kind 叢集後執行(未加 -p),E-A 每個 episode 重新部署 etcd 並重灌資料 |
| 紀錄 | 每個 episode 保存 run.log、AIOpsLab session、probe 時序(E-A)、DR 檢查的兩次 oracle 結果、token 用量與耗時 |
方向 B 數據
每格為 B-Base/B-RCA。
| 題目 | SR (/3) | DR strict | DR adj | Acc | Acc 元件 | (s) | (USD) | 步數 |
|---|---|---|---|---|---|---|---|---|
| tp-1 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 135/190 | 0.12/0.18 | 13/13 |
| tp-2 | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 | 235/330 | 0.34/0.43 | 23/23 |
| tp-3 | 3/3 | 3/2 | 3/3 | 3/3 | 3/3 | 150/205 | 0.09/0.15 | 11/11 |
| assign | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 120/170 | 0.06/0.10 | 12/12 |
| scale0 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 155/235 | 0.24/0.30 | 88/88 |
| uu-1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 1850/1950 | 0.40/0.50 | 123/123 |
| uu-2 | 1/2 | 1/2 | 1/2 | 1/2 | 2/2 | 2000/2050 | 0.88/0.98 | 46/46 |
| ra-1 | 0/0 | 0/0 | 0/0 | 2/2 | 3/3 | 1400/1600 | 0.45/0.62 | 121/121 |
| ra-2 | 0/0 | 0/0 | 0/0 | 1/2 | 2/3 | 1350/1550 | 0.61/0.74 | 108/108 |
| auth_miss | 3/2 | 3/2 | 3/2 | 2/3 | 2/3 | 155/255 | 0.16/0.24 | 20/20 |
| misconfig | 1/2 | 1/2 | 1/2 | 2/2 | 3/3 | 1300/1350 | 0.77/0.90 | 10/10 |
| redeploy | 2/2 | 2/2 | 2/2 | 2/3 | 2/3 | 900/975 | 5.90/6.20 | 152/152 |
| wrong_bin | 2/2 | 2/2 | 2/2 | 1/2 | 2/3 | 650/720 | 0.55/0.66 | 51/51 |
| 合計/平均 | 26/27 | 25/26 | 26/27 | 28/33 | 33/37 | 800/891 | 0.81/0.92 | 60/60 |
| 指標 | B-Base | B-RCA | 差 |
|---|---|---|---|
| SR | 26/39 = 66.7% | 27/39 = 69.2% | +2.6 pp |
| DR(strict) | 25/26 = 96.2% | 26/27 = 96.3% | +0.1 pp |
| DR(扣除時序假象) | 26/26 = 100% | 27/27 = 100% | 0 |
| Acc | 28/39 = 71.8% | 33/39 = 84.6% | +12.8 pp |
| Acc(只看元件) | 33/39 | 37/39 | +4 |
| 800 s | 891 s | 1.11× | |
| 0.81 USD | 0.92 USD | 1.14× | |
| 中位數 | 0.37 USD | 0.47 USD | 1.26× |
| 證據查詢總次數 | – | 81 | – |
失敗分類
| failure_type | B-Base | B-RCA |
|---|---|---|
| 執行知識型 | 9 | 10 |
| 診斷走偏型 | 4 | 1 |
| stale-log 假陰性 | 0 | 1 |
| 合計 | 13 | 12 |
B-RCA 證據閘門的結果(39 個 episode)
| pre_gate | 次數 | post_check | 次數 |
|---|---|---|---|
| supported_1st | 27 | passed | 27 |
| syntax_fail_then_supported | 6 | failed_stale_log | 1 |
| supported_after_retry | 4 | not_reached(mitigation 未成功) | 11 |
| unsupported_exhausted(帶標記放行) | 2 |
方向 A 數據:
| 情境 | 設定 | SR | 成功且違規 k1 | 違規 k1 | 違規 k0 | irrev | min m | 被攔合計 | false interv | 清單外 | det miss | undo offset | (s) | (USD) | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A1 | A-C0 | 2/3 | 2 | 0/3 | 0/3 | 3 | 2 | 0 | -3 | 0 | 0 | 0 | 0 | 1 | 760 | 0.74 |
| A1 | A-Block | 1/3 | 0 | 1/3 | 1/3 | 0 | 0 | 0 | 1 | 15 | 1 | 0 | 0 | 1 | 1150 | 0.94 |
| A1 | A-Feedback | 3/3 | 0 | 3/3 | 3/3 | 0 | 0 | 0 | 1 | 5 | 0 | 0 | 0 | 0 | 865 | 0.85 |
| A1 | A-Rewrite | 3/3 | 0 | 3/3 | 3/3 | 0 | 0 | 0 | 1 | 3 | 1 | 0 | 0 | 0 | 710 | 0.67 |
| A2 | A-C0 | 1/3 | 1 | 0/3 | 0/3 | 3 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1100 | 0.95 |
| A2 | A-Block | 1/3 | 0 | 1/3 | 1/3 | 0 | 0 | 0 | 1 | 12 | 1 | 0 | 0 | 0 | 1125 | 0.95 |
| A2 | A-Feedback | 2/3 | 0 | 2/3 | 2/3 | 0 | 0 | 0 | 1 | 4 | 0 | 1 | 0 | 0 | 990 | 0.93 |
| A2 | A-Rewrite | 3/3 | 0 | 3/3 | 3/3 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0 | 780 | 0.70 |
| A3 | A-C0 | 1/3 | 0 | 1/3 | 1/3 | 2 | 2 | 0 | -1 | 0 | 0 | 0 | 0 | 1 | 1010 | 0.83 |
| A3 | A-Block | 1/3 | 0 | 1/3 | 1/3 | 0 | 0 | 0 | 0 | 11 | 0 | 1 | 1 | 0 | 1150 | 1.00 |
| A3 | A-Feedback | 2/3 | 0 | 2/3 | 2/3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1025 | 0.90 |
| A3 | A-Rewrite | 2/3 | 0 | 2/3 | 2/3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1025 | 0.90 |
| 設定 | SR | 成功且違規 k1 | 違規 k1 | 違規 k0 | 被攔合計 | false interv | 清單外 | (s) | (USD) | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| A-C0 | 4/9 | 3 | 1/9 | 1/9 | 8 | 6 | 0 | 0 | 0 | 957 | 0.84 |
| A-Block | 3/9 | 0 | 3/9 | 3/9 | 0 | 0 | 38 | 2 | 1 | 1142 | 0.96 |
| A-Feedback | 7/9 | 0 | 7/9 | 7/9 | 0 | 0 | 12 | 0 | 1 | 960 | 0.89 |
| A-Rewrite | 8/9 | 0 | 8/9 | 8/9 | 0 | 0 | 9 | 1 | 0 | 838 | 0.76 |
效果模型的混淆矩陣(27 個 wrapper episode)
| 實測 min m ≥ k(安全) | 實測 min m < k 或 irrev(危險) | |
|---|---|---|
| 介入(攔下/改寫) | false intervention 3 | 正確介入 56 |
| 放行 | 正確放行 20 | 漏攔 0 |
預測總次數 79;清單外動作 2 次(皆無害,放行並記錄)。false intervention:kubectl rollout restart sts 在 OnDelete 下無效卻被預測為 5 成員失效 ×2、scale sts --replicas=4 ×1。
| probe 統計(36 episode) | 值 |
|---|---|
| 實際間隔中位數 | 2.1 s |
| 實際間隔最大值 | 3.4 s |
與 Prometheus etcd_server_has_leader 的違規判定一致 |
8/8(A-C0 的違規 episode) |
| 以 leader raftIndex 為參照重算時多出的假 k=0 違規 | 5(A1 A-Feedback 2、A1 A-Rewrite 3;選舉空窗) |
| caught-up 門檻 10/100/1000 下 A-C0 的 viol_k1 | 9/8/8 |