Best Model for DevOps: Blast Radius Changes the Calculus
Models

Best Model for DevOps: Blast Radius Changes the Calculus

Infrastructure code fails differently: rarely, and expensively. Why terminal benchmarks are the relevant signal and what to gate before applying.

Most code generation has a symmetric risk profile. A bad function wastes a few minutes. Infrastructure code does not work that way: the failure rate is lower and the cost of a single failure is much higher, because the thing being edited is the environment everything else depends on.

That asymmetry should drive the model decision. Paying more per token to reduce the probability of a bad change is straightforwardly worth it when the downside is a deleted database rather than a red test.

Terminal benchmarks are the signal that fits

Most coding benchmarks measure producing a patch for a repository. Operations work is different in shape: run a command, read the output, decide what to do next, run another. It is a long chain of observation and action against a real system.

Terminal-Bench 2.1 measures exactly that, which makes it more relevant here than SWE-bench. Kimi K3 reports 88.3 and GLM-5.2 reports 81.0. Those are the two figures worth weighting for operations work.

The reason this matters is compounding. A ten-step diagnostic sequence with per-step reliability of 95 percent completes about 60 percent of the time. At 99 percent it completes about 90 percent. The gap between models on long chains is much wider than their single-response quality suggests. Kimi K3 versus GLM-5.2 compares the two directly.

Configuration recency is the recurring failure

Cloud providers deprecate resource arguments, rename fields and change defaults on a schedule that no training corpus keeps up with. Kubernetes moves API versions between releases. Provider major versions introduce breaking changes in ways that a model trained six months ago simply cannot know.

The result is generated configuration that was correct at some point and no longer is. It looks entirely plausible, and the error surfaces at plan or apply time rather than at review time.

Some of this is unavoidable and the answer is to lean on the tooling. A provider version constraint in the prompt, plus a validation step before anything else happens, catches most of it. But do not skip the human check on anything touching a resource that cannot be recreated.

YAML and HCL punish small mistakes

Configuration languages have a specific hazard: they are permissive about structure and strict about meaning. An indentation error in YAML produces a valid document with the wrong nesting. A key at the wrong level is silently ignored by many tools rather than rejected.

Generated Kubernetes manifests show this constantly. A resource limit nested one level too deep is dropped without complaint, and the workload runs unbounded until it evicts something. A probe attached to the wrong container is not an error, it just does nothing.

Schema validation catches most of this and costs nothing. Run manifests through a validator that knows the API schema, and run HCL through validate and a formatter, before a human ever reads them. Anything the machine can reject should never reach a review queue.

Make the plan the gate

The best property of modern infrastructure tooling is that it will tell you what it intends to do before it does it. That is a verifier, and it is the centre of any sane workflow for generated infrastructure.

The discipline is: the model may generate and it may plan, but it may not apply. A human reads the plan. Not the code — the plan, because the plan is the ground truth about what will change and the code is only a claim about it.

In the plan, the lines that matter are destructions and replacements. A change that recreates a resource is the difference between a config tweak and an outage, and it is visible in the plan output even when it is invisible in the diff. Human-in-the-loop design covers placing approval gates where they earn their friction.

Least privilege applies to the agent too

If a model can run commands against your infrastructure, its credentials are the actual security boundary. Prompt instructions are not a boundary.

Give an operations agent read-only credentials by default and a separate, narrowly scoped role for the specific change being made. Run it in an environment where destructive commands are absent or blocked rather than merely discouraged. Log every command with its output.

Secrets deserve particular care because they flow the wrong way. A model asked to debug a failing deployment will read environment variables and configuration, and that content goes into the transcript and to the provider. Redact before it reaches the model rather than hoping it will not repeat what it saw. Agent sandboxing covers the isolation patterns, and prompt injection risks covers why command output should never be treated as trusted instruction.

Where models genuinely help

It is worth being clear that this is a strong use case despite the caution, because the caution is about apply, not about everything.

Log and metric triage is excellent work for a model: high volume, pattern-shaped, and read-only. Explaining an unfamiliar error, correlating a spike with a deploy, or summarising an incident timeline are all low-risk and high-value. Using an LLM for log analysis covers that in depth.

So is writing the first draft of a pipeline, a Dockerfile or a Helm chart, where the output goes through review and validation like any other code. And so is explaining what an existing piece of infrastructure code does, which is often the actual bottleneck in an unfamiliar estate.

Recommendation

For anything that runs commands or produces changes to be applied, use Kimi K3 or GLM-5.2. The Terminal-Bench figures reflect the multi-step reliability that operations work depends on, and the cost difference is trivial against the cost of one bad apply.

For read-only analysis at volume — log triage, metric summarisation, alert deduplication — a cheap model is fine and the volume makes the price difference real. DeepSeek V4 Flash is appropriate there.

Regardless of model: read-only credentials by default, schema validation before review, plan reviewed by a human before apply, and every command logged. The model is not the control. The permissions and the gates are. Running models in CI pipelines covers wiring those gates into an existing pipeline without slowing it down.

Common questions

Which benchmark best predicts DevOps performance?

Terminal-Bench 2.1, because it measures running commands, reading output and deciding the next step — the actual shape of operations work. Kimi K3 reports 88.3 and GLM-5.2 reports 81.0. SWE-bench measures patch production, which is a different task.

Should an AI agent be allowed to apply infrastructure changes?

Not unattended. Let it generate and plan, then have a human read the plan rather than the code — the plan is the ground truth about what will change, and destructions and replacements are the lines that matter.

Why does generated infrastructure code use outdated syntax?

Providers deprecate arguments and change defaults faster than training data updates. Pin provider versions in the prompt, run validation before review, and keep a human check on anything touching resources that cannot be recreated.

Similar articles

A/B Testing Two Models Without Fooling Yourself
Models
Models·9 min read

A/B Testing Two Models Without Fooling Yourself

Comparing two models on live traffic sounds simple and usually is not. Sample sizes, paired designs, and the metrics that actually settle the question.

Read
The Artificial Analysis Index Explained: What It Does Measure
Models
Models·9 min read

The Artificial Analysis Index Explained: What It Does Measure

A single number that ranks every model is convenient and easy to misread. What the AA Intelligence Index aggregates, and where it stops being useful.

Read
Best Model for Agentic Workflows: Reliability Compounds
Models
Models·9 min read

Best Model for Agentic Workflows: Reliability Compounds

An agent that is 95 percent reliable per step fails most thirty-step tasks. Why compounding error, not peak capability, decides which model to run in a loop.

Read