DuckDB Agent Mode 減少 59% 查詢輸出 token,為什麼帳單沒有跟著降?
DuckDB Agent Mode 讓查詢輸出更適合 AI 代理閱讀,官方實驗減少 59% 輸出 token,整體費用卻未改善。本文整理啟用方式、資料核對、測試流程與成本評估重點。
DuckDB Agent Mode 為 AI 代理調整查詢輸出,讓資料庫回傳的查詢結果更容易讀取。官方實驗顯示,查詢輸出 token 減少 59%,但整體費用與執行時間沒有因此改善。
這個看似矛盾的結果,是這則新聞最值得理解的地方。代理的支出包含許多輸入內容,資料庫輸出只佔其中一部分。把其中一塊縮小,未必會明顯改變總帳單。

Agent Mode 讓資料庫結果更適合 AI 閱讀
DuckDB 是可以直接在應用或本機執行的分析型資料庫。Agent Mode 調整命令列輸出,把查詢結果改成較精簡的 Markdown 表格,並提供較清楚的截斷提示與結構化錯誤。
SQL 是向資料庫提出查詢的語言。AI 代理寫好 SQL 後,需要讀取結果,判斷是否找到正確資料。若輸出包含大量裝飾或不清楚的省略符號,代理就得花更多文字處理成本理解回覆。
例如,一張表只顯示部分資料時,系統應清楚說明有多少列被省略。代理知道結果被截斷,就比較有機會改寫查詢,先做篩選或統計,而不是把眼前幾列當作全部資料。
59% 是查詢輸出減量,對總費用影響很小
官方用 22 個 TPC-H 分析問題測試,每種模式各跑三次,共 132 次執行。TPC-H 是資料庫分析工作常用的測試題組。這次是在特定資料量與代理設定下比較輸出格式。
兩組最後都得到正確結果。查詢輸出從約 12.36 萬 token 降到 5.08 萬,減少約 59%。token 是模型計算文字用量的單位,這裡計算的是資料庫工具回傳的內容。
然而,節省量僅佔代理全部輸入的約 0.5%。實驗裡還有大量系統提示與其他內容,因此整體成本及時間沒有改善。官方也記錄到 Agent Mode 的對話回合數略多。
這意味著,簡潔輸出改善了資訊表達,卻沒有直接解決整段工作的主要成本來源。如果你的應用瓶頸在其他地方,採用同樣格式也可能只有有限的帳單效果。
可以手動開啟,先看代理是否正確理解結果
官方提供 -agent 參數,讓使用者強制開啟模式,也提供 -no-agent 關閉。自動啟用則會考慮代理環境、是否為互動終端機,以及有沒有指定其他輸出格式。
想測試的人可以先用一個很小的查詢,例如 duckdb -agent -c "SELECT 1;",確認自己的版本與輸出格式。接著再比較真實工作中,代理能否讀懂欄位、錯誤與省略提示。
對團隊來說,合適的測試應包含查詢失敗、結果過大,以及資料缺漏等情況。這些例子能觀察代理是否懂得修正查詢,而不只是挑一個成功案例看畫面有沒有變短。
若要衡量成本,請把完整工作中的模型輸入、輸出與重試一起計算。只取資料庫回覆的 token 數,容易把局部改善誤寫成總體節省。
資料庫輸出更精簡,就代表回答更可靠嗎?
不能直接畫上等號。Agent Mode 提供較適合代理的資訊形式,查詢是否符合業務問題,仍要檢查 SQL 邏輯、資料日期與統計範圍。表格變短,不會替你決定分母該用哪些資料。
如果你用 AI 分析營收,可以先要求它列出計算範圍與查詢,再比對報表中的總數。這樣才能把「看懂工具結果」與「正確回答問題」接起來。
DuckDB 這次更新提供了一個務實案例:改善代理工具的輸出,值得做。評估成效時,則要同時觀察整段工作。這比把一個百分比直接轉成省錢承諾,更能幫助團隊做決定。
查詢結果為什麼容易成為代理的閱讀負擔
AI 分析資料時,工具回覆不只是給人看的表格,也會成為下一次模型判斷的輸入。若回覆很長、欄位意義不清楚,或只顯示部分資料,代理就需要花更多步驟理解。
Agent Mode 調整了資訊形式,卻不會替你決定要查哪些資料。若問題本來就需要統計,直接回傳幾十萬列資料,通常仍比先在資料庫中計算總數更難處理。
先決定問題的粒度,再寫查詢
假設你想知道每個月份的訂單金額,適合的結果是月份與合計金額。若代理先抓出全部訂單,再逐筆整理,不但輸出會變大,也增加漏算與重複計算的機會。
這裡的粒度指一列資料代表什麼。一列可以是一張訂單、一位客戶,或一個月份。先說清楚這件事,代理才比較容易選出合適的分組與統計方式。
同樣地,題目中的時間、單位與篩選條件也應寫清楚。「最近營收如何」可能有很多解釋,改成指定期間與比較方式,就能減少查詢結果和原始問題不一致。
這些準備會影響任何輸出模式的效果。當查詢先回傳真正需要的資訊,Agent Mode 的精簡格式才更容易讓代理接著判斷下一步。
被截斷的結果,需要不同於完整結果的處理
如果工具明確標示結果被截斷,代理就不應把眼前的資料當作全部。例如,顯示前幾筆客戶資料,可以用來理解欄位,但不能直接當作整體客戶的分布。
下一步可以改成統計查詢,或增加合理的篩選條件。要看哪一種結果,取決於問題目的。不一定需要一直要求工具顯示更多列。
對使用者而言,也可以要求代理說明答案來自完整統計,還是來自資料樣本。這個資訊能幫你判斷結論的範圍,避免把探索中的觀察當成正式報表。
用一個小型分析任務比較兩種輸出模式
想評估 DuckDB Agent Mode,可以先選一個答案已知的任務,例如確認某個期間的訂單筆數與金額。保留同一份資料、同一個模型與同樣的問題,分別使用兩種模式。
答案已知的目的,是讓你能觀察代理如何得到結果。若一開始就用沒有人能確認的問題,即使回覆看起來合理,也很難判斷輸出模式是否幫助它完成工作。
比較成功查詢、錯誤與過大結果
成功查詢能觀察欄位與數值是否容易閱讀,錯誤查詢則能觀察代理會不會依訊息修正。兩者都需要測,因為實際分析工作通常包含探索與修改。
過大結果可以測試截斷提示的用途。例如,先查一張列數很多的表,再觀察代理是否知道應改成分組或摘要,而不是繼續對部分資料做不完整的推論。
紀錄每一步查詢與回覆,會讓比較更清楚。你可以看到代理是一次找到答案,還是經過多次嘗試,也能看見輸出格式影響了哪一段工作。
把答案核對與格式比較分開
格式比較回答的是資料是否容易被讀懂,答案核對則需要確認邏輯。兩種模式都產生相同答案時,還是要回到資料核對筆數、日期範圍與計算方式。
例如,資料中的金額是否含稅、退款是否已扣除,以及訂單日期使用哪個欄位,都可能改變報表。這些問題不會因為表格變成 Markdown 就自動消失。
因此,一份有用的比較紀錄可以同時寫出答案、使用的查詢、工具輸出量與模型工作回合數。這樣就能避免只選一個漂亮百分比代表全部效果。
token 變少之後,還要看完整成本結構
完整代理輸入可能包含系統規則、歷史對話、工具說明與查詢回覆。Agent Mode 主要影響工具回覆的部分,其他內容如果很大,總量變化就會比較小。
可以用一個假設例子理解:總輸入是一萬單位,其中查詢回覆只有一百單位,即使這部分減半,總量也只少五十單位。這是比例示例,不代表官方實驗的精確設定。
把最常重複的內容找出來
成本報告可以先分出各類輸入,看看哪些內容在每個工作回合反覆出現。這有助於找出主要來源,而不必一開始就假定資料庫表格一定最昂貴。
如果代理每次都帶著很長的歷史對話,精簡工具輸出可能只有有限效果。若工具本來就回傳很多不必要的資料,調整查詢範圍與輸出方式則可能更值得測試。
這些改善方向需要在同樣任務下比較。刪掉重要上下文可能降低費用,也可能使答案錯誤。成本與正確性應該一起觀察,才能找到可接受的安排。
重試與回合數也會影響費用
一個較短的回覆,如果讓代理多問幾次才得到完整資訊,可能抵銷部分節省。官方實驗記錄到回合數略增,也提醒讀者留意整段工作而非單次輸出。
因此,除了 token,可以記錄工具呼叫次數、完成時間與錯誤修正次數。這些資訊能讓你知道代理是否更有效率,也能幫助判斷輸出內容是否過度省略。
當成本結構被看清楚,Agent Mode 就可以被放在適合的位置:作為改善工具溝通的一項設定,再和查詢設計、上下文管理一起評估。
DuckDB Agent Mode 常見問題
Agent Mode 會自動改寫 SQL 嗎?
這次更新調整命令列回覆形式與相關提示,不應理解為資料庫替代理決定業務查詢。SQL 的篩選、分組與統計,仍需要依問題與資料結構安排。
如果查詢不符合需求,精簡輸出仍會回傳不合適的結果。先確認題目與查詢的對應關係,比只切換格式更重要。
59% token 減量代表速度快 59% 嗎?
不代表。輸出量、模型費用與執行時間是不同指標,官方這次實驗沒有看到整體時間改善。自己的工作也需要分別量測,不能把同一比例套到全部結果。
特別是資料庫計算、模型推理與多次工具呼叫都會花時間。哪一段是主要瓶頸,要看完整紀錄才知道。
手動指定輸出格式時,需要注意什麼?
官方自動啟用條件會考慮是否已指定其他格式。如果你的工具鏈需要固定的 JSON 或其他內容,應先確認設定如何互動,再決定是否使用 Agent Mode。
可以在測試環境檢查回傳格式與下游解析方式,避免上游變成更容易閱讀的表格,下游程式卻仍期待另一種資料形式。
應該先改工具格式,還是先改查詢?
如果查詢回傳大量與問題無關的資料,先改查詢通常比較容易建立清楚基準。當查詢已經符合需求,再比較格式對代理閱讀與修正的影響。
兩者可以一起改善,但測試時最好分開記錄變化。這樣你才能知道成果來自哪些調整,日後遇到問題時也比較容易回復與查證。
從一題已知答案,檢查代理如何得到結果
可以先選一個資料範圍固定、答案已知的問題,保存原始查詢與結果。接著切換模式,觀察輸出量、回合數與答案是否改變,把局部格式改善與整體工作結果分開記錄。
如果問題包含日期範圍,可以加入一筆剛好位在邊界的資料,確認開始與結束日期的處理符合需求。資料含空值時,也要知道代理如何處理,避免只核對一個看似正確的總額。
這些小型例子有助於發現查詢邏輯的差異。不是每個資料問題都會報錯,有些查詢會正常執行,卻因篩選條件或資料範圍不同而得到另一個答案。
確認邏輯之後,再比較工具輸出的閱讀效果。這樣才能知道 Agent Mode 改善了哪個步驟,也能保留一份日後升級與修改時可重複使用的驗收題目。
DuckDB 這次更新值得關注的,是工具如何把結果說清楚。把輸出格式、查詢邏輯與完整成本一起看,才容易將它放進合適的資料分析流程。
想持續追蹤 AI 科技新聞與實用工具,可以免費註冊 AI 郵報會員,閱讀更多新功能的用途與實作解讀。
延伸閱讀:Replit 收購 Atta:不用寫 SQL,聊天就能做互動圖表?功能、限制與適合團隊。
延伸閱讀:ChatGPT Data agent 是什麼?不用寫 SQL,也能把公司資料變成互動儀表板。