Why Can't Anyone Answer Questions About the Business? — Garrett Galow, WorkOS
三句話摘要
WorkOS 內部 AI 助手 Studio:用自然語言查詢和自動生成儀表板,讓業務人員自助獲取數據洞察。 WorkOS 通過 AI agent 的動態上下文管理和自動代碼生成,將複雜的數據查詢任務轉化為自服務工具,不僅提升全公司生產力,也直觀演示了 LLM 在企業內部系統的實戰價值——關鍵在於驗證層、上下文分層和生成代碼的獨立部署。 傳統數據查詢的瓶頸在於低效協作。業務人員無法自助回答數據問題,需要技術人員充當中介,每次詢問都要解釋背景、等待查詢、確認細節,查詢結果通常在 Slack 分享後就消失,無法重用和規模化。
重點整理
重點- 1
傳統數據查詢的瓶頸在於低效協作。業務人員無法自助回答數據問題,需要技術人員充當中介,每次詢問都要解釋背景、等待查詢、確認細節,查詢結果通常在 Slack 分享後就消失,無法重用和規模化。
- 2
Studio 的核心創新是 Widget 概念。系統不只執行一次性查詢,而是生成包含前端 UI、後端 API 呼叫和查詢邏輯的完整 JavaScript 代碼。這個 widget 一旦部署就獨立運行,支持團隊可反覆使用而無需再次調用 LLM,確保可靠性和成本效率。
- 3
上下文管理決定 agent 的準確性。Snowflake 的 schema 複雜(如跨四張表的客戶關聯),Radar 的業務邏輯特殊(區分 attempts 和 detections),系統在調用工具時動態注入這些上下文,而非預加載所有內容以保護 context window。
- 4
驗證層確保生成查詢的正確性。系統執行查詢並檢查是否返回數據(許多 SQL 在語法上有效但返回零結果),還透過 context 指示 LLM 過濾已刪除實體和確認 status column,減少常見錯誤。
實用技巧與重點
乾貨- 架構與技術
- LLM:Claude Opus
- Agent 框架:LangGraph
- 數據源:Snowflake(主數據庫)、Linear(issues)、Notion(文檔)
- 狀態存儲:Convex
- 部署方式:內部儀表板 + Slack bot
- 輸出格式:Widget(包含 UI、API、query 的 JavaScript 代碼)
- 三層保障機制
- 序列化流程:前置檢查(工具連接?足夠上下文?)→ 澄清問題 → 決定工具清單 → 執行
- 分層上下文
- 基礎 prompt(agent 行為定義)
- 組織規則(工具特定的 schema、join 邏輯)
- 運行時注入(在調用工具時才加載該工具的完整上下文)
- 驗證層
- 執行查詢前驗證語法正確性
- 檢查查詢是否返回有效數據
- context 中明確指定 filter 條件(如非已刪除、active status 等)
- Snowflake 上下文示例
- 客戶實體表示方式
- 表格間的正確 join 邏輯
- Status column 過濾規則
- 主鍵和外鍵關係
- 實際應用案例
- 內容效果分析:哪些部落格文章、文檔、變更日誌驅動最多新團隊註冊
- Radar 查詢工具:支持團隊自助查詢特定用戶的登入嘗試和是否被系統封鎖
- 可支援跨多個數據源混合查詢(如 Snowflake + Linear + Notion)
- 權限與成本
- 目前:用戶個別連接各工具(使用者自身權限)
- 未來規劃:組織級連接(一人設定,其他人按角色繼承權限)
- 產品依賴:WorkOS 自家的 Pipes 產品提供第三方整合
- 成本策略:優先選擇 Opus(優於其他模型),不進行緩存優化
結論
結論“WorkOS 通過 AI agent 的動態上下文管理和自動代碼生成,將複雜的數據查詢任務轉化為自服務工具,不僅提升全公司生產力,也直觀演示了 LLM 在企業內部系統的實戰價值——關鍵在於驗證層、上下文分層和生成代碼的獨立部署。”
完整解析
詳細WorkOS 面臨的核心問題是業務人員頻繁需要數據洞察,但傳統流程極其低效。當有人想回答「什麼內容最能驅動新客戶」這類問題時,他們往往技術水平不足以自行查詢,必須向技術人員尋求幫助。技術人員需要理解背景、確認需求範圍、撰寫 SQL 查詢、驗證結果是否符合預期,然後將答案分享在 Slack 中。這個流程容易出現誤解,最終答案通常是一次性的,無法被其他團隊成員重用。
為了解決這個問題,WorkOS 構建了 Studio——一個智能化的內部工作空間。用戶可以在內部儀表板或 Slack bot 中用自然語言提出任何商業問題。系統首先進行序列化的前置檢查,確認所有工具是否正確連接、是否掌握足夠上下文來回答問題,然後通過 LangGraph agent 驅動 Claude Opus 模型開始工作流。
在執行階段,系統的關鍵創新在於分層上下文管理。不是預加載所有數據源的完整 schema(會爆表 context window),而是在 agent 決定調用特定工具時才動態注入該工具的上下文。舉例來說,Snowflake 的上下文包含該公司內部 database 的完整 schema——客戶、環境、資源的表示方式,以及複雜的 join 邏輯(某些關聯需要跨四張表)。同樣,Radar 安全產品的上下文定義了 attempts(登入嘗試)與 detections(偵測事件)的區別,以及如何正確過濾已刪除實體和確認 status column。
系統執行查詢後,進行驗證層檢查。許多 SQL 查詢在語法上完全有效,但返回零結果——這種情況下如果系統沒有察覺,答案對使用者毫無用處。因此 Studio 會實際執行查詢、檢查返回數據是否存在、驗證邏輯是否符合業務常識(如應該過濾已刪除的客戶、應該只計算 active status 的資源)。
當用戶滿足於初步答案後可以要求「幫我建立可重用的儀表板」。此時系統的行為升級為生成完整的 widget 代碼。Widget 包含三個部分:前端 UI(表格、圖表、篩選器)、後端 API 邏輯(呼叫各個工具提取數據)、以及底層 query。一旦 widget 生成並驗證通過,它就變成純 JavaScript 代碼運行——LLM 此後完全不參與。當用戶點擊「刷新」時,系統只是重新執行儲存的 query,無需再次調用 LLM,因此成本固定、性能可靠、結果完全一致。
支持團隊因此可以用 Slack bot 自助查詢特定客戶的問題。例如,Radar 用戶會問「為什麼我被這個系統封鎖了」,支持人員可以通過 Studio 的 widget 快速查詢該用戶的所有登入嘗試和封鎖歷史,無需轉向技術團隊。如果發現自己經常提出相同問題,支持人員甚至可以透過 Studio 自助構建新 widget,然後在團隊內共享。
當前的實裝方面,WorkOS 在連接層上使用用戶個別認證(每個人連接自己的 Snowflake、Linear、Notion 帳號),這在公司內部造成摩擦。公司正計畫透過自家產品 Pipes(第三方整合平台)實現組織級連接——一個人設定連接,其他人按照角色繼承權限(例如預設 Linear 為只讀,某些角色可編輯)。
成本考量上,WorkOS 明確選擇優先質量而非成本最優化。他們使用 Opus 而非更廉價的模型,因為性能差異足以正當化投資——Opus 在理解複雜 schema、處理動態 context 注入、驗證查詢結果上的卓越表現,使得一次性成本投入遠小於 bug 修復和人力投入的損耗。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


