KeyFrame內部研究專用

Medic for Apache Spark - First Aid for Failing Jobs - Drasko Profirovic, Pinterest

AI Engineer·7月20日週一·11 min英文

三句話摘要

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 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing
編輯精選
83 min
AI 技術英文PODCAST8月26日

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing

Latent Space

  • 加速傳統物理模擬的典範轉移:氣象科學家原本認為 AI 無法匹敵數十年的物理建模工作,但傅里葉神經算子不僅達到同等精度,還快了一萬多倍。原本需要超級計算機的計算現在用消費級 GPU 就能完成,這改變了整個領域的思維方式。
  • 傅里葉域的非局部現象捕捉:傅里葉域能有效表示非局部現象(如大氣河流跨越千里的影響),且計算複雜度為準線性,遠優於完全連接的全局模型。這特別適合流體動力學、量子化學等自然現象中普遍存在的非局部相互作用。
  • 多解析度連續函數表示:神經算子將輸入輸出視為連續函數而非固定維度向量,可在推論時以任意解析度查詢,並能在更高解析度上疊加物理約束或額外數據,克服了固定解析度神經網路的限制。
Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Why the Next AI Breakthrough May Come from Physics with Max Welling - #774
55 min
AI 技術英文PODCAST8月25日

Why the Next AI Breakthrough May Come from Physics with Max Welling - #774

TWIML AI

  • 多層篩選的材料設計流程:先搜尋文獻資料庫找現有材料,若無合適的就用生成模型產生數十萬個候選分子,用機器學習力場進行分子動力學模擬篩選,再進行實驗驗證。這套流程相比傳統量子力學計算能加速效率數個數量級。
  • 生成AI與熱力學的數學等價性:資訊論是兩個領域的共同基礎,生成模型的擴散過程與非平衡統計力學描述資訊損失的過程在數學上完全對應,許多開發出來的方法工具在兩領域都有精確對應的形式。
  • 基礎模型的遷移學習策略:先在廣泛材料資料集上訓練基礎力場表示,再針對特定材料類別進行蒸餾微調,既能保持計算效率也能獲得專一性。