在大型企業中,數據分析往往面臨一個尷尬的困境:雖然數據量極大,但要回答一個簡單的業務問題(例如:義大利有多少 ChatGPT Pro 用戶?),往往需要跨越多個部門、查閱大量文檔並由多位工程師協作才能得出答案。這種低效率源於數據規模過大導致的表發現困難、SQL 撰寫複雜以及業務邏輯分散在各處。
為了打破這個瓶頸,OpenAI 開發了一款內部 AI 數據分析代理工具 Kepler。這不僅是一個能寫 SQL 的聊天機器人,而是一個能理解公司數據生態、具備自我學習能力且能自動驗證結果的 AI Agent。
數據分析 Agent 的核心挑戰:上下文視窗與語義鴻溝
對於初學者來說,最直覺的想法可能是將所有資料表定義(Schema)丟給 LLM。但在 OpenAI 的規模下,這是不可能的。他們擁有超過 70,000 個資料集和 600 PB 的數據量,任何 LLM 的上下文視窗(Context Window,指模型一次能處理的文字量)都無法容納。
此外,僅有 Schema 是不夠的。例如,兩個表可能都有用戶 ID,但一個是加密的,另一個不是;或者某些表已經過濾了欺詐數據,而另一些則沒有。如果 AI 不理解這些語義上的微小差異,產出的分析結果可能會產生數量級的誤差,導致錯誤的業務決策。
Kepler 的技術解決方案:多維度上下文注入
為了讓 AI 真正理解數據,Kepler 採取了三層上下文策略:
第一層:自動化的代碼爬取與元數據生成 OpenAI 發現手動維護表描述(Description)非常困難且容易過時。他們開發了一套離線作業,利用 Codex 類模型自動爬取代碼庫(例如 Airflow 工作流、Spark 任務定義),分析資料表是如何被創建的、下游如何使用、主鍵是什麼以及數據的新鮮度。這讓 AI 能知道某張表是包含第一方流量而非第三方流量,這種從代碼推導出的語義遠比手動寫的描述精準。
第二層:企業知識庫 RAG Kepler 整合了公司內部的 Slack 討論、Notion 文檔和 Google Drive 文件。透過 RAG(Retrieval-Augmented Generation,檢索增強生成),當 AI 發現數據出現異常(例如用戶數突然飆升)時,它能主動檢索相關的事故報告或發佈紀錄,將數據結果與業務背景結合,給出像人類分析師一樣的解釋。
第三層:分層語義記憶(Scoped Semantic Memory) 為了避免 AI 重複犯錯,Kepler 引入了記憶機制。當用戶糾正 AI 的查詢邏輯(例如:計算活躍用戶時必須排除外部帳號且使用 PST 時區)後,這個修正會被存入記憶庫。記憶被分為三個層級:用戶級(個人偏好)、頻道級(團隊共識)和全局級(通用修正)。這使得 Agent 具有自我學習能力,能隨著使用時間增加而變得更精準。
實作細節:MCP 協議與工具鏈
Kepler 採用了 MCP(Model Context Protocol,一種標準化的上下文傳輸協議),讓 AI 能像使用工具箱一樣調用各種能力。
AI 的工作流程不再是單向的生成,而是一個循環的推理過程: 接收問題 $\rightarrow$ 進行內部知識搜索 $\rightarrow$ 檢索相關表 Schema。 撰寫 SQL $\rightarrow$ 執行查詢 $\rightarrow$ 觀察結果。 根據結果反思:如果結果為空或不合理,AI 會自動調整 SQL 或重新搜索知識庫。 最終總結 $\rightarrow$ 格式化輸出或繪製圖表。
這種反思機制(Chain of Thought)對工程師至關重要,因為它可以被串流輸出,讓用戶即時監控 AI 的思考路徑,若發現方向錯誤可立即中斷並指引。
如何確保 AI 數據分析的準確性?
在數據分析中,錯一點就全錯。OpenAI 使用了一套嚴格的評估 pipeline(Evals)來防止模型退化(Regression)。
他們不比對 SQL 文本的完全一致(因為同一結果可以用多種寫法),而是將 SQL 轉換為 AST(Abstract Syntax Tree,抽象語法樹)來比對邏輯結構。同時,他們將 AI 生成的結果與人工標記的正確結果進行比對,並使用另一個 LLM 作為評分員(Grader),判斷結果在業務邏輯上是否等價。
安全與權限控管
Kepler 並不擁有額外的權限,它完全繼承用戶本身的身份驗證(Authentication)。如果用戶沒有某張表的訪問權,Kepler 無法獲取數據,而是會建議用戶申請加入對應的權限組。此外,對於輸出到 Slack 等公開頻道的結果,系統會通過匿名化服務攔截 PII(Personally Identifiable Information,個人識別資訊),確保敏感數據不外洩。
總結與工程啟示
建構一個成功的數據 AI Agent,關鍵不在於模型本身,而是在於上下文的品質。
數據上下文 $\neq$ 資料表定義:必須包含代碼邏輯、血緣關係(Lineage)和業務文檔。 記憶是持續進化的關鍵:透過分層記憶將用戶的反饋轉化為模型的長期能力。 評估決定上限:建立基於 AST 和結果集比對的自動化評估體系,才能敢於將 Agent 部署到生產環境。
來源:infoq.com (Presentation: AI Agents to Make Sense of Data at OpenAI)
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。