Beyond grep: a plea for a context-rich AI harness

Dev & Code 2 h agoAdd to bookmarks

Beyond grep: a plea for a context-rich AI harness

The thesis: the quality of an AI code assistant lies less in its model than in its "harness" - the layer that decides which parts of the codebase to put in front of its eyes. Decrypting a post that puts context engineering at the center.

The starting point

A concrete case that every senior dev has experienced: you open your IDE, you ask the assistant "refactor this function to use the new internal API" - and it produces plausible code, syntactically clean, but ignores three project conventions, two internal dependencies, and a helper that already exists thirty lines further down. The model isn't "stupid", it just didn't see what it needed to see.

This is exactly the thesis defended by Vinay Perneti (Augment Code) in an interview with Ars Technica titled "Beyond grep: The case for a context-rich AI coding harness": the harness - the set of mechanisms that choose, order, and inject context into the prompt - today weighs more than the choice of the underlying model.

What a "poor" harness does

It's essentially sophisticated grep:

  • a naive embedding search on the repo files,
  • a context window opened around the cursor,
  • possibly the current file in its entirety.

It works for local tasks (renaming a variable, correcting a signature). It collapses as soon as it needs to understand why a test fails three modules further down.

What a "rich" harness does

Three cumulative building blocks, in line with what Perneti advocates at Augment Code:

  1. Code dependency graph - import, call, inherit: the harness follows the edges to bring back the truly useful definitions, not the textually close files.
  2. Execution history - test traces, logs, output of the last pytest or cargo test. The model sees what broke, not just the code that breaks.
  3. Session memory - the decisions made in previous exchanges ("we chose lib X, not Y"), to avoid the assistant questioning them again each turn.

Recent open-source projects illustrate each of these building blocks - the tree-sitter ecosystem for structural analysis, tools around ripgrep combined with semantic indexes, and agent frameworks that maintain a persistent "scratchpad".

Why it's the crux of the matter

Two economic reasons:

  • The price of the token is decreasing, the context window is increasing: we can afford to send more. But we can't send everything - a monorepo of 500,000 lines remains out of reach. So we need to select.
  • The model reasons better on what we show it at the right time than on what we dump on it in bulk. The harness that prioritizes correctly beats the model that sorts poorly in its own window.

In other words: the difference between an assistant we tolerate and an assistant we rely on is no longer in the weight of the model. It's in the software engineering of its perception environment.

Key takeaways

  • The "harness" (context engineering) has become the real differentiator of code assistants - a thesis publicly defended by Vinay Perneti at Augment Code.
  • A rich harness combines code graph, execution history, and session memory - not just textual search.
  • Choosing a tool today is as much about evaluating its harness as the model it embeds.
Resources, try it

Article produced by artificial intelligence, reviewed under human editorial control.

Our newsroom
Was this article helpful?

23 people liked this article

Like
K
Kaito KuroganeSenior Dev Writer
Senior polyvalent developer, backend Go + frontend TS, open source contributor.
Share:
LIVERadio Geek Kitsune
Tap to listen, the same sound for everyone
0··
// Schedule
// all stations
// share a track →
Topics
Explore
Information