跳转至

Scaling Generalist Data-Analytic Agents

会议: ICLR 2026
arXiv: 2509.25084
代码: GitHub
领域: 数据分析 Agent / LLM Agent
关键词: 数据分析Agent, Agent训练, 多轮代码执行, 数据合成, SFT+RL

一句话总结

提出 DataMind——一套完整的数据分析 Agent 训练方案,通过细粒度任务分类+递归难度组合实现多样 query 合成、知识增强轨迹采样+自一致性过滤保证数据质量、SFT+RL 动态混合训练策略以及内存友好的异步 rollout 框架,训练出的 DataMind-14B 以 71.16% 平均分在多个基准上 SOTA,超越 GPT-5 和 DeepSeek-V3.1。

研究背景与动机

领域现状:数据分析 Agent 通过生成代码处理、建模和计算数据来发现有用信息,是 AI 驱动科学发现和自动化决策支持的关键催化剂。现有数据分析 Agent(DS-Agent、AutoKaggle、Data Interpreter 等)几乎完全依赖闭源模型通过 prompt 工程和多 Agent 脚手架构建。

现有痛点: - 训练数据不足:公开数据分析基准仅提供有限测试集,缺乏分步轨迹标注,无法直接用于训练 - 训练策略不明:SFT-then-RL 的传统范式在长程 Agent 训练中如何分配步数、如何保持稳定性不清楚 - 多轮代码执行不稳定:数据文件和代码解释器涉及复杂内存管理,并行 Agent rollout + 多轮代码生成在有限内存资源下容易崩溃 - 开源模型能力断层:少数开源训练模型(TableLLM、Table-R1)仅能处理简单表格理解任务,面对多样格式的大规模数据文件和长程多步推理即崩溃

核心矛盾:高质量训练需要大量多样的轨迹数据+稳定的训练策略+可靠的环境交互,但这三者在数据分析场景中均面临独特挑战——数据分析任务格式多样(csv/xlsx/sqlite)、推理链路长、代码执行有副作用。

本文方案:提出 DataMind,一套端到端可扩展的数据合成+Agent 训练方案,系统性解决上述三大挑战。

方法详解

整体框架

DataMind pipeline 包含四个关键模块: 1. 数据合成:文件收集 → 任务分类 → query 合成 → 轨迹采样与过滤 → DataMind-12K 2. 训练策略:SFT 损失 + DAPO (RL) 损失动态加权混合 3. Rollout 工程:异步交互 + 分块代码维护 + 安全沙箱 4. 奖励设计:格式奖励 + 答案奖励(模型裁判) + 长度惩罚

Agent 遵循 ReAct 范式:Thought → Action (Python/SQL代码) → Observation (执行反馈) 循环,最多 \(\mathcal{T}=10\) 轮。

关键设计1:细粒度任务分类与递归难度组合

  • 将数据分析任务分为 18 个细粒度类别(数据清洗、统计描述、相关性分析、时序分析、异常检测等),每类配备 4-6 个范例 query 作为 few-shot 示范
  • 递归由简到难组合:将前一个任务类型的输出作为下一个任务的输入,迭代 2-5 次,逐步放大难度,创建远超单一任务类型能力需求的多跳分析挑战
  • 数据文件来源:Kaggle (3400 csv + 560 xlsx) + BIRD/OmniSQL (1954 sqlite)

关键设计2:知识增强轨迹采样与自一致性过滤

轨迹采样采用两级质量保证:

第一级——知识增强采样: - 为每类任务手工设计高层 workflow 知识 \(k\),引导专家模型(DeepSeek-V3.1)生成轨迹 - 每个 query 采样 \(\mathcal{N}=3\) 条独立轨迹

第二级——自一致性过滤: - 裁判模型(GPT-4o-mini)验证 \(\mathcal{N}\) 条轨迹的最终答案是否一致 - 一致的轨迹中选择最简洁准确的作为训练实例 - 不一致的轨迹→将裁判模型的 CoT 反馈给 Agent 进行反思修正→再次过滤 - 规则过滤:格式合规 + 长度控制(答案 < 1024 tokens) + 语言完整性

最终获得 DataMind-12K(11,707 条高质量轨迹)。

关键设计3:SFT+RL 动态混合训练

传统 SFT-then-RL 范式面临的困境:SFT 过多→固化思维模式、扼杀 RL 探索;RL 过早→模型能力不足无法生成有效轨迹组。

本文采用联合优化:

\[\mathcal{L}_{\text{Final}}(\theta) = \gamma \cdot \mathcal{L}_{\text{SFT}}(\theta) + (1-\gamma) \cdot \mathcal{L}_{\text{DAPO}}(\theta)\]
  • \(\gamma\) 动态调度:初始为大值(0.9)让模型从专家数据吸收知识,逐步退火到小值(0.05)鼓励探索
  • SFT 损失仅在 Agent 生成的 token 上计算,mask 环境反馈 token
  • DAPO 算法用于 RL,采用解耦裁剪和动态采样
  • 训练前先用 DataMind-12K 做 cold start

Void Turns 过滤:直接 mask 掉包含无效轮次(未产生有效代码或答案)的整条轨迹的损失,防止分布漂移导致的轨迹崩溃。

关键设计4:异步多轮 Rollout 工程

  • 异步交互:模型生成和代码执行对不同样本解耦,避免 GPU 和 CPU 内存峰值同时出现
  • 分块代码维护:notebook 风格,每步只生成当前代码片段,执行时拼接历史片段,避免维护全局变量池的内存开销
  • 安全控制:每条轨迹隔离运行环境,限制 CPU 时间和峰值内存,过滤不安全函数调用

实验结果

主实验:多基准性能对比

模型类型 方法 DABench pass@1 TableBench pass@1 BIRD pass@1 Avg pass@1
闭源 GPT-4o 76.39 64.97 50.20 63.85
闭源 o4-mini 79.12 71.03 57.04 69.06
闭源 DeepSeek-R1 78.73 68.96 55.80 67.83
闭源 DeepSeek-V3.1 81.32 72.52 57.89 70.58
闭源 GPT-5 78.21 69.93 60.17 69.44
开源-7B ReAct (Qwen-Coder-7B) 15.05 11.70 7.02 11.26
开源-7B TableLLM 36.71 41.01 11.99 29.90
开源-7B Table-R1 42.54 56.36 10.69 36.53
开源-7B DataMind-7B 77.30 67.60 59.41 68.10
开源-14B ReAct (Qwen-Coder-14B) 71.21 56.96 41.76 56.64
开源-14B TableLLM 38.26 46.44 20.99 35.23
开源-14B DataMind-14B 80.29 70.95 62.23 71.16

关键发现: - DataMind-14B 以 71.16% 平均分超越所有闭源模型(包括 GPT-5 的 69.44% 和 DeepSeek-V3.1 的 70.58%) - DataMind-7B 以 68.10% 在所有开源模型中最优 - 专项模型(OmniSQL/SQL-R1)虽在 BIRD 上有竞争力,但在其他基准上性能骤降 - DataMind 训练数据仅 12K,远少于基线(TableLLM 20K、OmniSQL 2.5M)

消融实验:训练策略对比

训练策略 Avg pass@1 Avg pass@3
SFT only 62.54 73.74
zero-RL (无 SFT) 58.03 71.72
SFT-then-RL 63.42 75.46
SFT-and-RL (动态 \(\gamma\)) 68.10 79.07

关键洞察: - 纯 SFT 将基线从 11.26% 提升到 62.54%——数据质量贡献了大部分性能提升 - zero-RL 反而比 SFT 差——7B 模型多步推理能力有限,无法独立 rollout 高质量轨迹 - SFT-then-RL 仅有边际提升——且训练易崩溃 - 动态混合策略再提升 5.56 个百分点——兼顾知识吸收和探索

数据与过滤分析

过滤策略 效果
Con-select (自一致性+最佳选择) 基准设置
Non-select (保留所有一致轨迹) DABench 上反而更优——轨迹多样性更重要
Random-select (随机选择一致轨迹) 与 con-select 接近——裁判偏好可能降低多样性
Non-con (无一致性过滤) 全部指标显著下降——答案质量是轨迹质量的关键保证

核心发现:自一致性过滤比最佳轨迹选择更关键——答案正确性保证了轨迹的内在质量,而多样的推理路径比单一"最佳"路径更有益于模型学习。

论文评价

优点

  • 工程完整性强:从数据合成、训练策略到 rollout 工程的端到端系统设计,每个环节都有独立创新
  • 洞察深刻:SFT 损失既是 RL 训练的稳定器也可能是崩溃的元凶、自一致性过滤比最佳选择更重要等发现具有很强的实践指导价值
  • 结果令人信服:仅 12K 数据训练的 14B 模型超越 GPT-5 和拥有 2.5M 数据的专项模型
  • 训练动态分析("养育孩子"类比)形象直观地解释了 SFT→RL 的动态权重调度原理

不足

  • 评估使用 GPT-4o-mini 作为裁判,训练和评估用同一裁判存在潜在偏差(虽然交叉验证显示 Pearson 相关 0.96)
  • 任务分类法(18 类)的设计依赖人工,分类边界和覆盖范围可能存在遗漏
  • 仅验证 7B 和 14B 规模,更大/更小模型上的表现未知
  • 分块代码维护策略可能在长依赖链(如跨多轮的变量引用)场景下效率降低

评分

⭐⭐⭐⭐⭐ — 系统性工程工作的典范:问题定义明确、方案完整、实验扎实、洞察深刻,对 Agent 训练社区具有很强的参考价值。

相关论文