Skip to content

Commit 8620f1d

Browse files
andre15silvaclaude
andcommitted
feat(swebench-pro): initial support for ScaleAI/SWE-bench_Pro
Adds an agent execution pipeline for SWE-bench Pro mirroring the existing Verified pipeline. Key differences from Verified: Docker images come from jefzda/sweap-images (tag from the dataset's dockerhub_tag field), evaluation runs per-instance run_script.sh/parser.py scripts from the SWE-bench_Pro-os submodule rather than the swebench library, and grading checks fail_to_pass ∪ pass_to_pass against output.json. New files: - src/tasks/swe_bench_pro.py — dataset adapter (ScaleAI/SWE-bench_Pro) - src/agents/swe_bench_pro_environment.py — Modal environment with Pro eval - run_swebench_pro_agent.py — agent runner - slurm/swebench_pro_run.sh — SLURM launcher - configs/tasks/swe_bench_pro.yaml - configs/runs/qwen36_27b_swebench_pro_{test,full}.yaml - tests/test_swebench_pro_evaluate_modal.py - SWE-bench_Pro-os submodule (scaleapi/SWE-bench_Pro-os) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent dedc0ed commit 8620f1d

11 files changed

Lines changed: 782 additions & 0 deletions

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "SWE-bench_Pro-os"]
2+
path = SWE-bench_Pro-os
3+
url = https://github.com/scaleapi/SWE-bench_Pro-os

SWE-bench_Pro-os

Submodule SWE-bench_Pro-os added at ca10a60
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Full run: Qwen3.6-27B on all 731 SWE-bench Pro instances, 8xA100 80GB
2+
#
3+
# Submit as 4-shard array job:
4+
# sbatch --array=0-3 -t 02:00:00 slurm/swebench_pro_run.sh \
5+
# --run-config configs/runs/qwen36_27b_swebench_pro_full.yaml
6+
7+
# --- Model / vLLM ---
8+
model_id: Qwen/Qwen3.6-27B
9+
served_model_name: qwen36-27b
10+
tensor_parallel_size: 8
11+
max_model_len: 262144
12+
dtype: bfloat16
13+
gpu_memory_utilization: 0.9
14+
vllm_port: 18000
15+
vllm_startup_timeout_s: 900
16+
vllm_log_path: logs/vllm_qwen36_27b_swebench_pro_full.log
17+
vllm_extra_args:
18+
- "--reasoning-parser"
19+
- "qwen3"
20+
- "--enable-auto-tool-choice"
21+
- "--tool-call-parser"
22+
- "qwen3_coder"
23+
24+
# --- Generation ---
25+
temperature: 1.0
26+
top_p: 0.95
27+
28+
# --- Agent ---
29+
step_limit: 100
30+
command_timeout: 180
31+
32+
# --- Execution ---
33+
n_runs: 1
34+
n_instances: -1 # all instances in this shard
35+
n_workers: 8
36+
modal_app_name: program-probes-swebench-pro
37+
modal_timeout: 3600
38+
output_dir: generations/swebench_pro/qwen36_27b_full
39+
40+
# --- SWE-bench Pro ---
41+
swe_bench_pro_scripts_dir: SWE-bench_Pro-os
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Test run: Qwen3.6-27B on 16 SWE-bench Pro instances, 8xA100 80GB
2+
#
3+
# Submit with:
4+
# sbatch slurm/swebench_pro_run.sh --run-config configs/runs/qwen36_27b_swebench_pro_test.yaml
5+
6+
# --- Model / vLLM ---
7+
model_id: Qwen/Qwen3.6-27B
8+
served_model_name: qwen36-27b
9+
tensor_parallel_size: 8
10+
max_model_len: 262144
11+
dtype: bfloat16
12+
gpu_memory_utilization: 0.9
13+
vllm_port: 18000
14+
vllm_startup_timeout_s: 900
15+
vllm_log_path: logs/vllm_qwen36_27b_swebench_pro.log
16+
vllm_extra_args:
17+
- "--reasoning-parser"
18+
- "qwen3"
19+
- "--enable-auto-tool-choice"
20+
- "--tool-call-parser"
21+
- "qwen3_coder"
22+
23+
# --- Generation ---
24+
temperature: 1.0
25+
top_p: 0.95
26+
# max_new_tokens: not set — no per-call cap, lets thinking models use the full remaining context
27+
28+
# --- Agent ---
29+
step_limit: 100
30+
command_timeout: 180 # seconds per bash command in Modal sandbox
31+
32+
# --- Execution ---
33+
n_runs: 1 # one attempt per instance
34+
n_instances: 16 # stop after 16 unique instances
35+
n_workers: 16 # 16 parallel agent threads; vLLM batches their requests
36+
modal_app_name: program-probes-swebench-pro
37+
modal_timeout: 1800 # seconds for the full sandbox lifecycle
38+
output_dir: generations/swebench_pro/qwen36_27b_test
39+
40+
# --- SWE-bench Pro ---
41+
swe_bench_pro_scripts_dir: SWE-bench_Pro-os # local clone of github.com/scaleapi/SWE-bench_Pro-os

configs/tasks/swe_bench_pro.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dataset: ScaleAI/SWE-bench_Pro
2+
adapter: swe_bench_pro
3+
execution_timeout: 300

0 commit comments

Comments
 (0)