Model at a Glance
Table with columns: Item, Value| Item | Value |
|---|
| Base model | Qwen/Qwen3-8B |
| Training stage | Stage 1 — general coding-agent SFT (full-parameter) |
| Teacher | GLM-5.3 (Claude Code trajectories, execution-verified) |
| Training trajectories | 1003 candidates (910 train / 93 validation, repo-disjoint) |
| Training framework | slime v0.3.2 (Megatron-LM backend) |
| Training context | 32768 |
| Canonical evaluation | canonical303, REAL40K + Claude Code native compaction, T=0.3 |
| Current Pass@1 | 34.98% (106/303) |
Canonical Agent Evaluation
Internal SWE-smith-derived, repo-disjoint held-out evaluation (303 canonical tasks, 11 held-out repositories, Pass@1, 1 rollout per task). Not SWE-bench Verified and not a leaderboard score.
Table with columns: Model, Training Stage, Solved, Pass@1| Model | Training Stage | Solved | Pass@1 |
|---|
| Qwen3-8B (base) | — | 10/303 | 3.30% |
| Qwen3-8B-CC-SFT-v1 | General Agent SFT | 106/303 | 34.98% |
Evaluation Protocol
Table with columns: Item, Value| Item | Value |
|---|
| Task set | canonical303 (303 tasks) |
| Task source | SWE-smith-derived, repo-disjoint from training repositories |
| Environment | 303/303 valid Docker environments |
| Context | 40960 tokens (CC-visible context = SGLang real context) |
| Context management | Claude Code native automatic context compaction (ON) |
| Sampling | temperature = 0.3, top_p = 0.95 |
| Max agent calls | 32 |
| Metric | Pass@1, 1 rollout per task |
| Harness | Claude Code 2.1.258 compatible harness |
| Serving | SGLang 0.5.15.post1 (inference TP=2; independent of training parallelism) |
This is an internal SWE-smith-derived evaluation. It is not SWE-bench Verified and should not be interpreted as a leaderboard score. SWE-bench Verified results are not reported in this release; the results above use our SWE-smith-derived canonical evaluation.
From v1 to v2
Trajectory-level failure analysis of v1 under native context compaction identified failures in:
- preservation of completed vs pending work
- modification state (which files/symbols were edited)
- test execution and test-result state
- post-compaction continuation from a compressed context
These observations motivated the compact-aware successor Qwen3-8B-CC-SFT-v2, trained on the standalone dataset claude-code-glm53-swesmith-compact-trajectories.
Training Dataset
liangzhidanta/claude-code-glm53-swesmith-trajectories
Execution-verified Claude-Code-native multi-turn trajectories generated with GLM-5.3 as the teacher on SWE-smith software-engineering tasks: 1003 candidates, repo-level train/validation split (910 / 93), zero overlap with the held-out evaluation repositories.
Trajectory format: Claude-Code-native multi-turn trajectories containing system/harness context, user task, assistant reasoning, assistant text, assistant tool calls, and tool results.
Loss mask (slime MultiTurnLossMaskGenerator(qwen3)):
- system / user / tool_result → masked
- assistant reasoning / text / tool_call → trainable
The dataset uses the native Qwen3 chat template.
Training Curves
Masked SFT loss and grad-norm over 227 optimizer steps (1 epoch):
Training Setup
Table with columns: Item, Value| Item | Value |
|---|
| Base model | Qwen/Qwen3-8B (instruct, non-Base) |
| Fine-tuning type | Full-parameter SFT (all 8.19B parameters updated; no LoRA / PEFT / quantization) |
| Framework | slime v0.3.2 @ 3778dbf (unmodified) |
| Epochs | 1 |
| Optimizer | Adam |
| Learning rate | 1e-5, cosine decay to 1e-6 |
| Warmup | 0.1 |
| Weight decay | 0.1 |
| Betas | 0.9 / 0.95 |
| Context | 32768 |
| Hardware | 8× RTX 4090 24GB |
| Parallelism | TP=8, DP=1, PP=1, CP=1, sequence parallel |
| Steps | 227 optimizer steps, ~22.5M sequence tokens |
| Train loss | 2.02 → 0.52 |
| Validation masked loss | 1.612 → 0.556 |
Losses are reported as training information only, not as capability metrics.
Usage
from transformers import AutoTokenizer, AutoModelForCausalLM model_id = "<this-repo>"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained(model_id, dtype="bfloat16", device_map="auto")
This checkpoint uses the original Qwen3 tokenizer and chat template.
For coding-agent evaluation, the model was served through SGLang with a Qwen3 reasoning parser and tool-call parser, and used behind a Claude-Code-compatible harness. Other serving stacks and harnesses may be used as well.
Intended Use
Recommended:
- coding-agent research
- software-engineering agents
- tool-use research
- multi-turn agent SFT / RL initialization
- SWE-style task experimentation
This checkpoint is particularly intended as a warm-start model for subsequent verifiable coding-agent RL experiments.
Limitations
- Training data comes from SWE-smith-style tasks.
- Teacher behavior is biased toward GLM-5.3.
- Harness behavior is biased toward Claude Code 2.1.258.
- Only one SFT epoch was used.
- The internal 303-task benchmark is not SWE-bench Verified; SWE-bench Verified results are not reported in this release.
- Earlier fixed-32K evaluations exposed substantial context pressure in v1. This observation motivated the later REAL40K native-compaction protocol and the compact-aware v2 training stage (see Historical Evaluation).
- Performance may depend on harness/tool configuration.
- Tool-use performance should not be interpreted as standalone raw-model benchmark performance.
Model Lineage
Qwen/Qwen3-8B ↓execution-verified GLM-5.3 trajectories ↓1003 candidates → 910 train / 93 validation (repo-disjoint) ↓1 epoch native slime SFT (qwen3 loss mask) ↓Qwen3-8B-CC-SFT-v1 ↓ trajectory-level failure analysis under native compactionQwen3-8B-CC-SFT-v2 (compact-aware successor)
Historical Evaluation — Fixed 32K Context without Native Compaction
These results were produced with an earlier fixed-32K harness before Claude Code native automatic context compaction was integrated into the evaluation protocol. They are retained for historical reproducibility and should not be directly compared with the current REAL40K native-compaction results (34.98% above). In particular, the 43.23% figure below is an ablation-best result under the old harness semantics (32K hard context, no compaction); it does not supersede — and is not comparable to — the current canonical evaluation.
Temperature ablation (TEMP_ABLATION_V1, same 303 tasks, top_p=0.95, 1 rollout/task)
Table with columns: Metric (Pass@1), T=0.0, T=0.3, T=0.7, T=1.0| Metric (Pass@1) | T=0.0 | T=0.3 | T=0.7 | T=1.0 |
|---|
| Solved / 303 | 119 | 131 | 107 | 85 |
| Pass@1 | 39.27% | 43.23% | 35.31% | 28.05% |
| 95% bootstrap CI | [33.9, 44.9] | [37.6, 48.8] | [30.0, 40.9] | [23.1, 33.3] |
| Easy / Medium / Harder | 67.7/41.7/24.8 | 74.2/45.2/26.8 | 64.5/36.5/22.3 | 58.1/27.8/22.3 |
Selection note: T=0.3 was identified as the best temperature on this same evaluation set via the ablation above (paired McNemar vs T=1.0: p=6e-06, +15.18pp, CI [+7.6, +22.8]). Since the temperature was selected post-hoc on this set, 43.23% should be read as the ablation-best figure rather than an untouched held-out estimate; the protocol-frozen default (T=1.0) result is 28.05%. The current canonical protocol fixes T=0.3 with native compaction enabled.
SFT vs base (protocol-frozen comparison, both at T=1.0)
Table with columns: Metric, Qwen3-8B Pre-SFT, Qwen3-8B-CC-SFT-v1| Metric | Qwen3-8B Pre-SFT | Qwen3-8B-CC-SFT-v1 |
|---|
| Pass@1 (T=1.0) | 2.97% (9/303) | 28.05% (85/303) |
| Easy | 12.9% | 58.1% |
| Medium | 3.5% | 27.8% |
| Harder | 0.6% | 22.3% |
Absolute Pass@1 improvement at matched temperature: +25.08 percentage points (relative ~9.4×, secondary).
Behavior (T=0.0 / 0.3 / 0.7 / 1.0)
Table with columns: Behavior, T=0.0, T=0.3, T=0.7, T=1.0| Behavior | T=0.0 | T=0.3 | T=0.7 | T=1.0 |
|---|
| Patch rate | 76.2% | 75.9% | 75.3% | 62.4% |
| No-patch rate | 20.1% | 22.8% | 23.8% | 37.3% |
| Context overflow (tasks) | 141 | 141 | 175 | 201 |
| Mean model calls | 16.0 | 14.8 | 15.0 | 14.3 |
| Mean elapsed time | 245s | 202s | 201s | 354s |
| Malformed tool calls | 0 | 0 | 0 | 0 |
The context-overflow counts in this table are a property of the fixed-32K no-compaction harness; under the current REAL40K native-compaction protocol the context is managed by Claude Code automatic compaction instead.