Morning Edition LIVE
Vol. I · No. 1
Est.
MMXXVI

The A.I. Beat

Dispatches from the frontier of machine intelligence
Three
Dollars
← Front page Code May 25, 2026 · 5 min read
Code

Your AI Coding Assistant Is Getting Sloppier as It Goes

New research shows LLM agents progressively abandon constraints during backend code generation, a phenomenon researchers call "constraint decay."
Your AI Coding Assistant Is Getting Sloppier as It Goes

If you’ve noticed your AI coding assistant seems to forget your requirements halfway through a task, you’re not imagining things. New research identifies what the authors call “constraint decay”: the tendency of LLM agents to progressively abandon constraints and requirements as they generate backend code.

The paper examines how well LLM agents maintain adherence to specified constraints during multi-step code generation tasks. The findings matter because most real coding work involves juggling multiple requirements at once. You don’t just need code that compiles. You need code that follows your API contract, respects your security policies, handles edge cases, and doesn’t break existing assumptions.

What the researchers found is that these models start strong but drift. Early in a generation task, the agent follows constraints carefully. As the task continues, adherence weakens. By the end, critical requirements are often quietly dropped.

This isn’t about the model being unable to handle the constraints. It’s about the constraints fading from attention as context accumulates. The model gets distracted by its own intermediate outputs. What started as “build an auth endpoint that validates JWT tokens and rate-limits by IP” becomes “build an auth endpoint” becomes “here’s some code.”

Anyone who’s used Claude, ChatGPT, or Copilot for anything non-trivial has hit this. You specify that a function needs to handle null inputs. The first version does. You ask for a refinement. Suddenly the null check is gone. You remind it. It’s back. You ask for another change. Gone again.

The practical implication is that you can’t treat AI coding tools as fire-and-forget. The longer the generation task, the more likely you’ll need to explicitly re-ground the model in your original constraints. Breaking complex tasks into smaller, explicitly validated steps helps. So does being suspicious of later outputs in a long chain.

Tooling updates worth noting

Elsewhere in the development tools world, Simon Willison continues iterating on Datasette’s alpha releases. Datasette 1.0a30 adds an extensible “Jump to” menu that plugins can hook into. Hit / and you get a searchable command palette for navigation and actions.

The corresponding datasette-agent plugin now surfaces “Start a new agent chat” directly in that jump menu. It’s a small detail, but it shows how a well-designed plugin system can make AI features feel native rather than bolted on.

DeepSeek also released Reasonix, positioning it as a native coding agent with aggressive caching to cut costs. The caching claim is interesting if it holds up in practice, given how expensive long coding sessions with AI can get. Whether “native coding agent” means anything substantively different from what Claude Code or Cursor already do is less clear from the announcement.

The thread connecting these: everyone’s building more sophisticated AI coding workflows while simultaneously discovering the edges where these models fail in subtle ways. Constraint decay is just one of those edges. Knowing it exists is the first step to working around it.

coding developer tools