← 返回首頁

Dash v2 是一個具備自我學習能力的資料 Agent 系統

Ashpreet Bedi
Ashpreet Bedi
@ashpreetbedi
140🔁 13
𝕏 (Twitter)🔥🔥🔥
AI 中文摘要Claude 生成

Dash v2 是一個具備自我學習能力的資料 Agent 系統。

Dash v2 是一個開源的資料 Agent 系統,透過六層情境感知與自我學習迴圈,解決傳統 Text-to-SQL Agent 因缺乏脈絡與記憶而導致的失敗問題。

核心設計理念
Text-to-SQL Agent 常見的失敗原因在於 Schema 缺乏意義、部落知識(tribal knowledge)缺失,以及無法從錯誤中學習。Dash 透過六層情境(Context)與學習迴圈來解決這些痛點,確保 Agent 輸出的 SQL 不僅正確,且具備業務意義。

系統架構與運作機制
Dash 由工程師與分析師兩個 Agent 組成,並透過六層情境來處理查詢:

  • Table metadata:包含 Schema、欄位與關聯資訊。
  • Human annotations:包含指標定義與業務規則。
  • Validated query patterns:已驗證可運作的 SQL 模式。
  • Institutional knowledge:文件與 Wiki 等組織知識。
  • Learnings:錯誤模式與已發現的修正方案。
  • Runtime context:即時的 Schema 檢查。

此外,Dash 具備自我學習迴圈:當 Agent 執行查詢遇到錯誤時,會自動診斷問題、進行修正並儲存結果,確保未來不再重複相同的錯誤。

資料安全與權限隔離
Dash 採用雙 Schema 系統,在結構上隔離公司資料與 Agent 管理的資料:

  • Public Schema:存放公司資料,由外部載入,對 Agent 而言僅為唯讀。
  • Dash Schema:由工程師 Agent 管理,存放 View、摘要表與計算資料。

安全性方面,Dash 透過 RBAC 與 JWT 驗證,並在資料庫層級強制執行權限(而非僅靠 Prompt 指令),確保 Agent 無法執行破壞性 SQL 或跨越 Schema 邊界。開發者甚至設計了評估套件(eval suite),專門測試 Agent 是否會洩漏憑證或執行危險操作。

基礎設施與部署
Dash 的基礎設施設計刻意保持「無聊」(標準化),95% 的運行邏輯與一般服務無異,降低維運複雜度:

  • 支援 Docker Compose 本地開發。
  • 支援 REST API、Slack、Web UI 等多種介面,且共用同一套 Agent 定義。
  • 提供一鍵雲端部署(如 Railway)。

開發者反思
作者在開發過程中體悟到,Agent 本身其實是最簡單的部分,系統周邊的工程才是關鍵。將記憶儲存在資料庫而非檔案中,能輕易實現多租戶(multi-tenancy);在資料庫層級而非 Prompt 層級實施權限控管,才能獲得真正有效的安全性。當賦予 Agent 儲存學習成果的能力時,每一次的查詢都會讓下一次的表現變得更好。