Team Ai
Modelpublic

code-critic-model/Qwen3-4B-Critic-SFT-Qwen-only

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes127downloads
Model Card

Qwen3-4B-Critic-SFT-Qwen-only

A 4B critic from Steer, Don't Solve: Training Small Critic Models for Large Code Agents, trained on critiques of Qwen3-Next-80B-A3B trajectories only. It is one arm of the training-corpus ablation (Table 3). The 4B critic trained on the mixed CWM plus Qwen3-Next corpus is Qwen3-4B-Critic-SFT.

The critic reads a coding agent's trajectory every k steps and returns a structured critique: detected error categories, evidence, a recovery action, task status, and one line of overall guidance. It does not write the patch.

All released models and datasets are listed on the organization page. Code and configs are in the critic-training repository.

Where it appears in the paper

Paper locationRow label
Table 3, corpus ablation4B, Qwen-only

Original run name: qwen3-4b-instruct-2507-full-sft-prm-r2egym-swebench-instructions-k5-qwen-only-opus-distill-32k-multiturn.

Training data

code-critic-model/critic-sft-qwen-only, 1,915 examples.

  • —Tasks: 483 R2E-Gym instances from matplotlib, moto, and sympy, disjoint from SWE-bench Verified.
  • —Agent that produced the trajectories: Qwen3-Next-80B-A3B-Instruct, 483 trajectories.
  • —Teacher: Claude Opus 4.6, queried every 5 agent steps with the high-level prompt.

Training setup

Identical to Qwen3-4B-Critic-SFT apart from the data. Full-parameter SFT with LLaMA-Factory, config finetuning/qwen3_4b_critic_full_sft_l40s_train_multiturn_resumable.yaml.

SettingValue
Base modelQwen/Qwen3-4B-Instruct-2507
Chat templateqwen3_nothink
Sequence length32,768 tokens
Lossfinal critique turn only (mask_history: true)
Hardware8 x L40S, effective batch 8
OptimizerAdamW, lr 5e-6, cosine, warmup ratio 0.1
Epochs3
Precisionbf16

Results

Resolve rate on SWE-bench Verified, from Table 3 of the paper.

Coding agentNo critic+ this critic+ Qwen3-4B-Critic-SFT (CWM + Qwen data)
Qwen3-Next-80B-A3B20.024.624.2
Qwen3-32B8.810.811.4

How to use

Same serving and launch procedure as Qwen3-4B-Critic-SFT: serve with vLLM in bf16 and pass the served name to scripts/run_critic_max150.sh with --prm. The served name must have an entry in mini-swe-agent/configs/litellm_model_registry.json; add one for this model if you use a new name.

Citation

bibtex
@misc{gandhi2026steerdontsolvetraining,
  title={Steer, Don't Solve: Training Small Critic Models for Large Code Agents},
  author={Shubham Gandhi and Yiqing Xie and Atharva Naik and Ruichen Zhu and Carolyn Rose},
  year={2026},
  eprint={2606.21811},
  archivePrefix={arXiv},
  primaryClass={cs.SE},
  url={https://arxiv.org/abs/2606.21811}
}