Grounding AI agents in authentic data

DRAFT. First pass, 2026-07-06.

Why this matters

A language model’s training data has a cutoff date and no guarantee of accuracy for any specific civic fact — a bill number, a contract amount, a service-request status. Left ungrounded, an agent will confidently produce a plausible-sounding but unverifiable answer. Grounding means every factual claim about government data traces back to a live, authoritative, citable source — a specific dataset, a specific record — rather than the model’s memory.

For civic and public-interest work specifically, this isn’t a nice-to-have: bad information about government process, spending, or legislation erodes exactly the trust this kind of tooling is supposed to build.

What grounding looks like in practice

  1. The agent has a tool, not just a prompt. An MCP connection to an authoritative source (a government API, a Socrata catalog) means the agent can look something up instead of recalling it.
  2. Every claim is traceable to a source. A grounded answer names the dataset, the record ID, or the API endpoint it came from — so a human can independently verify it.
  3. The agent knows what it doesn’t have access to. An agent that says “I don’t have a tool for that” is more trustworthy than one that guesses. See when-to-use-which-portal.md for mapping a question to the right (or no) tool.
  4. Configuring access isn’t the same as authorization to use it. Wiring an MCP into a config file makes a capability possible — actually querying a live government API in production should still go through whatever review or sign-off process an organization already uses for external data use.

Prompt patterns for agent builders

Verification checks worth building

See training-resources.md for BetaNYC and partner classes that teach these concepts to a general audience, not just developers.