Medic for Apache Spark - First Aid for Failing Jobs - Drasko Profirovic, Pinterest
三句話摘要
Pinterest 開發的 Medic Agent:利用多 Agent 架構診斷 Apache Spark 任務失敗,從原型迭代到生產級診斷系統。 多 Agent 分工架構配合專業化信號處理和量化測試框架,能將 LLM 從通用問答轉變為可靠的分布式系統故障診斷工具。 MCP 作為基礎連接層:通過 Model Context Protocol 將 Spark 資源、日誌、指標等系統暴露給 LLM,使 Agent 能夠推理和分析分布式系統故障。
重點整理
重點- 1
MCP 作為基礎連接層:通過 Model Context Protocol 將 Spark 資源、日誌、指標等系統暴露給 LLM,使 Agent 能夠推理和分析分布式系統故障。
- 2
從單一提示詞到多 Agent 分工:初期單一 ReAct Agent 試圖用一個提示詞完成所有任務,導致提示詞優化不可持續且質量不穩定。改為多 Agent 架構後,每個 Agent 有專用提示詞和工具子集,分別負責意圖分類、故障三角測量、假設驗證、修復建議等環節。
- 3
可觀測性與測試驅動的迭代:引入 OpenTelemetry 和 Langfuse 追蹤 Agent 執行步驟;建立端到端測試框架記錄生產狀態作為 fixture,支援離線評估,使質量改進可量化且可驗證。
- 4
特殊化的信號處理:為日誌和指標各自設計處理管道——例外分類器篩選良性異常、指標分析子 Agent 將時間序列轉換為註解圖表,減少 token 消耗並提升信噪比。
實用技巧與重點
乾貨- 架構組件:MCP 協議、ReAct Agent、Langraph 深度代理庫、OpenTelemetry、Langfuse
- 多 Agent 角色:意圖分類 Agent、三角測量 Agent、研究 Agent(並行)、修復 Agent、監督 Agent
- 日誌處理流程:指紋識別 → 聚類 → 按內容相關性與時間排序 → 透過 MCP 工具提供「取得前 K 個截斷異常」或「取得特定異常完整日誌」
- 指標分析方法:原始時間序列 → 轉換為圖表並並排 → 註解最小/最大值 → 轉換為圖片附加到對話
- 測試機制:錄製模式(呼叫實際系統並保存工具回應)→ 回放模式(對 fixture 執行分析)→ 離線評估打分
- 工具整合:Slack、Airflow UI、向量資料庫(儲存修復手冊)
- 未來方向:融入先前會話的使用者反饋自動改進、擴展到 Flink 和 Trino 等其他分布式系統
結論
結論“多 Agent 分工架構配合專業化信號處理和量化測試框架,能將 LLM 從通用問答轉變為可靠的分布式系統故障診斷工具。”
完整解析
詳細在支持 Spark 基礎設施的過程中,團隊發現支援負擔日益沉重——每天不斷收到故障排查請求,而分布式系統的複雜性使得即使經驗豐富的工程師也難以快速定位根因。傳統方法依賴人工排查,效率低且成本高。Drashko 的團隊提出願景:用 LLM Agent 自動回答「為什麼 Spark 任務失敗」這個問題,並輸出一份結構化的診斷報告,包含根因分析與修復建議。
初期原型透過 MCP 協議將 Spark 資源暴露給 LLM,使 Agent 能呼叫相關工具。但後來發現單一 ReAct Agent 架構存在嚴重限制:一個提示詞必須處理日誌分析、指標理解、假設生成、建議生成等多個認知任務,導致提示詞優化陷入局部最優(改進某一項會破壞另一項)。測試也高度依賴手工生產環境驗證,難以保證改進不會引入迴歸。
為改進系統,團隊投入了可觀測性和可測試性基礎設施。引入 OpenTelemetry 和 Langfuse 記錄每一步驟,用瀑布圖展示 Agent 推理過程;建立端到端測試框架,以錄製模式保存生產環境中的 API 響應作為 fixture,再用回放模式對這些真實情景執行離線評估。這使得質量改進不再依賴直覺,而是量化指標。
隨後的架構重構至多 Agent 設計,利用 Langraph 框架,每個 Agent 承擔特定角色(如三角測量、假設研究、修復生成)並擁有專用提示詞和工具子集。同時針對日誌和指標兩大噪音源進行特殊化處理:例外分類器學習從成功任務中常見的異常,將其標記為紅鯡魚;指標分析子 Agent 將原始時間序列轉換為圖表圖片,既節省 token 又保留視覺信號(如執行器掉線、瓶頸平臺等)。最終的工作流程是:使用者輸入 → 意圖分類 → 故障生命週期判定 → 並行假設驗證 → 監督 Agent 選擇最高置信度根因 → 修復 Agent 根據向量資料庫的修復手冊生成建議 → 組裝最終報告。
實踐結果表明,多 Agent 架構顯著提升了系統的可控性和質量穩定性,特別是在日誌處理和根因判定準確率上。後續團隊實驗了 Langraph 工作流使 Agent 行為更具確定性,但發現仍不如推理與行動範式靈活。當前焦點轉向利用使用者反饋迴圈自動改進 Agent,以及將同樣的模式擴展至 Flink、Trino 等其他分布式系統。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


