Skywork-SWE-32B是什么
Skywork-SWE-32B是昆仑万维开源的32B规模的软件工程(SWE)自主代码智能体基座模型。模型专注于软件工程任务,特别是仓库级代码修复能力,能在多轮交互和长文本处理的复杂场景中表现出色。通过构建超过1万个可验证的GitHub仓库任务实例,打造了目前最大规模的可验证GitHub仓库级代码修复的数据集,在SWE-bench Verified基准测试中取得了38.0%的pass@1准确率,刷新了同参数规模模型的最佳成绩。引入测试时扩展技术后,准确率进一步提升至47.0%,显著超越了现有32B以下的开源模型,接近甚至超越部分闭源模型的性能。

Skywork-SWE-32B的主要功能
-
仓库级代码修复:能定位GitHub仓库中的代码问题(如Bug),生成修复代码,验证修复效果,完成从问题理解到解决的全流程闭环。
-
多轮交互能力:支持超过50轮的交互,模拟真实开发场景中的多次调试与修复过程,逐步解决问题。
-
长文本处理:能处理超过32k tokens的长文本,满足复杂代码文件和多文件依赖的处理需求。
-
自动化验证:通过构建专用的运行时环境和单元测试验证机制,确保生成的修复代码在实际运行环境中有效。
Skywork-SWE-32B的技术原理
- 大规模数据集构建
-
自动化数据收集与验证:通过三阶段的自动化流程(数据采集与预筛选、基于执行的验证、智能体轨迹生成),构建了包含10,169个真实Python任务实例的数据集,覆盖2,531个不同的GitHub仓库。
-
运行时环境支持:每个任务实例都配备了专用的Docker运行时环境镜像,支持自动化单元测试验证,确保生成的修复代码在实际运行环境中有效。
-
高质量训练轨迹:通过智能体在任务求解过程中的多轮交互轨迹,生成高质量的训练样本,用于模型的微调。
-
- 模型训练与优化
-
基于OpenHands框架:采用OpenHands代码智能体框架,支持多轮交互和长文本处理,能模拟真实开发场景中的代码修复过程。
-
数据缩放定律:通过系统性验证,发现随着训练数据规模的增加,模型性能持续提升,验证了数据缩放定律在软件工程任务中的适用性。
-
测试时扩展技术(TTS):在推理阶段,通过增加独立rollout的数量(如N=8),进一步提升模型的性能,充分利用模型的推理能力。
-
Skywork-SWE-32B的项目地址
- HuggingFace模型库:https://huggingface.co/Skywork/Skywork-SWE-32B
- 技术论文:https://huggingface.co/Skywork/Skywork-SWE-32B/resolve/main/assets/Report.pdf
Skywork-SWE-32B的应用场景
-
优化代码质量:模型可以分析代码中的潜在问题,提出优化建议,帮助开发者提高代码质量和可维护性。
-
单元测试自动化:通过构建专用的运行时环境和单元测试验证机制,Skywork-SWE-32B能自动化执行测试用例,验证生成的修复代码是否有效。
-
教学辅助:在软件工程和编程课程中,Skywork-SWE-32B可以作为教学工具,帮助学生理解代码问题的解决过程,提高编程能力。
-
研究支持:为研究人员提供了强大的实验平台,用于探索大语言模型在软件工程任务中的应用,验证数据缩放定律等理论。
-
内部开发工具:企业可以将Skywork-SWE-32B集成到内部开发工具中,自动化处理代码问题,减少人工干预,提高开发效率和代码质量。