遇见数据集

SWE-CC

收藏
github2026-10-05 更新2026-11-01 收录
官方服务:

资源简介:

SWE-CC 是一个基准,用于衡量编码智能体在解决真实问题时是否遵循仓库贡献政策,包括代码和测试风格、测试工作流、提交和拉取请求约定、AI 辅助披露等。它包含来自 12 个 SWE-bench Verified 仓库贡献者文档的 823 条政策,每条政策都被编译为确定性检查函数;还包含基于 SWE-bench Verified 构建的 500 个端到端贡献任务,要求修复问题、提交并撰写拉取请求。该基准支持 Native 和 Consolidated 两种政策提供设置,并可与任意智能体配合使用。

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

SWE-CC 数据集概述

基本信息

  • 名称:Correct Code, Broken Contributions? SWE-CC: Benchmarking Repository Policy Compliance for Coding Agents
  • 数据集详情页:https://github.com/dangtruong01/swe-cc-arxiv
  • 论文 PDF:https://github.com/dangtruong01/swe-cc-arxiv/raw/main/paper/SWE-CC.pdf
  • 许可证:代码采用 MIT License(https://github.com/dangtruong01/swe-cc-arxiv/blob/main/LICENSE);rules/ 下政策文本和原始来源引用各项目贡献者文档,并保留在各项目许可证下;任务源自 SWE-bench Verified。
  • 关键词:coding agents、software engineering benchmarks、repository policies、contribution compliance。

目标与检查范围

  • SWE-CC 衡量 coding agents 在解决真实 issue 时是否遵循仓库贡献政策。
  • 贡献政策包括:代码与测试风格、测试工作流、提交与 pull-request 约定、AI 辅助披露。
  • 检查对象包括 agent 的轨迹,以及 agent 交付的 commits、patches、pull-request 文本。

数据规模与构成

  • 823 条政策,来自 12 个 SWE-bench Verified 仓库的贡献者文档。
  • 每条政策编译为确定性 checker function,评分时无 LLM judge。
  • 500 个端到端贡献任务,基于 SWE-bench Verified:修复 issue、commit、写 pull request。
  • 两种政策提供设置:
    • Native:agent 被指向项目文档,必须自行找到政策。
    • Consolidated:政策作为单个文件挂载到容器中。
  • 支持任意 agent:为 mini-SWE-agent 和 OpenHands 提供现成 runners;其他 agent 可使用普通 JSON trajectory 格式。

主要结果

Agent scaffold Native resolve Native compliance Consolidated resolve Consolidated compliance
mini-SWE-agent 81.7% 55.7% 81.4% 64.4%
OpenHands 83.9% 58.2% 83.1% 67.0%
  • 结果在四个评估模型上平均。
  • 当前 agents 解决大多数任务,但满足的适用仓库政策明显更少。
  • 直接提供政策可提高 compliance,但最佳平均 compliance rate 仍为 67.0%。
  • Native 提供治理政策文档位置并要求 agent 检索;Consolidated 直接提供提取后的政策。
  • 完整模型级结果见论文,可用 python paper/make_tables.py --only table3 从发布结果重新生成。

可复现内容

  1. 在新 agent 上运行 benchmark:包含 tasks、policy corpora、checker code、tests、prompt additions、runner configurations;quick start 可评分一个完整示例轨迹。
  2. 重新计算论文结果表和数据衍生图:paper/results/ 包含 8,000 次实验运行的结果,包括 709,376 条 per-policy verdicts;命令和文件格式见 https://github.com/dangtruong01/swe-cc-arxiv/blob/main/paper/README.md。
  3. 重复实验:包含 scaffold setup、模型配置模板、sweep scripts;重复全部运行需要模型服务、Docker、SWE-bench images 以及大量时间和计算。

未包含内容与限制

  • 8,000 条完整历史轨迹未包含。
  • 导出的结果支持重算论文聚合结果,但不能独立重新评分每个历史 agent 动作。
  • 一个完整示例轨迹包含在 https://github.com/dangtruong01/swe-cc-arxiv/tree/main/examples/。
  • 独立 checker-audit ratings 不在本 release 中;论文描述了验证过程与结果。

安装与快速开始

Python 3.11。

bash python3.11 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt -e . pytest -q

  • 安装 swe-cc 命令,等同于 python -m compliance。
  • 需要 editable mode(-e),因为 checkers 从 package 旁的 rules/ 读取 policy corpora。
  • 评分仅使用标准库;requirements.txt 固定 test 和 plotting 依赖。

快速开始:

bash scripts/quickstart.sh

  • 对 examples/ 中一个已存 agent run 按 SymPy 的 142 条政策评分,并检查 verdicts 是否与存储值一致。
  • 打印一个任务的 task-prompt additions,并汇总 results 目录。
  • 首次需要网络克隆 SymPy git history(blobless,约 70 MB),以便 checkers 重建 agent 修改的文件。

评分运行与指标

bash swe-cc check <trajectory.json> --project sympy --setting native --jsonl rows.jsonl swe-cc retrieval <trajectory.json> --project sympy

每个政策有一个 outcome:

outcome 含义
pass / fail 政策适用于 agent 工作,并满足或违反
not_triggered agent 工作未使该政策进入范围
withheld 政策适用,但运行缺少判断证据(例如文件无法解析)
  • Triggering rate = (pass + fail + withheld) / all policies
  • Compliance rate = pass / (pass + fail)
  • 应同时报告两个指标;做得更少的 agent 触发更少政策,可能看起来更合规。

评估自己的 agent

  • 任意 agent:运行 data/tasks.jsonl 中任务,加入 scripts/render_task.py 的 prompt 文本;agent 开始前运行 harness/probe.sh,结束后运行 harness/collect.sh,并将每次运行写成 plain JSON trajectory;用 swe-cc check run.json --scaffold own-agent --project <name> 评分;完整协议见 https://github.com/dangtruong01/swe-cc-arxiv/blob/main/docs/evaluate-your-agent.md。
  • mini-SWE-agent 或 OpenHands:每个都有一个脚本串起 agent run → functional grading(SWE-bench harness)→ compliance grading → summary。

bash frameworks/setup.sh all cp models/gpt-5.6-luna.conf models/my-model.conf MODELS=my-model CASES=sweeps/smoke.txt sweeps/run_mini_swe_agent.sh MODELS=my-model sweeps/run_mini_swe_agent.sh MODELS=my-model sweeps/run_openhands.sh

  • 需要 Docker、SWE-bench images(按需拉取)和模型提供方 API key。
  • Runs 输出到 runs/,结果到 results/:runs.csv、verdicts.csv.gz、policies.csv。
  • 重跑脚本会从停止处继续。
  • 汇总 results 目录:

bash python scripts/summarize.py results python scripts/summarize.py results --by category

基准目录内容

路径 内容
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/rules/<prefix>/ 每个项目的政策语料库:分类工作簿、冻结提取、来源清单、原始来源、运行日志、CONTRIBUTING_RULES.md(Consolidated-setting 文件)
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/compliance/ Checker functions(https://github.com/dangtruong01/swe-cc-arxiv/tree/main/compliance/rules/<prefix>/)和评分库:evidence bundles、trajectory adapters、metrics
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/tests/ Unit tests,包含每个 checker 的 satisfied / violated / not-triggered 案例
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/data/ 500 个任务(https://github.com/dangtruong01/swe-cc-arxiv/blob/main/data/tasks.jsonl)和 task-prompt additions(https://github.com/dangtruong01/swe-cc-arxiv/tree/main/data/prompts/)
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/harness/ 在 agent 容器内运行的 probe 和 collect scripts
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/frameworks/ mini-SWE-agent 和 OpenHands runners,以及 own-agent adapter config
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/models/ 模型配置(论文使用的四个作为模板)
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/sweeps/ 任务列表(全部 500;1-task smoke test)和每个 scaffold 一个脚本
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/tools/ 批量 compliance scoring、functional re-grading、corpus acceptance checks
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/scripts/ quickstart.sh、render_task.py、export_results.py、summarize.py
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/examples/ 一个完整 agent run 及其预期 verdicts
https://github.com/dangtruong01/swe-cc-arxiv/tree/main/paper/ 论文实验相关内容
https://github.com/dangtruong01/swe-cc-arxiv/blob/main/DATASHEET.md Composition、collection、intended use 和 limitations

项目前缀映射

prefix project
astropy astropy
django django
matplotlib matplotlib
scikit-learn scikit-learn
mwaskom seaborn
pallets flask
psf requests
pydata xarray
pylint-dev pylint
pytest-dev pytest
sphinx-doc sphinx
sympy sympy

政策提取与扩展

  • 提取程序与 rubrics 先用 Django 和 SymPy 开发,之后应用于其他十个仓库。
  • Django 和 SymPy 的最终分类工作簿、政策文件、checkers 已包含。
  • 标准化 source manifests、frozen extraction files、raw-source bundles、run logs 记录其他十个仓库的后续自动处理;这四类文件不适用于 Django 或 SymPy。
  • 扩展到新仓库:政策提取流程位于 https://github.com/dangtruong01/swe-cc-arxiv/tree/main/rule-extraction/,包括 workflow、launcher prompt、两个 labelling rubrics、source-discovery script。
  • tools/corpus.py 和 tools/audit_rules.py 检查新 corpus。
  • Checkers 按 https://github.com/dangtruong01/swe-cc-arxiv/blob/main/docs/checker-authoring.md 编写;tools/scaffold_checkers.py 从 corpus 生成 stubs。
  • 仓库由 rules/<prefix>/repo.conf 加 corpus、compliance/rules/ 下 checker package、compliance/cli.py 中 RULE_MODULES 条目组成。

论文复现

https://github.com/dangtruong01/swe-cc-arxiv/tree/main/paper/ 保存论文 8,000 次运行的导出结果(四模型、两 scaffold、两 setting)和再生结果衍生表/图脚本。

引用

bibtex @misc{dang2027swecc, title = {Correct Code, Broken Contributions? {SWE-CC}: Benchmarking Repository Policy Compliance for Coding Agents}, author = {Dang, Truong Hai and Goh, Rayner and Le-Cong, Thanh and Huo, Yintong}, year = {2027}, url = {https://github.com/dangtruong01/swe-cc-arxiv} }

搜集汇总
数据集介绍
SWE-CC 数据集图片
构建方式
面向编码智能体在真实软件仓库中贡献合规性的评测需求,SWE-CC的构建以SWE-bench Verified的12个仓库为基座,从贡献者文档中抽取823条仓库策略,并将其编译为确定性检查器函数,评分阶段不依赖大语言模型裁判。其500项端到端贡献任务要求智能体修复问题、形成提交并撰写拉取请求,覆盖Native与Consolidated两种策略供给设置:前者仅指明政策文档位置,后者将整合后的政策文件挂载至容器。提取流程与标注准则先在Django和SymPy上开发,再扩展至其余十个项目,并保留策略语料、检查代码与任务提示等配套资产。
特点
在软件工程基准日益关注智能体协作规范性的背景下,SWE-CC的显著特点在于同时审视智能体的过程轨迹与最终交付物,包括提交、补丁及拉取请求文本,从而判定其是否遵循代码与测试风格、测试工作流、提交及拉取请求约定和AI辅助披露等政策。每条政策获得pass、fail、not_triggered或withheld四类裁定,触发率与合规率需并列报告,以避免少做事的智能体因触发政策较少而显得更合规。基准适配任意智能体,附带mini-SWE-agent与OpenHands运行器及通用JSON轨迹格式,并发布8000次运行聚合结果和709376条策略级裁定;完整历史轨迹与独立检查器审计评分未包含在本发布中。
使用方法
为将仓库政策合规评测嵌入智能体研发与复现流程,SWE-CC提供Python 3.11环境下的安装与命令行工具。执行pip install -r requirements.txt -e .后,quickstart.sh可对示例轨迹评分并校验预期裁定;swe-cc check与swe-cc retrieval分别用于评分和判断政策是否进入模型上下文。评估自有智能体时,需运行data/tasks.jsonl中的任务,借助render_task.py添加提示,并在容器内先后执行harness/probe.sh与harness/collect.sh,再将运行记录写为JSON轨迹后以own-agent模式评分。mini-SWE-agent和OpenHands可通过frameworks/setup.sh all及sweeps脚本完成运行至汇总;新增仓库则依rule-extraction流程构建语料与检查器。
背景与挑战
背景概述
在代码生成与软件工程智能体快速演进之际,SWE-CC 由 Truong Hai Dang、Rayner Goh、Thanh Le-Cong 与 Yintong Huo 等研究者提出,预印本条目标注为 2027 年,旨在衡量编码智能体解决真实仓库问题时是否遵循贡献政策。该基准依托 SWE-bench Verified 的十二个项目,汇集八百二十三条政策与五百项端到端贡献任务,覆盖代码与测试风格、测试工作流、提交和拉取请求约定及 AI 辅助披露。核心问题在于智能体能否在修复 issue、提交 commit 与撰写 PR 的同时满足仓库规范,其影响力体现为将评估从功能正确性拓展至贡献合规性,并揭示高解决率与较低政策合规率之间的显著落差。
当前挑战
当功能修复基准逐渐成熟,仓库协作规范却长期游离于自动评估之外,SWE-CC 所应对的领域问题是如何判定编码智能体是否真正遵循贡献政策,而非仅产出可运行补丁。构建过程中,研究者需从十二个仓库的贡献文档提取并分类八百二十三条政策,将其编译为确定性检查器,避免评分时依赖 LLM 裁判;同时要采集轨迹、提交、补丁与 PR 文本,处理政策触发、证据缺失与不可解析文件等情形。跨仓库规则泛化、完整历史轨迹未随发布、独立重评受限,以及合规率受触发率影响而可能虚高,均构成其持续挑战。
常用场景
经典使用场景
在软件工程智能体评测日益强调真实开发情境的背景下,SWE-CC面向编码代理能否遵循仓库贡献政策这一核心问题,构建了端到端贡献任务基准。其经典使用场景为:代理在SWE-bench Verified的真实问题修复任务中完成代码修改、提交与拉取请求撰写,随后由确定性检查器依据从12个成熟项目贡献文档中编译的823条政策,对代理轨迹与交付物逐条判定通过、违反、未触发或证据不足。借助Native与Consolidated两种政策供给设置,研究者可在信息检索与政策直给条件下比较代理合规表现,并联合报告任务解决率与政策遵循率,避免仅以功能正确性衡量代理贡献质量。
衍生相关工作
SWE-CC并非孤立诞生,其任务与实例前缀承继自SWE-bench Verified,并在该生态上派生出面向仓库政策合规的评测支线。围绕该基准,公开仓库提供了mini-SWE-agent与OpenHands的即用运行器、适配自有代理的own-agent接口及统一JSON轨迹格式,使后续工作能够在相同任务与政策语料上扩展比较。规则提取流程、检查器编写规范、语料审计工具与批量评分脚本进一步降低了新增仓库或新增政策类别的门槛。由此衍生的研究可涵盖政策感知代理、合规导向训练、跨仓库治理比较与自动化贡献审计,并为软件工程智能体评测形成可复用的基础设施。
数据集最近研究
最新研究方向
伴随编码智能体在缺陷修复任务中表现趋近成熟,软件工程评测前沿正从功能正确性延伸至开源协作规范与贡献治理。SWE-CC 依托 12 个 SWE-bench Verified 仓库的 823 条政策与 500 项端到端任务,考察智能体在代码与测试风格、测试工作流、提交与拉取请求惯例及 AI 辅助披露上的合规性。Native 与 Consolidated 两种设置显示,显式提供政策可改善合规,但最佳平均合规率仍为 67.0%,揭示“代码正确、贡献失范”的潜在风险。该方向呼应 AI 生成提交与开源维护者审查的热点议题,为政策检索、合规推理和可审计智能体评估提供基准,并推动 AI 辅助软件工程与社区治理规范的衔接。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务