遇见数据集

SWE-Together

收藏
github2026-07-07 更新2026-07-09 收录
官方服务:

资源简介:

SWE-Together重建了真实用户-代理会话中的多轮循环,通过一个反应式用户模拟器重放每个会话,该模拟器会提出问题、新需求等,并保留原始用户的意图。它包括109个任务,每个任务包含首次用户消息和可重放的交互,在沙箱中运行。数据集支持可插拔的编码代理(如opencode、claude-code等),并报告正确性(代理判断)和用户纠正(用户需要推动代理的程度)等指标。

SWE-Together reconstructs multi-turn cycles in real user-agent conversations by replaying each session through a reactive user simulator. This simulator generates questions, new requirements, and other relevant utterances while preserving the original user’s intent. The dataset includes 109 tasks, each containing the initial user message and replayable interactions, all running in a sandboxed environment. It supports pluggable coding agents such as opencode, claude-code, etc., and reports metrics including correctness (as judged by the agent) and user correction (the degree to which users need to prompt or adjust the agent’s work).

创建时间:
2026-06-19
原始信息汇总

数据集概述

SWE-Together 是一个用于评估编码智能体在交互式用户会话中表现的数据集。它通过重建真实用户与智能体的多轮交互,并使用一个反应式用户模拟器来复现原始会话中的询问、新需求等,从而保留原始用户的意图。

核心特性

  • 任务规模:包含 109 个任务,每个任务由一条初始用户消息和一段可重放的交互组成,所有任务均在沙箱环境中运行。
  • 可插拔编码智能体:支持多种智能体框架,包括 opencode, claude-code, codex, mini-swe-agent
  • 评估维度
    • 正确性 (Correctness):通过智能体裁判(agentic judge)进行评估。
    • 用户纠正 (User Correction):衡量用户需要多大程度地将智能体拉回正轨。

数据格式

  • 数据集托管于 Hugging Face,可通过以下方式加载(无需克隆仓库): python from datasets import load_dataset ds = load_dataset("yfwu/SWE-Together", split="test") # 包含109个任务规范

  • 每行数据包含:指令、代码仓库、基础提交、评分目标、参考补丁、用户意图等。其中 docker_image 指向预构建环境(位于 GHCR),task_id 映射到本仓库的 tasks/<task_id>/ 目录。

使用方法

  1. 安装与配置

    • 使用 uv sync 创建虚拟环境,复制 .env.example.env 并填入所需 API 密钥。
    • 需要 E2B 账户(云端沙箱,支持100+并发)或本地 Docker 环境(使用 --env-type docker)。
  2. 运行评估

    • 使用启动脚本 launch.py 默认处于试运行模式,添加 --execute 参数实际执行。
    • 分为两个阶段:
      • 阶段 1(运行):智能体完成任务,结果保存在 trials/ 目录。
      • 阶段 2(评判):对结果进行评分和聚合,输出到 results/ 目录。
    • 示例命令: bash

      预览完整运行

      python launch.py canonical_full109.json

      运行并评分一个模型队列

      python launch.py canonical_full109.json --stage run --models opencode_opus48 --execute python launch.py canonical_full109.json --stage judge --models opencode_opus48 --execute

任务机制

  • 任务信息是逐步揭示的,而非一次性给出。智能体首先获取 instruction.md(第0轮),然后用户模拟器根据原始会话的跟进内容(如澄清、纠正、审查)进行交互。
  • 每个任务包含:指令、用户模拟提示、基于基础提交的 Docker 环境、测试门套件、参考补丁及冻结的裁判评分标准。

评分体系

  • 正确性:智能体裁判将每个任务分解为加权完整性目标,并对比智能体的补丁进行评分(公平处理接近正确的答案)。最终指标包括 pass@1stable_pass_ratepass²(阈值:judge_score ≥ 0.85)。
  • 用户纠正:计算公式为 #correction + 0.2·nudge,基于每条消息的标签计算用户需要纠正智能体的程度。

相关资源

搜集汇总
数据集介绍
构建方式
SWE-Together通过模拟真实用户与编码智能体之间的多轮交互来构建评估基准。每个任务起始于一条用户消息,随后利用反应式用户模拟器复现原始会话中的追问、澄清、新需求等后续交互,同时保留原始用户的意图。数据集包含109个任务,每个任务均包含指令、仓库信息、基础提交、评分目标、参考补丁及用户意图等详细规格,并预先构建Docker化环境以确保可复现运行。评分轴心包括正确性(由智能体裁判评估)和用户纠正程度(衡量用户需要将智能体拉回正轨的程度)。
特点
该数据集最突出的特点在于其交互式评估框架,将编码智能体置于渐进式任务揭示的生态中,而非一次性提示。每个任务配备预定义的加权完整性目标作为评判标准,使不同试验间的分数具有可比性,且能对接近正确的部分进行公平打分。正确性评估通过智能体裁判分解任务并标记最终补丁完成度,得出pass@1、稳定通过率和pass²等指标。用户纠正度则通过每轮消息标签计算,量化智能体偏离轨迹时所需的人工干预程度,为智能体的实际可用性提供多维度洞察。
使用方法
使用SWE-Together时,用户可通过Hugging Face平台直接加载测试分割数据集。运行环境支持E2B云沙箱或本地Docker两种方式,需配置对应的API密钥和GitHub容器注册表凭证。启动器可读取运行计划并驱动两阶段流程:第一阶段让选定的编码智能体(如opencode、claude-code、codex、mini-swe-agent)在沙箱中完成任务,第二阶段使用智能体裁判进行评分。用户可通过修改运行计划中的模型、重复次数和任务子集来定制评估,支持干运行预览和断点续跑功能。
背景与挑战
背景概述
在现代软件工程领域,大型语言模型驱动的编码智能体已展现出卓越的代码生成与修复能力。然而,传统评测基准多局限于静态、单轮次的编程任务,难以捕捉用户与编码智能体间动态往复、需求渐进演变的真实协作场景。为填补这一评估空白,Yifan Wu、Zhuokai Zhao等研究者于2026年创建了SWE-Together数据集。该数据集立足于真实的用户-智能体会话记录,重构了多轮交互环路,并引入反应式用户模拟器以复现用户提问、新需求提出及纠偏等行为。核心研究问题聚焦于如何系统性地评估编码智能体在复杂对话交互中的综合表现。基于109个精心构建的任务,该数据集已成为衡量前沿编码智能体(如opencode、claude-code等)交互性能的重要基准,对推动人机协作编程评估体系的发展意义深远。
当前挑战
SWE-Together数据集所解决的领域核心挑战在于,传统静态评测无法评估编码智能体应对用户动态意图变化与多轮反馈的能力。这一复杂性体现在智能体需在交互过程中持续解析用户潜在意图、适应新涌现的需求、并能从用户纠偏中自我修正。此外,在数据集构建过程中亦面临多重技术挑战:每个任务需精确固定仓库基准提交点,以确保可复现性;需设计具备上下文敏感性的用户模拟器,其行为需忠实保留原始用户意图的同时具备自然交互的随机性;还需构建细粒度的加权完整性评分体系以公正评价智能体部分正确解决方案;以及在各任务中预建沙盒运行环境并维护跨任务的评分标准一致性,这些挑战对数据集的规模化扩展与广泛应用构成了显著制约。
常用场景
经典使用场景
SWE-Together数据集专为评估交互式代码智能体(coding agent)在多轮人机协作会话中的表现而设计。每个任务模拟一个真实的用户-智能体交互场景,包含初始用户指令与一系列可回放的后续对话,如用户提出澄清问题、新增需求或纠正智能体的行为。研究者可在此数据集上运行多种主流代码智能体(如opencode、claude-code、codex、mini-swe-agent),通过沙盒环境复现完整的交互流程,从而系统性地衡量智能体在动态任务中理解意图、生成正确代码补丁以及响应用户反馈的能力。
解决学术问题
该数据集精准回应当前代码智能体评估领域的一个核心困境:现有基准测试大多采用静态、单轮的任务设定,无法反映真实编程协作中用户与智能体之间的迭代沟通与需求演变。SWE-Together通过引入‘用户模拟器’重放真实会话的多轮交互,量化了两个关键维度——代码修改的‘正确性’(基于可分解的加权目标评分)和‘用户纠正程度’(衡量用户需要多少次推回才使智能体回归正轨)。这为学术界提供了一个更加生态效度高的评估范式,推动代码智能体研究从孤立的代码生成迈向更具实用价值的人机协同交互建模。
衍生相关工作
该数据集的提出已催生一系列衍生研究工作。其核心贡献在于构建了首个包含多轮用户交互的代码智能体评估框架,后续研究可围绕以下方向展开:一是基于SWE-Together的标准化交互轨迹,训练更善于主动询问澄清或预测用户意图的下一代代码智能体;二是将用户模拟器的设计范式应用于其他编程领域(如前端开发、数据分析脚本编写)的交互式评估;三是利用数据集中丰富的用户纠正信号,研究如何设计更高效的智能体纠错与反馈吸收机制。此外,该数据集公开的109个任务沙盒环境也为代码智能体的可复现性研究提供了坚实基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务