Data-Analysis-Agent 開源 AI 資料分析助手:用自然語言查資料庫,把 SQL 交給模型

用 AI 摘要這篇文章:

Data-Analysis-Agent(專案自稱「智析 Agent」)是一個用 Python 寫的開源 AI 資料分析助手。連好資料來源之後,你用中文問它問題,它會自己生成 SQL、執行查詢、挑圖表類型、再吐出一段業務洞察。對於會看報表但不會寫 SQL 的人,它把「想問資料庫一句話」這件事,從找工程師幫忙拉到你可以自己操作的程度。

不過它不是資料庫管理工具,也不等於成熟的 BI 平台。它真正適合的,是已經有資料庫或 Excel 資料、想要快速做臨時分析、又不想為了三行查詢去學 SQL 的中小團隊。如果你要的是連線管理多種資料庫、改 table schema、匯入匯出,那其實是另一類工具的任務,TablePro 那種原生 Mac 資料庫客戶端更對口,兩者服務的是不同的搜尋意圖。

Data-Analysis-Agent GitHub repository pagePin
Data-Analysis-Agent GitHub 倉庫首頁(Zafer-Liu/Data-Analysis-Agent,Apache-2.0,Python)

它實際在做什麼:把自然語言問題翻成 SQL 再執行

Data-Analysis-Agent 的核心體驗是你看得到每一步。每問一句話,畫面上會依序浮現「正在讀取資料結構」「正在生成 SQL」「正在執行查詢」「正在生成圖表與洞察」這幾個進度訊息,整個過程走 SSE(Server-Sent Events)串流,所以你不是把問題丟出去之後盯著一個轉圈圈等答案,而是能看到模型把 schema 先讀進來、再組出 SQL、再跑查詢、再決定畫哪種圖。換句話說,黑箱被打開了一半,至少流程透明。

要讓這條流程跑起來,你需要先準備好兩樣東西:資料來源,以及一個相容 OpenAI SDK 的 LLM API Key。資料來源可以是上傳的 Excel 或 CSV 檔,也可以是直接連 SQLite、MySQL、PostgreSQL、SQL Server。LLM 那邊,根據 GitHub README 列出官方搭配的三個 provider(DeepSeek 預設 deepseek-v4-flash、OpenAI 預設 gpt-4o-mini、AtlasCloud 預設 deepseek-v4-pro),並開放自訂 base_urlapi_keymodel 三個欄位,所以任何相容 OpenAI 格式的服務都能接,包含自架的 AI API 匝道

Data-Analysis-Agent natural language query interfacePin
Data-Analysis-Agent 的自然語言查詢介面:輸入中文問題後即時顯示 SQL 與查詢結果

圖表系統是它最認真做的一塊

很多 Text-to-SQL 工具能幫你生 SQL,但視覺化這一步常常很隨便,預設就給你一張柱狀圖。Data-Analysis-Agent 在這個環節花的力氣明顯比較多。最讓人意外的是它內建了桑基圖(Sankey)、和絃圖(Chord diagram,用來看節點之間的流量關係)、旭日圖(Sunburst,把層級資料畫成同心圓)、克利夫蘭點圖(Cleveland dot plot,比柱狀圖更適合做細微差距的比較)、脊線圖(Ridgeline,把多個密度曲線疊起來看分佈)這種一般在 BI 工具裡要外掛或寫 code 才畫得出來的統計圖,全部加起來覆蓋 43 種類型、分散在六種分析情境。系統會根據這次查詢結果的特性,自己挑它判斷最合適的那一種,你不用每次都手動改圖表類型。

Data-Analysis-Agent auto-generated visualization chartPin
Data-Analysis-Agent 自動生成的視覺化圖表(依查詢結果從 43 種圖表類型中推薦)

除了自動選圖,它還內建一套斜線指令(slash commands),讓你在自然語言之外更明確地控制輸出。例如 /chart 強制優先出圖、/sql 直接執行你寫好的 SQL、/analyze 做深度統計分析、/kmeans 跑 K-Means 分群、/tree 跑決策樹、/report 匯出 Word 或 PDF 報告、/ppt 匯出簡報檔、/export 匯出整理過的 Excel。把「AI 幫你問資料」和「正規統計分析」整合進同一個介面,是它比單純的 NL2SQL 玩具更往前走一步的地方。

統計分析功能:不只是查詢,還能做正規分析

根據 README 的功能列表,很多人以為 Data-Analysis-Agent 只是「翻譯自然語言成 SQL」,但它其實跨到正規統計分析這一側。除了基本的查詢出圖,它還內建幾種常見的分析手段:異常值處理(截尾 trimming 把極端值剔掉、縮尾 winsorize 把極端值壓回百分位邊界)、十分位分組分析、K-Means 分群、決策樹建模,對應到斜線指令就是 /winsorize/trimming/kmeans/tree 這幾個。等於是它假設你不只想要看趨勢圖,還想把客戶分群、找異常訂單、或對某個目標欄位建一個可解釋的分類模型。

要提醒的是,這些統計功能放在一個 AI 對話介面裡,便利性是真的,但嚴謹度比不上專門的統計軟體。K-Means 的分群數你要自己給,決策樹的深度與分裂準則也依賴模型預設,沒有 R 或 Python statsmodels 那種完整的診斷報告。它比較像「先給你一個初步結果,再決定要不要進正規分析」的快速探勘工具,不是用來交付正式論文或合規報告的主力。

資料會送出哪些欄位,這點要先看清楚

開源、跑在你本地、Apache-2.0 授權,這些都沒問題,但不等於「資料完全不出機器」。要把自然語言翻成 SQL,模型必須先看懂你的資料表結構,所以至少 schema(欄位名稱、資料型態、關聯)會被送到你設定的 LLM API。再加上生成 SQL 與整理洞察時的上下文,實際送出去的內容會視你的問句與設定而變。原始資料的整份內容理論上不一定要上傳,但要不要把查詢結果摘要一起送,取決於你怎麼配置,這部分需要看實際的執行日誌才能劃清邊界。

這是這類 NL→SQL 工具共通的結構性問題,不是 Data-Analysis-Agent 獨有,但對你把它用在什麼場景,影響很大。按照資料敏感程度,大致可以分成三種對應:

你的資料性質建議的 LLM 配置為什麼
公開資料、練習用樣本、無個資DeepSeek 或 OpenAI 雲端 API成本低、模型能力強,schema 外送的風險可接受
內部報表、客戶名單、訂單流水接本地開源模型,或先做欄位脫敏資料外送的合規與信任成本比 API 費用高
財務、醫療、個資敏感欄位強烈建議走本地 LLM,並用獨立的 PII 脫敏工具先處理一次這類欄位的暴露代價不該交給廠商口頭承諾來承擔

如果你完全不能接受任何資料離開機器,那雲端 API 不是你的選項,要嘛接本地 Ollama 之類的模型(README 沒有官方認證的本地路徑,但 OpenAI 相容介面理論上可接),要嘛這類工具就不適合你。也要提醒,README 在 FAQ 對資料流向的明確邊界,沒有給到逐欄位的保證,較敏感的場景請以實際網路日誌為準。

和 TablePro、Vanna、成熟 BI 的差異在哪

「AI 加資料庫」這個主題在 TechMoon 已經有一篇 TablePro,但兩者鎖定的問題不同。TablePro 是原生 macOS 與 iPhone 的資料庫客戶端,AI 是它的輔助手;它的主軸是連線管理、改資料、看 schema、跑 SQL,是給會管理資料庫的人用的。Data-Analysis-Agent 完全不在這個維度上競爭,它假設你根本不想碰 SQL,要的是「我問一句、它給我圖和結論」。

跟同樣做 Text-to-SQL 的開源專案比,定位也不一樣。Vanna.ai 是一套偏向 Python library 的 Text-to-SQL 框架,重點在訓練與檢索增強(RAG over schema),你要會寫程式把它接進自己的應用。Data-Analysis-Agent 是一個開箱即用的 web 應用(Flask 後端、Plotly 視覺化、啟動後瀏覽器打開 localhost:5001),目標使用者是不寫程式的營運或站長。再把視野拉開一點,開源 AI Agent 的形態還更廣,例如 CyberVerse 這類數位人 Agent 處理的是即時角色互動,跟 Text-to-SQL 完全不同領域,卻同樣把「開源加外部模型」的取捨攤給你看。跟 Metabase、Superset、Preset 這種成熟 BI 平台比起來,差距更具體:你在 Metabase 裡做完一張儀表板,那個 URL 是穩定的、可以貼到 Slack 給整組人輪流看;Data-Analysis-Agent 今天問完、關掉瀏覽器、重啟服務之後,之前那個對話連結就失效了,這就是它還不到 BI 平台級別的最直接證據。另外,根據 v1.1.0 的 changelog,它還支援 MCP(Model Context Protocol),可以掛本地或遠端的 MCP server 擴充技能,也內建檔案時光回退(file history)讓你撤回上一次的工作目錄變動,這兩項是它在往「個人 AI 工作站」靠攏的訊號,而不只是一個查詢介面。

怎麼裝起來跑

環境要求只有 Python 3.10 以上。README 提供四種裝法,難度從低到高:

1. Windows 用戶直接抓 Releases 的 .exe 安裝包,雙擊下一步。

2. 跨平台抓 zip 解壓,雙擊 start.bat(Windows)或 start.command(macOS)。

3. 用一鍵腳本:Windows PowerShell 跑 install.ps1,macOS/Linux 跑 install.sh

4. 自己 git clonepip install -r requirements.txt

macOS 第一次跑 start.command 很可能被 Gatekeeper 擋,要在終端機跑 xattr -d com.apple.quarantine start.command 解除隔離屬性,這是 Mac 對未簽章腳本的標準處置,不是這個專案特有的問題。首次啟動會自己建虛擬環境並裝依賴,大約三到五分鐘,之後再開就快了。裝完瀏覽器會自動打開 http://localhost:5001,在那個介面填 API Key 就能開始用。

作者還另外維護一個叫「智管 Agent Manager」的桌面管理工具,可以把這個專案連同其他本地 Agent 一起集中管理,提供一鍵啟停、看日誌與端口、開臨時公網分享連結這類功能。對只跑單一專案的人是過度配置,但如果你同時跑好幾個本地 LLM 工具,把管理層獨立出來會省事很多。如果你打算把它裝在 Mac mini 或 NAS 上當長期內部查詢入口,要自己處理開機自動啟動與反代設定,README 沒有提供這塊的現成方案。

目前還做不到的事

把它當日常核心工具之前,有幾個客觀限制先放進預期。模型生成的 SQL 在面對命名混亂的老舊資料庫、或複雜的多表巢狀結構時,還是會出錯,最後用於決策的數字仍要人工核對底層查詢邏輯。狀態保存偏弱:你今天跑出一張漂亮的 K-Means 分群圖,關掉瀏覽器明天回來,那個對話連結很可能打不開了,圖表檔本身還在本地 outputs/charts 目錄,但對話脈絡不延續。大規模資料的支援也還沒到位,DuckDB 和 Spark 目前在官方開發計劃上但未實作,所以它適合中小規模資料集,dashboards 共享、細粒度權限這些 BI 平台基本功能也都還沒有。

Data-Analysis-Agent 適合誰,不適合誰

適合的人很明確:已經有資料庫或 Excel 資料、想要快速做臨時分析、不想為了偶爾的查詢去學 SQL 的營運、站長、小團隊。也適合想驗證「自然語言查資料庫」這個工作流在自己業務場景裡到底行不行的早期採用者。

至於不適合的場景,方向剛好相反:如果你的需求是長期管理多個資料庫的連線與結構,去看 TablePro 那條路;如果你要的是給整個公司用的共享看板與權限管理,請裝 Metabase 或 Superset;如果你完全不能接受 schema 送外部 API,那這類需要 LLM 才能運作的工具都不是好選擇,改用傳統 SQL 工具更安全。

三個可以馬上做的下一步

抓最新版的 v1.1.0 LTS 安裝包或 clone 主分支,跑起來連一個你手邊最不敏感的測試資料庫(例如公開資料集匯入的 SQLite),先用「最近一個月有多少筆訂單」這種簡單問句驗證流程。接著故意問一個會觸發多表 join 的複雜問題,看模型生成的 SQL 對不對、能不能自己除錯。最後開瀏覽器開發者工具的 Network 面板,觀察實際送出去的請求內容範圍,這一步會讓你具體看到哪些欄位離開了機器,比任何官方說明都準。

常見問題

Data-Analysis-Agent 是開源專案嗎?

是。GitHub 倉庫 Zafer-Liu/Data-Analysis-Agent 採 Apache-2.0 授權,截至 2026 年 7 月初累積兩千多顆星(2000+ stars),作者是單人維護者 Zafer-Liu,目前版本 v1.1.0 LTS,最近一次更新在 2026 年 7 月 2 日,仍在活躍開發。

它會把我整份資料上傳到外部嗎?

不一定要上傳整份原始資料,但資料表結構與生成 SQL 所需的上下文一定會送給你設的 LLM API。雲端 API 等於是把 schema 送出機器,本地 LLM 才能真正做到資料不出裝置。較敏感的欄位建議先脫敏。

支援哪些資料庫?

SQLite、MySQL、PostgreSQL、SQL Server,加上 Excel 與 CSV 上傳。DuckDB 與 Spark 在官方路線圖上但尚未支援。

跟 TablePro 差在哪裡?

TablePro 是資料庫客戶端,主軸是連線、管理、改資料,AI 是輔助;Data-Analysis-Agent 是 AI 分析助手,假設你不寫 SQL,要的是問一句話得到圖和結論。兩者服務不同需求,可以並存。

能在 Mac 上用嗎?

能。macOS 跑 zip 解壓的 start.command 或一鍵 install.sh 都行,第一次開被 Gatekeeper 擋時用 xattr -d com.apple.quarantine 解隔離即可。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 614

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


目錄
Share to...