(2512) Skywork-R1V4 (多模态)
🌺 论文摘要
相关链接
效果
核心方法
重要结论
关键贡献
(2511) SkyRL-Agent
🌺 论文摘要
问题背景
❓问题背景
核心方法
📕核心方法
算法实验
实验设置
✍️实验设置
基础模型
训练任务/数据
评测任务/数据
算法/策略
超参
关键结果
🍑关键结果
未来方向
⛳ 未来方向
(2506) Skywork-SWE
🌺 论文摘要
参考链接
核心方法
- 1套
SWE任务收集构建方法:Repo+PR 收集+统一环境安装+执行验证等。- 基于
真实环境执行来做数据验证,3层增量式镜像(基础+环境+实例镜像)。 Skywork-SWE数据:10k任务+2.5k仓库。- AgentSFT蒸馏:
8k轨迹数据。
- 基于
模型效果 (Qwen-2.5-Coder-32B)
闭源LLM蒸馏轨迹数据SFT,SWE-verified 达36分,TTS, Best-of-3达47分。
重要结论
- SWE
Data-Scaling,Test-Time-Scaling,轮数ScalingLaw 得到验证。 - 经过
单元测试验证的数据比SWE-smith合成数据靠谱,提升6.8%
关键贡献
- 开源数据和模型SkyWork-SWE-32B。
问题背景(SWE任务挑战+SWEAgent)
❓问题背景
代码生成
- 竞赛代码、一次性生成,
self-contained。 - 简答代码(HumanEval/MBPP) -> 竞赛代码(LiveCodeBench) -> 推理LLM.
SWE
bug定位、修改源代码、执行测试,多轮迭代式解决问题。使用工具,长上下文依赖。一些工作:
SWE-Bench-extra:扩展了6k python数据,无环境。
SWe-Dev:测试用例合成pipeline。
SWE-Gym:有环境,仅2k数据;
SWE-Fixer/SWE-Smith:注入验证合理的bug,合成F2P实例,产生几k SWE任务实例。
挑战
- 环境验证不足:
可执行环境+验证过的单元测试+代码执行套件(统一执行脚本) - 高质量数据不足:
量大质低+质高量小- SWE-Dev:数据多,但缺环境和单元测试
- SWE-Gym:有环境,但仅11仓库
- SWE-Scaling Law 尚不清晰:SWE数据量小,Scaling Law尚未得到验证,增加数据是否带来效果提升?
全能派 Rich ACI
- OpenHands
- 提供
编辑器+命令行终端+网页搜索,agent在沙箱环境自主迭代式完成任务。 - 优点:上限高,能处理复杂问题,更像人。
- 缺点:成本高,容易陷入死循环
- 提供
- SWE-Agent
- 使用Agent-Computer-Interface,提供
编辑器+shell+测试运行器给LLM。
- 使用Agent-Computer-Interface,提供
专有精细派
专有Pipeline- Agentless:固定的
定位-修复-验证pipeline - Moatless:主张
有效上下文检索才是关键。
- Agentless:固定的
- 检索微调
- SWE-fixer:由粗到细,文件检索和编辑解耦。
📕核心方法
SWE任务收集构建方法和轨迹蒸馏
SWE任务收集构建和轨迹蒸馏流程:


Repo+PR数据收集和环境预过滤
Repo 收集
- 通过
Github DeveloperAPI收集Metadata信息 (name/star/pull数量等)。 过滤缺字段repo,数量:15k -> 8k
PR 收集
- 拉取Repo的PR,只选
这3类PRMerged:关键字closes/fixes/resolves#Linked to Issue:必须解决了某个Issue- 要
base_commit+gold_patch+test_patch
- 要
修改了测试文件:只保留修改了测试相关文件的PR
- 共
146w 任务
环境安装预过滤
- 尝试
去安装环境,过滤123w,最终共23k 任务
环境准备和执行验证
统一命令配置
环境初始化、依赖安装、测试命令。默认
python3.9,系统包gcc/g++/make/pkg-config,依赖:
requrements.txt,测试包:pytests/hypothesis/mock/setuptools
测试命令:
pytest
环境安装:三层增量镜像
每个实例一个docker实例镜像
基础镜像:ubuntu22.04,apt安装系统包,安装miniconda环境镜像:Repo复用,setup_env.sh,安装requirements.txt和额外开发测试包实例镜像:增量构建- 执行
setup_repo.sh,克隆仓库,checkout特定commit_id - 安装pre_sintall列出的
系统依赖
- 执行
执行验证
- 实例进行过,执行测试:
Empty测试:复现bug,应用empt-patch,得到:empty-FAIL, empty-PASSGold测试:验证修复,应用gold-patch,得到:gold-FAIL, gold-PASS
- 指标计算
FAILE_TO_PASS:empty-FAIL & gold-PASS- PASS_TO_PASS:empty-PASS & gold-PASS
PASS_TO_FAIL:empt-PASS & gold-FAIL
SkyWork-SWE 数据集分析
最终数据
2.5k 仓库,10k python任务实例- 每实例:
NL描述+可执行环境+单元测试
特点
- 数量大:2.5k仓库,10k实例
- 难度高:
平均编辑2.5个文件、74.2行代码,10.2个 FAIL2PASS。 - 编辑复杂度:难度适中,
60%多文件编辑,50%实例编辑1-3个代码库,70%少于50行代码编辑。 - 时间分布:2013-2025,但89%都是2018-2024这6年。
- 分布长尾:


AgentSFT 轨迹数据蒸馏
轨迹rollout/模型蒸馏
多个私有代码LLM+OpenHands v0.32.0,最多100轮- 一系列模型,模型-解决率依次Gemini2.5-Pro (20),GPT-4.1(18),o3-mini(15)...
轨迹验证/过滤:
应用patch做测试,通过所有测试才算成功。仅保留正确数据。
最终:
8k 轨迹数据。
实验设置
✍️实验设置
基础模型
- Qwen-2.5-Coder-32B-Instruct
训练任务/数据
8k SFT轨迹蒸馏数据,来自2.5k仓库+10k python实例
评测任务/数据
- SWE-Verified
- Skywork-SWE-32B:rollout=1,直接去评测,
38分 - Skywork-SWE-32B (+TTS):
rollout=8,使用Critic 打分,选最优轨迹评测,47分- Critic模型:OpenHands critic model
算法/策略
SFT,OpenHands agent
超参
8 H100- 训练12h,3epoch,总计8000轮- Adam,
cosine decay, weight decay=0.01
关键结果 (Qwen2.5-Coder-32B)
🍑关键结果
效果
Qwen2.5-Coder-32BSFT后,SWE达38分,使用TTS(best-of-8)达47分。
重要结论
SWE Scaling Law 验证
- Data Scaling:
数据增加,效果增加,6.4 -> 38 - Test-Time Scaling:
Best-of-8,38 -> 47 - 轮数 Scaling:
10步:28,75步:37,100步:38。75步以后收益小。
- Data Scaling:
经过
单元测试验证的数据比SWE-smith合成数据靠谱,提升6.8%
关键贡献
- 1套
SWE Data Pipeline:自动构建大规模、高质量、SWE任务数据。 - SkyWork-SWE-32B:开源。
未来方向
⛳ 未来方向
自动为测试配置环境的agent- DeepSeekV3.2 已有环境构建Agent,负责
包安装、依赖解析、测试执行
- DeepSeekV3.2 已有环境构建Agent,负责
- 上下文限制:
目前仅32k,需扩展至128k,序列并行。- 但交互超过50轮时,会超过32k。
- 不同OpenHands版本Prompt不同,建议使用最新版本。
(2506) SkyRL-V0.1 (RL框架)
- blog, skywork blog
- SkyRL一个模块化的RL框架
(2505) SkyRL-v0
摘要背景
参考链接
模型效果
- 基于Qwen3-14B,从
SWE-Gym中选择少量数据,做RL训练,SWE达21分。
核心方法
- 环境:
远程sandbox server+异步Rollout;OpenHands scaffold+CodeAct Agent。
❓问题背景
背景
- 现有RL任务大多单轮、短期、无状态交互(简单搜索/代码等)。
- 但
复杂真实任务需要高级agent能力- 复杂任务:SWE-Bench、WebDev、Web浏览等
- 能力:
多工具调用、code、测试、长期规划等
挑战
Agentic RL训练具有挑战- 训练需要:
高速环境执行、高效rollout 稳定训练Long Horizon的RL算法
- 训练需要:
📕核心方法
Sandbox环境和Rollout优化
环境扩展:远程sandbox server
- 使用
远程sandbox server,环境和训练分开,确保gpu高效利用。 - Kubernets部署Sever:16CPU节点,运行80-100个容器,且没有稳定性问题。
- 开源。
Rollout加速优化
- 背景:agent和环境
多次交互,很耗时。- 如OpenHands+SWE 需要20-50轮,python测试很耗时。
- 方法1:
异步rollout- 每个轨迹独立进行,避免全局同步。
- 方法2:
三阶段Producer-Consumer Pipeline- 三个队列:初始化(准备环境) -> 运行 -> 评估(计算奖励)
- Asyncio:动态创建任务s,异步推送,提高系统吞吐量


RL设计
任务设计(Rollout/AgentLoop)
CodeAct+OpenHands scaffold- 三个Action:
execute_bash+finish+str_replace_editor - AgentLoop循环,直到任务完成。
奖励设计
- Rule:应用Patch,
测试全部通过:1分;其他:0分。
数据集
SWE-Gym 2.4kpython任务,但很难,GPT-4o仅9%。- 仅
选择能成功的部分数据- SkyRL-v0-80-data:7b pass@16,SkyRL-v0-220-data:32b pass@16,SkyRL-v0-293-data:gpt-4o或claude-sonnet
- 担心太难,没有学习信号。
2种常见失败模式
- 陷入死循环:模型连续3轮执行相同动作
- 没有结束动作:
实验结果 (Qwen3-14B)
✍️实验配置
模型
- OpenHands-7B-Agent -> SkyRL-Agent-7B-v
- Qwen3-8B(非推理) ->
SkyRL-Agent-8B-v0 - Qwen3-14B(推理) ->
SkyRL-Agent-14B-v0
训练数据
- SkyRL-v0-80/220/293-data,从SWE-Gym 选的。
框架
OpenHands scaffold+CodeAct Agent。
超参
- 32k,50轮。
🍑关键结果
- 14B 达21.6%
三个尺寸模型:7B、8B、14B,四种实验方法:Zero-Shot, Zero-Shot(推理)、SFT、RL。具体如下表所示:
| Resolved Rate | Technique | |
|---|---|---|
| Qwen3-14B | 18% | Zero-Shot (Thinking) |
| SkyRL-Agent-14B-v0 (Best👍) | 21.6% | Outcome based Reinforcement Learning |
| Qwen3-8B | 3.6% | Zero-Shot (Non thinking) |
| SkyRL-Agent-8B-v0 | 9.4% | Outcome based Reinforcement Learning |
| Qwen2.5-Coder-Instruct | 1.8% | Zero-Shot |
| OpenHands-7B-Agent | 11.0% | Supervised Fine-tuning |
| SkyRL-Agent-7B-v0 | 14.6% | Outcome based Reinforcement Learning |