AI 快讯
编译自 marktechpost #数据集#微调#工具评测
NVIDIA Open-SWE-Traces 数据集教程:如何构建监督微调数据,解析轨迹与代码补丁
本教程详解如何使用 NVIDIA 的 Open-SWE-Traces 数据集,从 Hugging Face 流式加载、解析 agent 轨迹、分析代码补丁,并筛选高质量数据用于监督微调。包含 token 预算、工具使用统计等实用技巧,适合 AI 工程和软件开发人员。
一句话看懂
NVIDIA 发布 Open-SWE-Traces 数据集,本文教程教你如何流式加载、解析 agent 轨迹和代码补丁,构建高质量监督微调数据。
详细发生了什么
NVIDIA 的 Open-SWE-Traces 是一个用于研究 agent 软件工程轨迹的数据集,包含多个 agent(如 openhands、sweagent)和模型(minimax_m25、qwen35_122b)的组合。本教程演示了如何直接从 Hugging Face 流式加载数据,避免本地下载,并在 Google Colab 中高效处理。
核心步骤包括:
- 安装依赖并配置环境(datasets、huggingface_hub、tiktoken、pandas、matplotlib)。
- 定义轨迹解析辅助函数:标准化多轮对话、提取消息文本、统计角色、检测工具调用、解析代码补丁(diff 格式)、估算 token 长度。
- 流式采样数据:从每个 agent/模型组合中取 400 条,共 1600 条,检查单条记录结构(轨迹长度、角色分布、最终补丁等)。
- 构建分析 DataFrame:计算轨迹长度、工具使用频率、补丁大小、语言分布、解决状态等指标。
- 筛选监督微调子集:基于成功标签(resolved=1)、token 上限(32K)、语言过滤、补丁可用性等条件,保留高质量轨迹。
教程还提供了可视化代码,用于分析轨迹长度分布、工具调用频率、补丁行数等,帮助理解数据特征。
中文圈视角
对于中文 AI 开发者,这个教程有几点值得关注:
- 数据可用性:Open-SWE-Traces 数据集在 Hugging Face 上可公开访问,但国内访问 Hugging Face 可能需要代理或镜像(如 hf-mirror.com)。建议使用国内镜像加速下载。
- 国产平替:类似的数据集构建思路可以迁移到国产模型微调。例如,使用 ModelScope 上的 SWE-bench 中文版或自建 agent 轨迹数据。DeepSeek、Kimi 等国产模型在代码任务上表现不错,但缺乏公开的 agent 轨迹数据集,本教程的方法可复用于构建自己的微调数据。
- 实际场景:教程中的 token 预算(32K)和语言过滤(默认不限制)对中文代码项目很友好。中文开发者可以重点关注 Python、JavaScript 等语言的轨迹,用于微调代码助手或自动化修复工具。
- 合规提醒:数据集来自 GitHub 公开仓库,但使用时需注意 license 兼容性。教程中已包含 license 字段检查,建议在商业应用前确认。
目前中文社区对 agent 轨迹数据构建的讨论较少,这篇教程填补了实操层面的空白。
几条值得记住的细节
- 数据集包含 4 种 agent/模型组合:openhands+minimax_m25、openhands+qwen35_122b、sweagent+minimax_m25、sweagent+qwen35_122b。
- 每个组合采样 400 条,总计 1600 条用于分析,但完整数据集更大。
- 监督微调子集要求 resolved=1(成功解决)、token ≤ 32K、有补丁,可进一步按语言过滤。
- 工具使用统计支持 function calling、XML 标签、bash 代码块等多种格式。
- 补丁解析支持 diff 格式,统计文件数、增删行数、文件扩展名。
一句话总结
如果你想用 agent 轨迹数据微调代码模型,这篇教程提供了从数据加载到筛选的完整实操指南。