Lego-X/SWE-Lego-Synthetic-Data
Dataset Summary Paper | Github | HF Collection SWE-Lego-Synthetic-Data contains 11.5k synthetic github issues (Python language) and their multi-turn agent trajectories. The column named messages is collected using Qwen/Qwen3-Coder-480B-A35B-Instruct with OpenHands (v0.53.0) agent scaffolding, which can be directly used for SFT training. This dataset is part of the work presented in SWE-Lego, a supervised fine-tuning (SFT) recipe designed to achieve state-of-the-art performance… See the full description on the dataset page: https://huggingface.co/datasets/Lego-X/SWE-Lego-Synthetic-Data.
Dataset Summary
**Paper** | **Github** | **HF Collection**
SWE-Lego-Synthetic-Data contains 11.5k synthetic github issues (Python language) and their multi-turn agent trajectories. The column named messages is collected using Qwen/Qwen3-Coder-480B-A35B-Instruct with OpenHands (v0.53.0) agent scaffolding, which can be directly used for SFT training.
This dataset is part of the work presented in SWE-Lego, a supervised fine-tuning (SFT) recipe designed to achieve state-of-the-art performance in software engineering (SWE) issue resolving.
.
└── data
├── resolved-00000-of-00001.parquet (9.1k github issues with resolved trajectories)
└── unresolved-00000-of-00001.parquet (2.4k github issues with unresolved trajectories)The effectiveness of the dataset has been demonstrated by training exclusively with SFT from Qwen3-8B and Qwen3-32B, and evaluated on SWE-Bench-Verified:
- [SWE-Lego-Qwen3-8B](https://huggingface.co/SWE-Lego/SWE-Lego-Qwen3-8B): 42.2% Pass@1, 49.6% TTS@16
- [SWE-Lego-Qwen3-32B](https://huggingface.co/SWE-Lego/SWE-Lego-Qwen3-32B): 52.6% Pass@1, 58.8% TTS@16
<p align="center"> <br> <img src="https://huggingface.co/datasets/SWE-Lego/SWE-Lego-Synthetic-Data/resolve/main/overview.png" width="1000"/> <br> </p>
We’ve open-sourced everything—our dataset, code, and training scripts, for everyone to progress on scaling and improving software engineering agents. For more details, please refer to our Github and Paper.
How to use
import json
from datasets import load_dataset
# Load dataset
ds = load_dataset("SWE-Lego/SWE-Lego-Synthetic-Data", split="resolved")
# Select required columns
processed_ds = ds.select_columns(["instance_id", "messages"])
# Convert to list format
data_list = processed_ds.to_list()
# Save as JSON file
filename = "swe_lego_synthetic_data_resolved_trajectories.json"
with open(filename, "w", encoding="utf-8") as f:
json.dump(data_list, f, ensure_ascii=False, indent=4)
print(f"Saved {len(data_list)} records to {filename}")Acknowledgement
SWE-Lego-Synthetic-Data is built upon SWE-rebench and SWE-smith.
Citation
Please cite our paper if you find the repo helpful in your work:
@misc{swelego,
title={SWE-Lego: Pushing the Limits of Supervised Fine-tuning for Software Issue Resolving},
author={Chaofan Tao and Jierun Chen and Yuxin Jiang and Kaiqi Kou and Shaowei Wang and Ruoyu Wang and Xiaohui Li and Sidi Yang and Yiming Du and Jianbo Dai and Zhiming Mao and Xinyu Wang and Lifeng Shang and Haoli Bai},
year={2026},
eprint={2601.01426},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2601.01426},
}