{"slug": "your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog", "title": "Your AI coding agent doesn't need a smarter model. It needs your backlog.", "summary": "A developer found that the model powering AI coding agents is rarely the bottleneck in their failures—the real issue is that agents lack access to the project's live, structured context. After a year of observing coding agents like Claude Code and Codex, the developer concluded that pasted context goes stale mid-session and flattens critical relationships between artifacts, causing agents to make locally reasonable but globally wrong guesses. The fix, they argue, is to give agents a queryable source of truth via the Model Context Protocol, which lets them fetch current acceptance criteria, tests, and architecture decisions on demand rather than relying on static snapshots.", "body_md": "Here is the uncomfortable thing I have landed on after a year of watching coding agents succeed and fail on real work: the model is almost never the bottleneck. Claude Code and Codex are both more than capable of the feature you are asking for. What breaks the run is that the agent cannot see the truth it is supposed to build against. The story. The acceptance criteria. The architecture decision it is meant to respect. The test that already exists for the thing it is about to rewrite.\n\nSo it guesses. The guess is locally reasonable and globally wrong, and you spend the afternoon unwinding it. The instinct is to reach for a smarter model. The fix is to give the model your backlog.\n\nMost of us feed an agent context by pasting it. You paste the ticket, a few file paths, maybe a paragraph of background, and you let it run. This works for a self-contained task and falls apart the moment the work touches the rest of the system.\n\nThe reason is simple. Pasted context is a snapshot, and snapshots go stale inside the same session. The agent makes a change on step three that invalidates the assumption you pasted on step one, but the pasted text does not update, so by step seven it is reasoning about a version of the project that no longer exists. You are not giving it context. You are giving it a photograph of context and asking it to navigate a moving room.\n\nThe second problem is that the things that actually matter for a real feature are relationships, not paragraphs. Which architecture decision constrains this story. Which test verifies this acceptance criterion. What defect we last saw in this area. None of that lives in a paragraph you can paste. It lives in the links between artifacts, and a paste flattens all of it into prose the agent has to re-infer.\n\nTo be clear, this is not an argument that models do not matter. A better model is genuinely better at reasoning once it has the right inputs. The claim is narrower and more useful: for the failures most teams actually hit on bigger tasks, fixing the inputs beats upgrading the model, and it is cheaper.\n\nIt needs a source of truth it can query on demand, not a wall of text you pasted once.\n\nWhen the agent can query, it pulls the current state at the moment it needs it. It asks \"what are the acceptance criteria for this story\" right before it writes the code, not at the start of a session that has since drifted. It asks \"what tests already cover this module\" before it rewrites the module, so it stops breaking things it did not know existed. It asks \"which decision governs this boundary\" before it crosses the boundary. The context is live because it is fetched, not remembered.\n\nFor that to work, two things have to be true. The truth has to exist in a structured, linked form, and the agent has to have a way to reach it. The first is a product problem. The second is a protocol problem, and the protocol now exists.\n\nThe Model Context Protocol is the reason this is suddenly practical rather than a research project. MCP is the standard way for an agent like Claude Code or Codex to call out to an external system and read or write structured data. Instead of you copying your backlog into a prompt, the agent connects to a server and queries the backlog directly, the same way it would call any other tool.\n\nIt is worth being precise about why this beats the usual \"AI that knows your data\" pitch, which almost always means vector search. Embedding your docs and retrieving the most similar passage is fine for \"summarize this page\" and useless for \"which decision constrains this story,\" because similarity is not the same as relationship. A graph answers the relationship question by traversal: this story, to the decisions in its epic, to the ones touching the same boundary. The retrieval is structural, not statistical, and structure is exactly what a coding agent needs when the task spans more than one file.\n\nTake a normal request: add rate limiting to an API endpoint.\n\nIn the paste workflow, you copy the ticket, mention the endpoint, and let the agent go. It writes a reasonable rate limiter. It does not know you already have a rate-limiting utility in the codebase because that was not in the paste, so now you have two. It does not know the architecture decision that says limits live at the gateway, not the handler, because that ADR is in a separate tool nobody linked. It writes a test, but not one that matches the acceptance criterion about per-tenant limits, because the AC was three tabs away. The code looks fine in review and is wrong in three quiet ways.\n\nIn the queryable workflow, the agent reads the story, sees the per-tenant acceptance criterion, queries the architecture decisions for the area and finds the gateway rule, checks existing tests and finds the utility, and writes against all of it. The pull request that comes back is not just plausible, it is consistent with how your system already works. You review intent, not archaeology.\n\nThe model was identical in both runs. The inputs were not.\n\nLook at your last five agent failures and sort them. If the agent produced code that was wrong about how your system works, that is a context problem, and plumbing fixes it. If it produced code that was technically fine but solved the wrong thing, that is a clarity problem, and better acceptance criteria fix it. If it produced code that was just low quality on a simple task, that is the one case where a better model actually helps. In my experience the first bucket is the largest by a wide margin, and it is the cheapest to fix.\n\nIf your tasks are genuinely small and self-contained, scripts, one-file changes, throwaway prototypes, none of this matters. Paste the context and move on. Wiring up a source of truth for work that fits in one screen is overkill.\n\nIf your context problem is actually a clarity problem, no amount of plumbing fixes it. Half of \"the agent did the wrong thing\" is really \"nobody ever defined what done meant in checkable terms.\" If your acceptance criteria are vague prose, the agent will build vague prose.\n\nAnd if you live entirely inside one tool that your agent already integrates with deeply, you may have enough of this already. The gap shows up when the truth the agent needs is spread across your tracker, your docs, your diagrams, and your test tool, none of which talk to each other.\n\nI used to treat the agent as the thing to improve. Better prompts, better model, better tooling around the prompt. I now treat the agent as fixed and the context as the variable. Given a capable model, the quality of the output is mostly a function of what the agent can see at the moment it acts. Improve what it can see and the same model gets noticeably better, on the same task, on the same day.\n\nThat reframing is freeing, because context is something you control. You cannot make the model smarter this afternoon. You can absolutely give it your backlog this afternoon.\n\nThis is the thesis I ended up building [Stride](https://www.stride.page) around: one connected graph of stories, tests, and architecture decisions, exposed to your coding agents over MCP so they read the real thing instead of a paste. But the idea stands on its own no matter what you use. Give your agent your backlog, not a photograph of it.\n\nWhat are the rest of you doing to keep agents grounded once the task is bigger than a single file? I am collecting approaches and would genuinely like to hear them.", "url": "https://wpnews.pro/news/your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog", "canonical_source": "https://dev.to/kunalsharda/your-ai-coding-agent-doesnt-need-a-smarter-model-it-needs-your-backlog-3fb7", "published_at": "2026-05-30 20:03:26+00:00", "updated_at": "2026-05-30 20:41:49.460002+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "large-language-models", "ai-products", "ai-infrastructure"], "entities": ["Claude Code", "Codex"], "alternates": {"html": "https://wpnews.pro/news/your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog", "markdown": "https://wpnews.pro/news/your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog.md", "text": "https://wpnews.pro/news/your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog.txt", "jsonld": "https://wpnews.pro/news/your-ai-coding-agent-doesn-t-need-a-smarter-model-it-needs-your-backlog.jsonld"}}