GLM-5.3 vs GLM-5.2: What Post-Training Alone Changed in Coding
GLM-5.3 reuses GLM-5.2's base model but jumps ahead in coding and cyber benchmarks purely through post-training changes.

What actually changed between GLM-5.2 and GLM-5.3?
Nothing changed in the base model. GLM-5.3 from Z.ai runs on the exact same pretrained foundation as GLM-5.2. Every capability gain, including a claimed 50% improvement on Z.ai’s in-house Code Bench and open-source state-of-the-art results on Terminal-Bench 3.0, comes entirely from post-training: reinforcement learning, fine-tuning, and agent-harness tuning applied after pretraining was already finished. That makes GLM-5.3 a useful case study in how much performance is left on the table after pretraining ends.
TL;DR
- Same base, different training: GLM-5.3 and GLM-5.2 share an identical pretrained model, meaning all reported gains trace back to post-training work rather than more parameters or more pretraining data.
- Coding jumped the most: Z.ai reports a 50% improvement over GLM-5.2 on its internal Code Bench, alongside open-source-leading scores on Terminal-Bench 3.0 (28.3 vs 4.6 for GLM-5.2) and Agents’ Last Exam.
- Cyber capability showed up unprompted: Z.ai describes cyber skill as an “emergent” side effect of scaling post-training, with GLM-5.3 hitting state-of-the-art results on CyberGym among the compared models.
- Exploitation gains outpace vulnerability discovery: on ExploitBench, GLM-5.3 scores 54.4 versus GLM-5.2’s 24.4, more than double, showing the biggest jumps sit further along the attack chain rather than at initial bug-finding.
- It’s not uniformly best: models like GPT-5.6 Sol, Fable 5, and Opus 4.8 still lead GLM-5.3 on several benchmarks (DeepSWE, NL2Repo, Toolathlon Verified), so the “open-weights leader” claim is benchmark-specific, not universal.
- Deployment is broad from day one: GLM-5.3 ships with support across SGLang, vLLM, TokenSpeed, Transformers, KTransformers, Unsloth, and Ascend NPU frameworks, so infrastructure choice isn’t a blocker for adoption.
- Reasoning effort is tunable: a
reasoning_effortparameter lets users pick betweenlow,high, andmax, withmaxas the default and the setting used for all benchmark reproduction.
How much did coding performance actually improve?
The headline number is a 50% improvement on Z.ai’s internal Code Bench, which is not a public benchmark, so treat it as directionally informative rather than independently verifiable. The public benchmarks tell a more granular story. On Terminal-Bench 3.0, GLM-5.3 scores 28.3 against GLM-5.2’s 4.6, a roughly sixfold jump that also beats Kimi K3 (17.4) and Opus 4.8 (21.1), though it trails Fable 5 (33.7) and GPT-5.6 Sol (34.6). On the older Terminal-Bench 2.1, the gap is much smaller (88.2 vs 81.0), suggesting most of the post-training effort targeted harder, more agentic coding tasks rather than easier terminal tasks that were already close to saturated.
DeepSWE tells a similar story: GLM-5.3 moves from 46.2 to 66.9, a large jump, but Kimi K3 (67.5) and GPT-5.6 Sol (72.7) still edge ahead. On FrontierSWE, GLM-5.3 improves from 67.5 to 78.1, beating Opus 4.8 (66.5) but landing well behind Fable 5 (88.2). The pattern across these coding benchmarks is consistent: GLM-5.3 closes most of the gap with frontier proprietary models and sometimes leads among open-weight competitors, but it doesn’t universally top the field.
Why did cyber capability emerge from post-training?
Z.ai’s own framing calls this “emergent”: as post-training scaled up, cyber-relevant skills such as vulnerability discovery and exploitation grew faster than the team anticipated, without cyber-specific data necessarily being the primary training focus. This matters because it suggests overlap between the skills that make a model good at general coding agentic tasks (reading code, forming hypotheses, iterating with tools, running long multi-step chains) and the skills needed to find and exploit vulnerabilities.
The benchmark data backs this up. On CyberGym, which measures vulnerability discovery, GLM-5.3 scores 84.5, the highest reported figure among the compared models, up from 77.2 for GLM-5.2. But the more dramatic shift is on tasks further down the exploitation chain. ExploitBench moves from 24.4 to 54.4, more than doubling. ExploitGym, measured at 2-hour and 6-hour timeout budgets, goes from 29/39 to 105/130, again more than doubling GLM-5.2’s scores. Z.ai explicitly notes that the gains are “largest further up the exploitation chain,” meaning the model got disproportionately better at turning a known vulnerability into a working exploit compared to just finding the vulnerability in the first place.
This has an obvious dual-use dimension. A model that’s dramatically better at writing exploits is useful for defensive security research and red-teaming, but the same capability lowers the bar for offensive misuse. Anyone evaluating GLM-5.3 for security work should read the exploitation numbers as a capability signal, not just a benchmark curiosity.
Is GLM-5.3 actually the best open-weights coding model?
On several agentic and long-horizon benchmarks, yes, among the models in the comparison table. GLM-5.3 leads on Terminal-Bench 3.0, CyberGym, AutomationBench (48.2), and GDPval-AA v2 (1769). It’s competitive on Agents’ Last Exam (28.5, close to GPT-5.6 Sol’s 28.6) and HLE with tools (62.5, behind Fable 5 and GPT-5.6 Sol but ahead of GLM-5.2, Kimi K3, DeepSeek-V4 Pro, and Qwen3.8-Max).
Plans first. Then code.
Remy writes the spec, manages the build, and ships the app.
But “best open-weights model for coding,” as Z.ai’s own framing puts it, needs context: several of the comparison models in the table (GPT-5.6 Sol, Opus 4.8, Fable 5) are proprietary, and GLM-5.3 doesn’t beat them consistently. It loses to GPT-5.6 Sol on Terminal-Bench 3.0, DeepSWE, HLE with tools, and ALE-CLI. It loses to Opus 4.8 on SWE-Marathon (42.5 vs 48.8) and NL2Repo (58.0 vs 69.7). Fable 5 leads on ProgramBench, FrontierSWE, and ExploitBench by wide margins. The claim to open-source leadership is defensible on specific benchmarks like Terminal-Bench 3.0 and CyberGym, but it isn’t a sweep.
What does this mean for how models get built going forward?
The GLM-5.2 to GLM-5.3 jump is a data point in a broader trend: post-training is increasingly where labs find headroom once a base model’s pretraining is locked in. Instead of retraining from scratch to chase a new capability, teams are running additional reinforcement learning passes, refining reward signals for agentic and tool-use tasks, and tuning harness behavior (note that most of GLM-5.3’s benchmarks were run specifically inside the Claude Code 2.1.207 harness). That’s a cheaper, faster iteration loop than full pretraining, and it explains why an update carrying a new version number can deliver a 50% jump on an internal coding benchmark and more than double a security exploitation score without touching the underlying weights that came from pretraining.
For teams building on GLM-5.3, the practical implication is that deployment infrastructure carries over cleanly from GLM-5.2 since the base architecture is unchanged, while application-level behavior, especially around long-horizon agentic tasks and tool use, has shifted meaningfully and should be re-tested rather than assumed compatible.
Frequently Asked Questions
Does GLM-5.3 have more parameters than GLM-5.2?
No. Z.ai states GLM-5.3 uses the same base model as GLM-5.2, meaning parameter count and pretraining are unchanged. All performance differences come from post-training.
What is the biggest capability gap between GLM-5.2 and GLM-5.3?
The largest reported gaps are in agentic coding and cyber exploitation. Terminal-Bench 3.0 rose from 4.6 to 28.3, and ExploitBench more than doubled from 24.4 to 54.4.
Is GLM-5.3 better than GPT-5.6 Sol or Opus 4.8?
Not consistently. GLM-5.3 leads on some benchmarks like Terminal-Bench 3.0 and CyberGym among the compared models, but GPT-5.6 Sol and Opus 4.8 lead on others, including DeepSWE, NL2Repo, and SWE-Marathon.
How do I control reasoning depth in GLM-5.3?
A reasoning_effort parameter accepts low, high, or max, defaulting to max. Benchmark results reported by Z.ai all use the max setting.
What frameworks support running GLM-5.3 locally?
Z.ai lists support for SGLang, vLLM, TokenSpeed, Transformers, KTransformers, Unsloth, and Ascend NPU-based frameworks including vLLM-Ascend and xLLM.
