newsence
打造具備數據科學家思維的代理人:我們如何透過可重複使用的工具生成技術奪下 DABStep 榜首

打造具備數據科學家思維的代理人:我們如何透過可重複使用的工具生成技術奪下 DABStep 榜首

Huggingface·24 天前

NVIDIA 研究人員開發了一種多階段代理人架構,透過將基礎知識建立與快速推理分離,在 DABStep 數據分析基準測試中取得了領先成果。該系統模仿人類數據科學家的工作方式,在學習階段建立可重複使用的輔助函數庫,以高效解決複雜且多步驟的表格數據查詢任務。

在具備挑戰性的 DABStep 基準測試中,多階段方法的成功驗證了將「基礎知識建立」與「快速推理」分離的策略。

動機:彌合數據分析中的差距

深度研究型 Agent,特別是那些依賴網路文本搜索的 Agent,在處理需要複雜、多步驟查詢的結構化表格數據時,往往表現不佳。

我們的核心動機是創建一個擅長以下方面的 Agent:

NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer 旨在提供包括自動開放式探索性數據分析、表格數據問答、預測建模和預測在內的能力。

NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer 架構

在 NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer 中,我們針對不同的使用場景實現了不同的 Agent 迴圈。該架構利用 NVIDIA NeMo Agent Toolkit 來驅動這些迴圈,並使用專門從數據科學家角度設計的工具。對於開放式探索性數據分析,系統將 ReAct Agent 與 Jupyter Notebook 工具配對,實現持續的雙向互動。另外,對於多步驟基於規則的表格數據問答,架構則利用了工具調用 Agent(Tool Calling Agent)。該 Agent 與一套獨特、多部分的專用工具組進行交互,以完成其結構化任務:一個具備狀態的 Python 解釋器、一個檢索器和一個文件結構檢測器。

Screenshot 2026-03-09 at 9.25.43 PM

開放式探索與表格數據問答

目前 NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer 專注於兩個主要應用:

1. 開放式探索性數據分析 (EDA)

下圖展示了由 ReAct Agent 驅動的開放式探索性數據分析架構。工作流程始於用戶掛載數據集並向 ReAct Agent 發送問題或指令,Agent 將這些輸入轉換為特定的工具調用。這些調用被發送到 Notebook 操作工具組,該工具組能夠執行標準操作,如創建 Notebook、添加代碼和運行單元格。一旦工具執行了命令,原始輸出就會流向工具輸出處理器(Tool Output Handler)。該處理器的一個關鍵特性是與視覺語言模型 (VLM) 的整合;如果工具輸出包含視覺圖表,處理器會將其發送給 VLM,以生成文本描述以及改進圖表美觀度和信息豐富度的建議。隨後,處理器將視覺圖表替換為此文本分析,並將處理後的工具輸出傳回 ReAct Agent,以便其向用戶提供明智的回答。

Screenshot 2026-03-09 at 9.26.39 PM

2. 多步驟基於規則的表格數據問答

這解決了需要針對表格數據集進行多步驟推理和工具調用的難題。我們專注於多步驟推理數據 Agent 基準測試 (DABStep),該基準測試包含 450 個專門針對金融支付領域的任務。基準測試過程分為三個主要部分:

Screenshot 2026-03-09 at 9.27.49 PM

上下文與查詢 (Context & Query) 包括問題和異構數據源(如 CSV 和 JSON 文件),以及一份詳細說明領域邏輯和規則的 Markdown 手冊。基準測試任務 (Benchmark Tasks) 將工作負載分為簡單任務(16%,基本的單數據集查詢)和困難任務(84%,需要複雜、多步驟工具增強推理)。這些困難任務涉及閱讀文檔、生成代碼(如 SQL 或 Pandas)以及交叉引用數據以計算答案,在這些情況下,網絡搜索幾乎提供不了任何有用的幫助。最後,評估 (Evaluation) 階段使用具有嚴格格式要求的精確文本匹配(Exact Text Match)來衡量成功,預期輸出一個包含 agent_answerreasoning_trace 的 JSONL 文件。

破解 DABStep:多階段方法

為了在 DABStep 上取得領先(SOTA)成果,我們需要將繁重的工作與快速執行分開。系統分為三個不同的階段:學習階段 (Learning phase),Agent 使用通用技能和標準答案數據來打造可重複使用的專用工具;推理階段 (Inference phase),應用這些工具快速解決新問題;以及離線反思階段 (Offline Reflection phase),審查輸出以產生更深層次的見解。這模仿了人類數據科學家的運作方式——前期投入大量精力建立強大的工具包,使未來的任務變得高效且可擴展。

Screenshot 2026-03-09 at 9.29.20 PM

第一階段:學習迴圈

在學習階段,我們部署一個重量級模型(如 Opus 4.5/4.6),在配備全套工具(包括具備狀態的 Python 解釋器、bash 工具和文件結構檢測器)的多輪迴圈中運行。通過處理一批代表性任務(例如任務 1 到 10)並根據標準答案進行驗證,Agent 建立了對數據集的全面心理模型。隨後,它將這些獨立的 Python 腳本合成一個主解決方案,最終將其提煉為一個高度優化的可重複使用函數庫 (helper.py) 和一組簡潔的 Few-shot 示例,展示如何使用輔助函數來解決開發集(訓練集)中的問題。

Screenshot 2026-03-09 at 9.31.04 PM

識別關聯任務並全面優化子解決方案

驅動這種方法的核心洞察是:複雜的數據問題很少孤立存在。如商戶費用示例所示,不同的任務通常共享完全相同的基礎數據操作。例如,計算特定月份的特定交易費用(任務 2)所需的初始步驟——獲取商戶信息和查找費用數據——與僅列出適用的費用 ID(任務 1)完全相同。識別並映射這種重疊是構建模塊化、DRY(Don't Repeat Yourself,不重複自己)系統的關鍵。

Screenshot 2026-03-09 at 9.32.07 PM

Agent 不會為每個新問題編寫孤立、脆弱的腳本,而是主動尋找最穩健的邏輯。如果某個函數的「版本 1」在任務 1 中表現完美,但在應用於任務 2 略有不同的約束時失敗,Agent 就會識別出缺陷。通過 Python 解釋器主動測試候選函數,並對照多個關聯任務的標準答案,Agent 會迭代發現一個能成功推廣到整批任務的「版本 2」。

重構與封裝

Screenshot 2026-03-09 at 9.34.09 PM

一旦找到最佳的通用邏輯,Agent 就會將龐大的獨立腳本重構為乾淨、統一的架構。複雜的數據提取和計算步驟被封裝到集中的 helper.py 庫中。因此,回答任何特定問題所需的實際代碼量會急劇減少。最終的任務解決方案從冗長、複雜的腳本轉變為輕量級指令,只需從輔助庫中導入並執行正確的工具即可。

第二階段:快速精簡的推理

Screenshot 2026-03-09 at 9.36.21 PM

隨著基礎代碼的編寫完成,推理階段轉向使用較小、較快的模型(如 Haiku 4.5)運行單次迴圈。由於複雜的領域邏輯已經安全地存放在 helper.py 中,推理 Agent 只需要一個基本的 Python 解釋器即可完成工作。為了將 Token 成本和延遲降至最低,上下文窗口被積極修剪:Agent 僅接收函數簽名(而非底層代碼)以及精簡的系統提示詞,使其能夠高效地調度預構建工具來解決未見過的任務。

第三階段:無監督離線反思

Screenshot 2026-03-09 at 9.37.57 PM

為了在不阻塞實時推理迴圈的情況下確保高質量,我們將關鍵的質量控制完全移至離線。此階段依賴於兩種強大的 LLM 評估技術——反思 (Reflection)群體一致性 (Group-consistency),由一個重量級模型(如 Opus 或 Sonnet 4.6)擔任無監督審查員。

反思是模型回顧 Agent 生成的代碼和推理以審計其表現的過程。它會提出尖銳的問題:Agent 是否有效地利用了 helper.py 庫?它是否忠實地遵循了提示詞?代碼中是否有明顯錯誤?

另一方面,群體一致性涉及分析一組相似測試問題的多個候選解決方案,以確保 Agent 的邏輯保持穩定。如果 Agent 使用衝突的方法解決完全相同類型的問題,離線模型會標記該差異並推導出哪種方法才是正確的。通過將這些計算繁重的檢查移至離線,我們可以深入分析數據,而不會犧牲推理階段的速度。

閉環:注入見解以實現更快的推理

離線反思期間產生的見解不僅用於分析,還會主動反饋到架構中以完成學習閉環。通過從測試數據中提取關鍵模式、邊緣案例和潛在陷阱,重量級模型會彙整這些學習成果,並將其直接注入到未來推理階段的系統提示詞中。由於輕量級推理 Agent 在初始提示詞中已經掌握了這些預先計算好的見解,我們完全消除了對緩慢且計算昂貴的在線反思或一致性檢查的需求。結果是推理階段保持極速且節省 Token,同時通過每次離線審查不斷累積準確性。

結果

為了驗證這一架構,我們將三階段的「NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer」方法(使用輕量級 Haiku 4.5 進行推理)與使用重量級 Opus 4.5 的標準基準「Claude Code」進行了對比,後者嘗試從頭開始解決每個任務。結果突顯了我們方法帶來的巨大效率提升。由於我們的推理 Agent 依賴於預構建的 helper.py 庫,它解決任務的速度極快——每個任務僅需 20 秒,並生成高度簡潔的 1,870 個字符。相比之下,從頭開始的方法每個任務需要耗費 10 分鐘,且代碼長度膨脹至 5,011 個字符。最令人印象深刻的是,這種 30 倍的加速並沒有損害複雜推理能力。雖然重量級 Opus 模型在「簡單」任務上略勝一籌(90.2 對 87.5),但我們的方法在「困難」任務中完全佔據主導地位,得分為 89.95,而基準模型僅為 66.93。這證明了在前期學習和代碼抽象上投入時間,可以讓更小、更快的模型在複雜的多步驟問題上超越更重的模型。

這一表現使我們的架構在官方 DABStep 排行榜上獲得了第一名。NVIDIA KGMON (NeMo Agent Toolkit) Data Explorer 方法在複雜問題上的表現顯著優於螞蟻集團的 DataPilot 和 Google AI 的 DS-STAR。憑藉在「困難」任務上 89.95 的得分,我們的系統超越了 DataPilot (87.57),幾乎是 DS-STAR 得分 (45.24) 的兩倍。鑑於基準測試中 84% 由困難級別任務組成,我們在該類別中的主導地位直接確保了我們作為最佳整體解決方案的地位。這些結果確立了我們的三階段方法論是目前高效且嚴謹的表格推理領域的領先技術(State-of-the-art)。

結論:數據密集型研究的新範式

構建在 NVIDIA NeMo Agent Toolkit 之上的 Data Explorer Agent 代表了結構化表格數據自動化分析的重要進步。通過採用靈活的 Agent 迴圈——用於開放式探索性數據分析的 ReAct 迴圈和用於基於規則的表格問答的多階段系統——該 Agent 在處理複雜、多步驟推理任務方面具有獨特優勢。多階段方法在具備挑戰性的 DABStep 基準測試中的成功,特別是生成可重複使用、通用函數的主動學習迴圈,驗證了將基礎知識建立與快速推理分離的策略。Data Explorer 不僅僅是簡單的問答,它體現了資深數據科學家的操作流程,提供可擴展、高質量的見解,並為 LLM 驅動的 Agent 所引領的數據密集型研究建立了新範式。

準備好構建您自己的數據探索 Agent 了嗎?從 NVIDIA Launchable 開始吧。示例即將發布!

社群

· 註冊或登入以發表評論

https://huggingface.co/blog/nvidia/nemo-agent-toolkit-data-explorer-dabstep-1st-place