惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Engineering at Meta
Engineering at Meta
腾讯CDC
宝玉的分享
宝玉的分享
H
Help Net Security
I
InfoQ
博客园 - Franky
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
博客园_首页
美团技术团队
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
The Cloudflare Blog
博客园 - 司徒正美
Vercel News
Vercel News
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
月光博客
月光博客

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Stop Upgrading the Model. Start Engineering the Harness.
Ian Johnson · 2026-05-29 · via DEV Community

Ian Johnson

When a team hits a ceiling with their coding agent, the first instinct is to reach for a better model. The reasoning feels obvious: the model is the part that produces the code, the code is the part that is wrong, therefore a smarter model will produce more correct code. Wait for the next release. Switch providers. Bump the tier.

This is sometimes right. It is much more often wrong, and the cost of being wrong about it is that you spend months waiting for a model upgrade to solve a problem the model was never the cause of.

The harness is the cause of the problem more often than the model. Most teams discover this only after they have exhausted the model-upgrade reflex and finally turn to look at everything else.

What a model upgrade actually buys you

Newer, stronger models do tangibly improve some things. They handle longer contexts more reliably. They make fewer simple reasoning errors on complex tasks. They follow nuanced instructions more closely. On a fixed prompt, with a fixed task, a better model produces a better answer.

What model upgrades do not change:

The fact that the agent has no idea your team prefers functional components over class components, because the convention is not in any file the agent reads.

The fact that your tests do not actually fail when the code is wrong, so the agent can ship broken code that passes CI.

The fact that your codebase has three different ways of handling errors and the agent picks one at random on each PR.

The fact that the rule the senior engineer keeps repeating in reviews is not encoded anywhere the next session can see.

None of these are fixed by a smarter model. They are fixed by a better harness. A smarter model loaded into the same broken harness will produce slightly more sophisticated versions of the same problems.

The diagnostic

The diagnostic is one question: when the agent fails, does it fail because it lacked information, or because it lacked capability?

A capability failure looks like: the task required reasoning the model could not do. The math was wrong. The algorithm was subtly broken in a way that required deep understanding. The bug fix required tracing through five layers of indirection and holding it all in mind at once.

An information failure looks like: the agent did something a senior engineer on the team would have done differently, and the difference is not about thinking harder, it is about knowing the team's conventions, the codebase's quirks, the unwritten rules, the things the team learned the hard way three years ago.

Information failures are the overwhelming majority of agent failures in production teams. They look like capability failures because they manifest as wrong code. But the wrong code is wrong because of missing context, not missing intelligence.

A capability failure does not improve when you give the agent more context. An information failure improves dramatically. The test is to put the missing context into the prompt (directly, by hand) and see if the agent gets it right. If yes, the harness is the bottleneck. If no, the model might genuinely be limiting.

In practice, when teams run this test honestly, the answer is usually "the agent could have gotten this right; the context just was not there." That is a harness problem with the model's name on it.

Where to spend the time instead

If you have a backlog of "the agent keeps doing X wrong" complaints, model upgrades are not where to spend the next hour. The high-leverage moves are mostly boring:

Read your rules file and ask whether each entry actually changes the agent's behavior. Delete the ones that do not. Add the rules you have been repeating in code review.

Run the agent on a task you know it has historically struggled with, and watch what it loads into context. If it is not reading the file that would tell it the answer, the file is not in its priors. Fix the priors.

Look at the last ten PRs that produced reviewer comments. For each one, ask: was this a missing rule, a missing test, or a genuinely hard problem? Most of them will be one of the first two.

Pick the single most-repeated reviewer complaint from the last month and either turn it into a rule, a lint, or a test. One of those three is almost always achievable in an afternoon.

None of these are glamorous. None of them require waiting for a new model release. All of them compound.

When a model upgrade actually helps

There is a legitimate case for model upgrades, and it is worth naming so the argument is not taken too far.

If your team has done the harness work (the rules are tight, the sensors are sharp, the conventions are encoded) and the remaining failures are genuinely about reasoning depth, then yes, a stronger model is the next move. Long agentic tasks, complex refactors, problems that require holding more context coherently in mind, multi-step debugging — these are where capability differences between models show up.

But the prerequisite is having done the harness work first. A team that has not won't be able to tell whether a model upgrade helped or not, because the noise from harness problems will dominate any signal from the model change. A team that has will see model upgrades produce specific, measurable gains on specific categories of task.

The order matters. Harness first. Model second.

The cost of the reflex

The reason this is worth being firm about: the model-upgrade reflex is expensive even when it does not work. Each upgrade attempt costs onboarding time, prompt tuning, billing changes, and team confidence when the upgrade fails to deliver the hoped-for improvement. Teams that go through the cycle two or three times start to believe the technology itself is not ready, when what is not ready is their own harness.

Meanwhile, every hour spent waiting for a better model is an hour not spent encoding the team's hard-won knowledge into a file the current model could already read. The opportunity cost of the reflex is the harness investment you did not make.

The model is the part of the system everyone talks about. The harness is the part of the system that determines whether the model can do useful work in your codebase. Most teams underestimate the second one by a factor of ten. Stop upgrading. Start engineering.