Scaling Generalist Data-Analytic Agents¶
会议: ICLR 2026
arXiv: 2509.25084
代码: GitHub
领域: LLM推理
关键词: 数据分析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 要解决的是"开源模型从零训练成通用数据分析 Agent"这件事,难点卡在三处:没有带分步轨迹的训练数据、长程 Agent 该怎么混 SFT 与 RL 不清楚、多轮代码执行在有限内存下容易崩。它把这三处难点对应成一条端到端流水线:先用细粒度任务分类加递归难度组合合成多样且带难度梯度的 query,再采样高质量轨迹并双重过滤得到训练集 DataMind-12K,然后用 SFT 与 RL 动态混合的目标联合优化模型,全程跑在一套为多轮代码执行特制的异步 rollout 框架上。训练出的 Agent 遵循 ReAct 范式,在 Thought → Action(Python/SQL 代码)→ Observation(执行反馈)的循环中最多迭代 \(\mathcal{T}=10\) 轮,直到给出最终答案。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
DATA["原始数据文件<br/>csv / xlsx / sqlite"] --> SYN["细粒度任务分类<br/>与递归难度组合<br/>(18类 + 易到难叠加)"]
SYN --> SAMP["知识增强采样<br/>与自一致性过滤<br/>(DeepSeek-V3.1 采 N=3,<br/>GPT-4o-mini 判一致)"]
SAMP --> SET["训练集 DataMind-12K<br/>11,707 条高质量轨迹"]
SET --> TRAIN["SFT+RL 动态混合训练<br/>权重 γ 从 0.9 退火到 0.05"]
subgraph ROLLOUT["异步多轮 Rollout 工程(训练运行环境)"]
direction TB
R1["异步交互"] --> R2["分块代码维护"] --> R3["安全隔离控制"]
end
ROLLOUT -.支撑.-> TRAIN
TRAIN --> AGENT["DataMind-7B / 14B<br/>ReAct 多轮代码 Agent"]
关键设计¶
1. 细粒度任务分类与递归难度组合:让合成 query 既多样又有难度梯度
数据分析基准只给少量测试集、没有可训练的分步轨迹,直接用专家模型批量造题又容易题型单一、难度扁平。DataMind 先把数据分析拆成 18 个细粒度类别(数据清洗、统计描述、相关性分析、时序分析、异常检测等),每类配范例 query 作 few-shot 示范,保证横向覆盖广。难度则靠递归组合纵向放大:把前一个任务的输出当作下一个任务的输入,层层链式叠加,造出远超单一任务能力需求的多跳分析挑战。底层数据文件覆盖三种主流格式——Kaggle 的 3,400 个 csv 加 560 个 xlsx,以及 BIRD/OmniSQL 的 1,954 个 sqlite,从源头保证 Agent 见过多样的真实文件。
2. 知识增强采样与自一致性过滤:用两道关卡换来轨迹的答案正确性
专家模型直接 rollout 出的轨迹答案对错混杂,拿去 SFT 会把错误推理也学进去。DataMind 设两级质量保证。采样阶段为每类任务手工写一份高层 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 上得太早模型又弱到 rollout 不出有效轨迹组。DataMind 改为全程联合优化,把两个损失加权相加:
其中权重 \(\gamma\) 像"养育孩子"一样动态调度——初始取大值 0.9 让模型先从专家数据吸收知识,再逐步退火到 0.05 把主导权交给 RL 鼓励探索。SFT 损失只在 Agent 生成的 token 上计算、mask 掉环境反馈 token,RL 侧用带解耦裁剪和动态采样的 DAPO 算法,训练前先用 DataMind-12K 做 cold start。为防止崩溃,还引入 Void Turns 过滤:只要一条轨迹里出现无效轮次(没产出有效代码或答案),就直接 mask 掉整条轨迹的损失,避免分布漂移把训练带偏。
4. 异步多轮 Rollout 工程:让多轮代码执行在有限内存里不崩
数据文件和代码解释器涉及复杂内存管理,并行 Agent 一边生成一边执行多轮代码很容易把内存打爆,这正是上面那张图里支撑训练的运行环境。DataMind 用三招稳住环境交互:异步交互把模型生成和代码执行在不同样本间解耦,错开 GPU 与 CPU 的内存峰值;分块代码维护采用 notebook 风格,每步只生成当前代码片段、执行时再拼接历史片段,省去维护全局变量池的内存开销;安全控制给每条轨迹隔离运行环境、限制 CPU 时间和峰值内存、过滤不安全函数调用。三者合力让大规模并行 rollout 在有限资源下稳定跑通。
实验结果¶
主实验:多基准性能对比¶
| 模型类型 | 方法 | 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 训练社区具有很强的参考价值。