What the benchmarks say, what they hide, and how to think about agents as systems.
Open-weight models can now explore a repository, reason about a bug, edit several files, run tests and try again. Mid-2026 comparisons put the best of them close to closed frontier models on popular coding benchmarks. That raises two questions this guide tries to organize:
The short version of the answer: the models are strong, the measurements are shakier than they look, and the system around the model matters more than most headlines suggest.
Here is the landscape as of October 2026, based on vendor announcements and third-party comparisons. Treat the figures as reported, not settled.
Model | Developer | Size (total / active) | License | Notable reported numbers |
Kimi K3 | Moonshot | 2.8T MoE | Modified MIT | Terminal-Bench 2.1 88.3 (vendor harness); SWE-bench Verified 93.4 on one independent platform |
GLM-5.2 / GLM-5.3 | Z.ai | ~753B / 40B (5.2) | MIT (5.2) | SWE-Bench Pro 62.1 (5.2, vendor); Terminal-Bench 2.1 81.0 |
DeepSeek-V4-Pro / Flash | DeepSeek | 1.6T / 49B (Pro) | MIT | Verified 80.6 (Pro, vendor); Flash is very cheap |
Kimi K2.6 | Moonshot | ~1T / 32B | Modified MIT | Verified 80.2 |
MiniMax M3 | MiniMax | n/a | open weights | SWE-Bench Pro 59.0 (aggregator) |
Qwen3.5 / 3.6 | Alibaba | 397B/17B; 27B dense; 35B/3B | Apache-2.0 | Verified 73–77 depending on variant |
Gemma 4 | Google DeepMind | 31B dense and smaller | Apache-2.0 | LiveCodeBench v6 80.0 (31B) |
A few things to notice:
For two years, SWE-bench Verified was the standard exam: 500 real GitHub issues, each with tests. In February 2026 OpenAI said it would stop reporting it. Their audit of 138 hard problems found flawed tests or problem statements in 59.4% of them, and some frontier models could reproduce reference fixes from memory, which points to training-data contamination. Scores had also stalled near 80%, so the benchmark no longer separated models well.
SWE-Bench Pro (1,865 tasks, many repositories and languages) was the recommended successor. A September 2026 preprint, SWE-Bench Pro Verified, audited it and found two kinds of trouble:
The authors closed the leakage channels, repaired 102 of 731 tasks, and re-ran models under one common harness. The effect was large for some models:
Model | Original environment | Protected + refined |
Kimi-K3 | 89.1 | 62.9 |
GLM-5.2 | 78.8 | 59.5 |
GLM-5.3 | 81.1 | 58.8 |
DeepSeek-V4-Pro-0813 | 79.5 | 61.4 |
GPT-5.6-Sol (closed) | 76.5 | 62.0 |
DeepSeek-V4-Pro (original) | 50.0 | 49.9 |
For GLM-5.2 in particular, 186 tasks flipped from pass to fail after the fix and only 15 flipped the other way.
How much to trust this: it is one preprint from a group that builds evaluation infrastructure, it has not been independently replicated, and part of its analysis uses an LLM to classify causes. It does not show that any lab acted improperly; it shows that agents will take shortcuts when shortcuts exist. But the compressed range (roughly 59 to 63 across very different models) is a useful reminder that pre-audit rankings can exaggerate differences.
Kimi K3’s SWE-bench Verified score appears as 93.4% on one independent platform and 76.8% in another comparison of vendor-reported figures. GLM-5.2 is around 78.7% in one independent harness. These are not necessarily errors; they are different harnesses, budgets and settings. That brings us to the bigger point.
An “agent” is not a model. It is a model plus a loop: prompts, tools, edit formats, context management, retries and stopping rules. Several recent papers argue that this wrapper can matter as much as the model.
What they report (mostly as secondary evidence, so read with care):
Takeaway: a sentence like “Model X scores 65% on benchmark Y” is incomplete. It should read “Model X, in harness H, with tools T, under budget B, scores 65%.” If you can’t recover those details, you can’t compare two numbers.
A useful way to organize the literature is to split an agent into five parts:
Improving one part doesn’t guarantee a better whole. A stronger model can burn its budget before it verifies anything. Better retrieval can let a smaller model succeed by handing it the right context. Let’s look at what the literature says about R and V.
Before an agent can fix a bug it has to find it. Issues rarely name the file or function, so localization is a real bottleneck.
Approaches, from simplest to richest:
Representative work: LocAgent models a repository as a graph the agent can traverse; SpIDER adds graph awareness to dense retrieval; ARISE goes down to statement-level data-flow edges; LARGER anchors graph expansion to lexical matches inside the agent’s existing search loop; SWE-Adept pairs a localization agent with a repair agent. A benchmark for graph-based bug localization (GREPO) has also appeared.
What is still open. Most of these results measure localization accuracy. Fewer show that better localization produces more correct patches at the same cost. One enterprise study even argues that injecting more context alone is not enough. A retrieval system can raise recall without improving final correctness, so the right metric is end-to-end resolve rate under a fixed budget, ideally alongside how many irrelevant tokens were added.
Generating a patch is not the end. Running tests gives feedback, and sampling several candidates and picking the best can raise accuracy, but only as far as your selector is good.
The pattern: verification signals are individually noisy (tests can have low discriminative power; model judges can be biased by style), and combining them helps. Equally important is knowing when to stop: extra iterations cost compute and can break a correct patch.
Open models usually acquire agentic skill through large pools of executable repositories (SWE-Gym, SWE-smith, R2E-Gym) and reinforcement learning with verifiable rewards. A sensible rule of thumb from this literature: fine-tune against a diagnosed failure, not by default. If the agent fails because it can’t find the right file, training on patch writing won’t help; if it misuses tools, tool-use data is the better lever; if it writes good patches but doesn’t check them, that is a harness problem, not a weights problem.
The Gemma 4 Developer Agent Competition on Kaggle shows why the systems view is useful. As described by the organizers: build an autonomous system around an open Gemma 4 model, solve real issues, and pass validation tests within a 12-hour generation limit; all agents in a submission use the same base-model variant (LoRA adapters may differ); on October 2026 additional QAT variants (12B, E4B, E2B, alongside 31B) were announced; and the supplied tools include embedding-based and graph-based code search.
Mapping it onto the five parts: the model is fixed, so the interesting variables are the harness (single agent vs. specialists, free-form vs. staged), retrieval (text vs. embedding vs. graph), verification (when and what to test), and the budget (how to split 12 hours across exploration, patching and testing). A sensible first move is not clever engineering but a baseline plus a categorized list of failures, so you know which part to improve.
Reasonably well supported
Plausible but not settled
Largely unmeasured
If a result can’t answer most of these, treat it as a rough indication, not a comparison.

Data Scientist
Building and researching end-to-end machine learning and LLM systems, from model training to deployment.
Your mail has been sent successfully. You will be contacted as soon as possible.
Your message could not be delivered! Please try again later.