KeyFrame內部研究專用

Self Driving Products: Product Signals to Pull Requests — Joshua Snyder, PostHog

AI Engineer·6月10日週三·15 min英文

三句話摘要

PostHog 正在建構一套 AI 驅動的觀測資料管道,能自動檢測產品問題並生成拉取請求,將開發者從繁瑣的 bug 追蹤流程中解放出來。 PostHog 正在證明 AI agent 能將可觀測性資料自動轉化為生產級修復,最終願景是讓產品「自我構建」,使開發者專注於創新而非重複勞動。 多源訊號分組需要語義層:PostHog 面臨的核心問題是來自錯誤追蹤、會話錄影、Slack 訊息等源頭的訊號結構完全不同。直接用現成嵌入模型會按資料格式聚類(所有錯誤聚在一起,所有 Slack 訊息聚在一起),無法發現跨來源的真實關聯。解決方案是先用 LLM 從訊號生成查詢語句(問「這個訊號是關於什麼」),再在嵌入空間中匹配查詢而非原始訊號,這樣才能將來自不同格式的相關問題連結起來。

重點整理

重點
  • 1

    多源訊號分組需要語義層:PostHog 面臨的核心問題是來自錯誤追蹤、會話錄影、Slack 訊息等源頭的訊號結構完全不同。直接用現成嵌入模型會按資料格式聚類(所有錯誤聚在一起,所有 Slack 訊息聚在一起),無法發現跨來源的真實關聯。解決方案是先用 LLM 從訊號生成查詢語句(問「這個訊號是關於什麼」),再在嵌入空間中匹配查詢而非原始訊號,這樣才能將來自不同格式的相關問題連結起來。

  • 2

    安全防護與可行性雙重閘門:由於訊號來自公開來源,攻擊者可注入惡意資料。管道頂端用 LLM 分類器掃除安全威脅。後續還需評估問題是否可行——不是所有報告都足夠具體供 agent 修復,含糊問題(如「onboarding 壞了」)會導致無意義的拉取請求,須判斷是否資料不足、需人工決策、或可立即執行。

  • 3

    沙箱隔離 + 迭代反饋的完整迴圈:研究 agent 和執行 agent 都在 Modal 沙箱中運行,可存取 MCP 伺服器(拉取補充資料)、完整程式碼庫、Linear/Notion 等外部系統。生成拉取請求後,系統監聽 CI 結果與代碼審查評論,自動重新啟動沙箱並繼續迭代,直到拉取請求變綠——開發者早上看到的是已通過的修復,而非需手動修復的失敗。

  • 4

    實驗優先優於成本優化:初期團隊過度節省成本而延遲使用 agent,結果效果糟糕。改為積極實驗後,反而發現可從 agent 行為中提煉模式,逐步將昂貴的 agent 調用轉化為廉價的一次性 LLM 呼叫或訓練模型,最終成本更低且效果更好。

實用技巧與重點

乾貨
  • 資料規模:每月吸收數兆個事件
  • 技術棧:Claude agent SDK、Modal(沙箱執行)、MCP 伺服器、Linear、Notion
  • 訊號來源:錯誤追蹤、會話錄影、Slack 訊息、日誌、實驗結果
  • 管道七步流程
  • 訊號吸收 → LLM 安全過濾(檢測惡意注入)
  • 訊號正規化(統一為:source, type, content, weight, embedding)
  • 訊號分組(LLM 生成查詢 → 嵌入空間匹配 → 權重累積 → 超閾值晉升為報告)
  • 研究 agent(分析根本原因、識別程式碼庫、Git blame 指派審核者)
  • 可行性評估(不可行/需人工輸入/可立即執行)
  • 執行修復(克隆程式庫 → agent 寫代碼 → 推送拉取請求)
  • 迭代迴圈(監聽 CI + 評論 → 重啟沙箱 → 繼續修復 → 直到通過)
  • 未來目標:自動執行實驗、測量影響、用 agent 批准簡單變更並特性旗標部署、從每個部署結果學習改進
  • 當前狀態:Alpha 階段,未來幾個月逐步推出

結論

結論

PostHog 正在證明 AI agent 能將可觀測性資料自動轉化為生產級修復,最終願景是讓產品「自我構建」,使開發者專注於創新而非重複勞動。

完整解析

詳細

PostHog 的觀測資料自動修復管道解決了傳統開發流程的根本低效性。當前的工作流是:產品中發生一個信號(如錯誤激增或用戶會話失敗)→ 幾小時或幾天後開發者注意到儀表板的變化 → 診斷問題 → 提交線性工單 → 幾天後編寫拉取請求 → 代碼審查 → 部署。整個過程從數小時到數天不等,且這類工作佔據開發者的大量時間。PostHog 的目標是徹底反轉這個流程:訊號發生的瞬間,後台 agent 立即開始分析並自動提交拉取請求,開發者只需查看準備好的拉取請求清單。

管道的前兩個階段處理訊號吸收與標準化。PostHog 每月吸收數兆個事件,來自五個主要來源:錯誤追蹤、會話錄影、Slack 整合、日誌與實驗結果。由於某些來源是公開的(例如網站錯誤),攻擊者可能注入惡意訊號來探測產品或洩露資料。因此,管道的第一道防線是一個 LLM 分類器,負責掃除安全威脅。通過安全檢查後,系統將每條訊號正規化成統一結構:來源標籤、訊號類型、內容、重要性權重與語義嵌入向量。

第三階段是訊號分組,也是整個管道最具挑戰性的部分。系統需要識別「同一個問題的多個表現」——例如 Sentry 中的 null pointer 例外、會話錄影中的用戶挫折、以及 Slack 中客戶的投訴「結帳功能壞了」可能都源自同一個 bug。起初團隊使用現成的嵌入模型直接聚類訊號,但結果慘淡:模型傾向按資料結構相似性而非語義相似性分組,導致所有錯誤聚在一起、所有 Slack 訊息聚在一起,跨來源的關聯完全被忽視。解決方案是改變嵌入的對象:先用 LLM 從每條訊號生成若干查詢語句(問「這個訊號是關於什麼產品問題」),然後在嵌入空間中匹配查詢而非訊號本身。這樣嵌入模型就能基於語義內容而非資料格式進行聚類。訊號進入分組流程後持續累積權重,當單個報告的權重超過閾值時,系統將其晉升為「待研究報告」。

第四到六階段構成整個修復的核心迴圈。系統啟動一個運行在 Modal 沙箱中的研究 agent(使用 Claude agent SDK),該 agent 能存取三層資訊:PostHog 的 MCP 伺服器(用於拉取額外的日誌、會話錄影、實驗結果等補充資料)、完整的使用者程式碼庫上下文、以及外部整合如 Linear(工單系統)和 Notion(文檔)。研究 agent 的目標是理解問題的根本原因、定位相關的程式碼庫、評估優先級,並使用 Git blame 確定最合適的代碼審查者。隨後進入可行性評估階段,系統根據問題的具體程度和資料充分性做三個決定:(a)若資料不足,將報告放回池中繼續收集;(b)若涉及產品決策(如「該改進哪個功能」),轉送到人工審查收件箱;(c)若充分具體(通常來自 Sentry 等結構化來源),執行修復。在執行階段,系統克隆使用者程式庫到隔離沙箱,再次啟動 Claude agent 寫修復代碼,推送拉取請求。當 CI 報告失敗或審查 agent 留下評論時,系統會重新啟動沙箱快照並繼續迭代,直到拉取請求通過所有測試。

在建設過程中,PostHog 團隊學到了四個深刻的經驗。首先,評估測試必須在代表性生產資料上進行。本地的「感覺檢查」無法適應不同客戶的多樣化資料,盲目試驗等同於「在黑暗中摸索」。其次,嵌入模型的結構偏見是隱形的陷阱——現成模型預設按資料格式聚類,若不刻意設計應對,會導致完全的聚類失敗。第三,agent 過度應用會產生垃圾拉取請求。若將「onboarding 壞了」這樣的模糊問題丟給 agent,它會被迫猜測並生成無意義的修復,必須在上游的可行性評估中篩選掉。最後,初期的「節省代幣成本」戰略是大錯誤。團隊起初試圖延遲 agent 使用以降低成本,結果管道變得不可行。改為積極實驗後,反而發現了驚人的收獲:通過運行 agent 100 次處理同類問題,可以觀察到 agent 行為的模式,進而將昂貴的 agent 調用轉化為廉價的一次性 LLM 呼叫或訓練出輕量級模型。這樣最終的成本反而遠低於初期預估。

關鍵時刻

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與熱力學的數學等價性:資訊論是兩個領域的共同基礎,生成模型的擴散過程與非平衡統計力學描述資訊損失的過程在數學上完全對應,許多開發出來的方法工具在兩領域都有精確對應的形式。
  • 基礎模型的遷移學習策略:先在廣泛材料資料集上訓練基礎力場表示,再針對特定材料類別進行蒸餾微調,既能保持計算效率也能獲得專一性。