Skip to content

Draw the Adapter Boundary Around Search

Native grounding bundles retrieval policy, provider choice, and cost behind one model call. A search adapter puts those controls, plus per-query telemetry, back on your side of the seam.

Robert Griffin6 min read
Native grounding bundles retrieval policy

Native search grounding looks like the free option until you try to answer three questions about it: which provider ran, what that query cost, and why the answer your parser expected as a single entity arrived as a paragraph. None of those answers live on your side of the model provider's boundary. That is an architecture decision, and it is usually made implicitly.

The Bill You Cannot Itemize

The convenience of a one-call grounding feature is real, and so is what it costs at the seam. When an agent asks a model API to search on its behalf, a stack of production decisions moves inside a boundary the team cannot reach. Retrieval policy, provider choice, evidence injection, cost, latency, and generation behavior all end up bundled behind a single model-provider call. One recent evaluation compared native grounding against a decoupled alternative across several frontier models and public QA benchmarks, and priced what each side of that boundary buys. The controls a production team needs here are not missing from the system; they are simply unreachable from where the team sits.

That distinction matters to anyone who has had to answer a question about last quarter's spend or last week's change in behavior. An unreachable control is one you cannot budget against and cannot explain to a compliance officer who wants to know which external service saw a customer's query. The gap surfaces later, when the bill arrives or when someone asks what evidence fed a decision a customer is now disputing.

The Same Boundary We Already Draw Around Models

We hold that vendor independence has to be enforced by the build, so the model behind an agent stays a swappable choice a team can exercise under pressure. The interesting move is applying that same discipline one layer out, to the commodity external services an agent reaches for every time it runs. A stable tool interface sitting over a provider registry does for search what an adapter does for a model: the reasoning model stays interchangeable, the backend becomes a routing decision, and provider selection, fallback order, retrieval depth, and cache policy become configuration a team owns.

The measured tradeoffs of that boundary sit in three parts: what it costs, where it loses, and what it still depends on.

  • The cost curve behind that independence is measurable. On SimpleQA, the decoupled path reached 86.1 percent mean accuracy against 87.7 percent for native search, while average search-provider cost per 1K queries fell from twenty dollars to one dollar eighty. On an internal query-understanding workload it reached 87.79 percent accuracy against 87.62 percent for native search at fourteen and a half cents per 1K queries, more than 98 percent below the native search cost. Two pieces of scoping keep those numbers readable. Accuracy on the public benchmarks was scored by a GPT-4.1 judge, with a three-judge validation ablation showing 97.78 percent mean unanimous agreement. The cost figures are provider-side search costs per 1K queries, with model inference cost excluded.
  • The frontier is task-dependent, and the honest reading includes where the decoupled path loses. On recency-sensitive questions native search led, consistent with tightly integrated proprietary freshness or indexing advantages. The five-model mean accuracy on that benchmark was 72.6 percent for native search against 68.0 percent for the decoupled path. Gains on multi-hop questions were modest for either approach, so the case for decoupling rests on control and cost. Freshness becomes a routing decision the team owns, with the native path available as one provider inside the same interface when recency dominates and general-purpose providers selected when cost and inspectability matter more.
  • There is also a standing dependency worth stating plainly. A decoupled architecture relies on the stability, latency, and data quality of the third-party search vendors behind it. Pricing exposure sits in the same place, since any of those vendors can reprice under you. The adapter boundary leaves that exposure where it is while making it legible and the switch cheap.

Read together, those three parts set the terms for what the boundary is actually worth.

An unreachable control is one you cannot budget against and cannot explain to a compliance officer who wants to know which external service saw a customer's query.

Governance Falls Out of One Intercept Point

Portability is the visible win and the easiest one to argue for in a design review. The harder payoff, and the one that should change how a regulated team thinks about adapters, is what a single intercept point gives you for free. Because grounding is intercepted at one boundary, every request emits structured telemetry covering the selected provider, retrieval depth, cache outcome, end-to-end latency, and provider-side cost, so cost and latency can be attributed per query and per application and a degrading provider shows up as a detectable regression. Nobody bought an observability product to get that. It arrived because the boundary existed and every request had to cross it.

This is the same shape of decision we make inside our own runtime, and the mechanism is the point. QoherenceAI routes every privileged action through one mandatory audit chokepoint by construction, so the record carries identifiers, classifications, codes, and hashes with no free-text payload to leak, and cost is attributed per agent, per workflow, and per tenant by design. Instrumentation a developer can opt out of is instrumentation that will be missing on the day it is needed, and a chokepoint is the structure that makes the record complete without asking anyone to remember.

The Cost That Shows Up in Output Shape

The same coupling shows up in a place accuracy scores never look. When retrieval and generation collapse into one provider-managed context stream, output behavior changes even when the instruction is explicit and capitalized about returning a single entity. In one evaluated run, 78.1 percent of predictions began with explanatory framing along the lines of "Based on the search results...". Headline accuracy there used task-level scoring while format compliance was reported separately as a diagnostic, which is the right way to read that number. The answer was frequently present, wrapped in prose that an exact-match check or a JSON parser downstream would reject.

For a regulated builder, a downstream schema break is an availability incident with better manners. The agent did not error, and the monitoring that watches for failed calls sees a successful one. What broke is the contract between an intermediate reasoning node and the service that parses its output, and that contract is what a structured tool response preserves: retrieval comes back as a discrete, source-attributed result object, and the generation step keeps the output shape it was instructed to hold.

The Standard

The adapter boundary belongs around every replaceable external service, not only around the model. Search is the clearest current example because the coupling is recent and the contract break is observable in a diagnostic anyone can run, but the same reasoning carries to the embedding model and the vector store behind an agent. Drawing the boundary is what converts portability, cost visibility, and audit telemetry from intentions into structure, and structure is the version of those that survives a vendor change or an auditor's question. That is the standard we build to: mechanisms you can inspect, and receipts you can check.

Orchestration that earns autonomy.

Own the Search Seam Before the Bill Arrives

Remember what worked. Apply it faster. Prove what you did.