遇见数据集

SessionSwitchBench

收藏
github2026-05-31 更新2026-06-02 收录
官方服务:

资源简介:

一个用于测试编码代理在单个会话中处理任务切换的基准测试,包含500个跨410个GitHub仓库的仓库修复任务,以及切换案例和焦点控制案例,用于评估代理在中断任务干扰下保持焦点任务的能力。

A benchmark for testing coding AI agents' ability to handle task switching within a single session. It includes 500 repository repair tasks across 410 GitHub repositories, as well as switching scenarios and focus control scenarios, aimed at evaluating agents' capability to maintain focus on their targeted task when interrupted by disruptive tasks.

创建时间:
2026-05-31
原始信息汇总

数据集概述:SessionSwitchBench

SessionSwitchBench 是一个专门用于测试编码智能体(coding agent)在单次会话(session)内处理任务切换能力的基准测试(benchmark)。不同于传统的一次只给一个任务的仓库修复基准,该基准将多个修复任务交织在一起,要求智能体在持续会话中同时应对一个焦点任务和多个无关的中断任务,最终仅根据焦点任务的修复补丁进行评分。

数据集规模与构成

  • 总任务数:包含 500 个仓库修复任务,覆盖 410 个 GitHub 仓库。
  • 测试用例类型
    • 500 个切换案例(switched cases):一个焦点任务与多个中断任务交织。
    • 500 个匹配的焦点控制案例(matched focus-control cases):仅包含焦点任务,用于对比。
  • 数据内容
    • 任务 ID 采用匿名格式(如 ssb_v1_task_0001)。
    • 保留了仓库名称和基础提交(base commit),用于控制器构建工作区。
    • 数据为“提示洁净”(prompt-clean),不包含参考补丁、测试补丁、保留测试、目标文件、上游 PR/commit 链接或评分器内部信息。
  • 评分机制:最终评分依赖于本仓库中未公开的保留材料。

数据文件结构

text data/tasks.json # 任务定义和工作流程阶段 data/session_cases.json # 切换案例(焦点 + 中断) data/focus_control_cases.json # 匹配的控制案例 data/release_verification.json

切换案例结构

每个切换案例包含:

  • 一个焦点任务:其轮次标记为 A
  • 多个中断任务:每个中断任务有有序的阶段。
  • 轮次序列示例A1, G1, C1, A2, ... A_final
  • 唯一评分轮次:最后一个焦点轮次(A_final)。

评估机制

  • 控制器是受信任的基础设施,智能体是被测试的系统。
  • 操作流程:
    1. 控制器在基础提交处克隆每个所需仓库到新工作区。
    2. 从智能体的副本中移除 .git 目录。
    3. 一次发送一个提示并记录输出。
    4. 收集最终的焦点任务补丁,并调用评分器(如已配置)进行评分。
  • 智能体仅能看到当前提示和准备好的工作区,无法访问完整的案例 JSON 或未来的轮次。工作区状态在案例内持久化,在案例间重置。

使用要求

  • 运行环境:Python 3.10+,以及 git 命令。
  • 第三方依赖:运行测试框架无需第三方 Python 包。

快速启动

  1. 验证发布:运行 python3 scripts/verify_release.py --data-dir data --expected-count 500
  2. 试运行:使用 --dry-run 参数运行控制器,不执行克隆操作。
  3. 示例测试:使用 echo_agent.py 作为“冒烟测试”智能体,不执行实际工作。
  4. 运行真实智能体:通过 --agent-command 指定你自己的智能体包装器,并通过环境变量接收上下文。如果需要评分,还需通过 --score-command 提供自定义评分器。

与 SWE-bench 的关系

SessionSwitchBench 继承自 SWE-bench 家族的仓库修复任务。任务通过内部严格可执行性验证后,被转化为多阶段工作流并交织成会话切换案例。它并非 SWE-bench 的官方分支或排行榜,其核心测量点在于智能体在单次会话中维护和恢复多个任务的能力,评分仍基于补丁的可执行性。

文档与许可

搜集汇总
数据集介绍
SessionSwitchBench 数据集图片
构建方式
SessionSwitchBench的构建基于SWE-bench家族的仓库修复任务。首先,通过内部严格可执行性验证筛选出500个任务,并将其转化为多阶段工作流。每个任务被设计为一个焦点任务,并与若干无关的中断任务交错排列,形成一个连续会话。这些任务分布在410个GitHub仓库中,每个焦点任务都有对应的控制案例(单独执行)用于对比。数据集保留了仓库名称和基准提交哈希,以便控制器克隆仓库并构建工作空间。
使用方法
使用SessionSwitchBench时,用户需通过控制器运行评估。控制器负责克隆仓库、准备工作空间、逐步发送提示并记录输出。用户需提供一个智能体包装器,该包装器从环境变量读取提示及工作空间路径,并生成补丁文件。评分时,用户可配置自定义评分命令,如对最终补丁进行验证。示例脚本提供了快速启动方式,包括数据验证和模拟运行。正式评估需替换为真实的智能体及评分器。
背景与挑战
背景概述
SessionSwitchBench诞生于对现有代码修复基准测试局限性的深刻洞察之中。由一群致力于评估编码智能体在持续性交互场景下表现的学者所开发,该数据集于近期发布,专注于探究在单次会话中任务切换对智能体性能的影响。核心研究问题在于,当智能体长时间专注于某一主任务,而其间穿插着多个不相关的干扰任务时,其最终完成主任务的能力是否会受到影响,以及影响程度有多大。这一研究背景触及了现实世界中软件开发工作流的本质——开发者几乎总是同时处理多个任务,频繁地在不同问题域之间切换注意力。SessionSwitchBench通过精妙的设计,将SWE-bench系列的仓库修复任务转化为多阶段工作流,并交织成连续会话,从而为评估智能体在多任务环境下的稳健性提供了首个标准化量化工具,对推动人机交互与自动化编程领域的发展具有深远意义。
当前挑战
当前领域面临的核心挑战在于如何真实模拟并衡量智能体在多任务环境中的表现。传统基准测试将每个修复任务孤立呈现,忽略了实际开发中任务频繁切换的上下文干扰,导致评估结果脱离现实。SessionSwitchBench所解决的正是这一鸿沟,它迫使智能体在连续会话中维持对主任务的关注度,同时应对无关的中断任务,这考验的不仅是代码修复能力,更是任务管理、工作记忆与注意力恢复的高级认知功能。在构建过程中,研究者遭遇了多重困难:需要从海量任务中筛选出能通过严格验证的实例,将其分解为保有内在逻辑的渐进阶段,再以自然的工作流顺序交织,同时确保每个会话产生唯一的、可评分的主任务修复补丁。此外,为了公平评估,必须设计一套清洁的评测协议,使智能体仅能看到当前提示与工作空间,而无法预知未来的干扰任务或完整会话结构,这大大增加了基准测试的设计与实现复杂度。
常用场景
经典使用场景
SessionSwitchBench作为一款专为评测代码智能体在单次会话中任务切换能力的基准测试,深度契合现代软件开发中多任务交织的复杂场景。该数据集精心设计了500个基于真实GitHub仓库的代码修复任务,通过将核心聚焦任务与若干无关中断任务交错编排,模拟出开发者频繁遭遇的上下文切换环境。其核心价值在于精准衡量智能体在持续对话中维持主线任务进度、抵御干扰并最终产出正确修复补丁的能力,弥补了传统单任务基准如SWE-bench在动态多任务评估维度上的空白。
解决学术问题
该基准直面智能体研究中的关键学术挑战——任务持续性与注意力鲁棒性。传统代码修复评测多假设模型可专注于单一问题直至解决,忽略了真实工作流中因突发需求导致的任务中断与恢复。SessionSwitchBench通过设计交错式任务序列与唯一评分机制,系统量化了智能体在干扰下的任务保持与知识回溯能力,为研究认知负载管理、注意力分配机制以及长期依赖建模提供了标准化实验框架。这项创新促使学术界重新审视智能体的鲁棒性评估范式,推动了从静态单任务向动态多任务评测的学术转向。
实际应用
在工业级代码助手与自动化编程工具的实际部署中,SessionSwitchBench模拟的场景具有极高现实契合度。例如,软件工程师在使用GitHub Copilot或Claude Code开发功能时,可能突然被要求修复紧急bug或审查合并请求,而中断后需迅速恢复原任务。该数据集可直接用于评估此类工具在真实工作流中的实用性,帮助开发团队验证智能体能否在频繁通知、多仓库协作或并行任务切换中维持稳定的代码生成质量,从而为产品优化提供量化依据,并作为企业采购AI编程工具的基准测试标准。
数据集最近研究
最新研究方向
SessionSwitchBench聚焦于编码智能体在连续对话会话中的任务切换能力评估,这是当前AI编码助手从单任务修复迈向多任务协同工作流的前沿研究方向。随着SWE-bench等基准测试推动编码智能体在独立修复场景中取得突破,研究者逐渐意识到真实开发环境中智能体需同时处理多个交织的任务,频繁被中断后仍能高效维持主线任务。该基准通过将500个仓库修复任务与随机中断任务交错排列,构造了连续会话中的注意力保持挑战,模拟了开发者日常工作中面临的上下文切换痛点。这一研究方向直指AI编码系统在复杂工作场景中的鲁棒性瓶颈,其发布的实验框架和对照设计为量化智能体的任务恢复与优先级管理能力提供了标准测试床,对推动编码智能体从实验室演示向工程实践落地具有重要价值。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务