Skip to content
All posts
groundingagents

Why AI assistants guess, and how to give yours approved answers instead

Published 7 min read

Ask a capable model a question about your business and it will almost always answer. That is the problem. When it can’t reach the answers your company approved, it doesn’t stop. It fills the gap from training data and inference, and the result sounds exactly as confident as a correct answer would. Grounding is how you give it something better to reach for.

A hallucination isn’t a bug in the model so much as a missing input. The model was asked for something specific it was never given: your revenue-recognition rule, the real definition of an active user, which table is the source of truth for orders. So it produced the most plausible-sounding version instead. Plausible and correct are not the same thing, and the gap between them is where support tickets, bad dashboards, and worse decisions come from.

Curated Data closes that gap by giving agents a place to retrieve approved knowledge at the moment they answer. It won’t make an agent perfect, nothing does, but it changes the default from guess to look it up, and it makes every answer traceable to something a person on your team signed off on. Here’s the mechanism, control by control.

1. Only approved pages are ever retrievable

Every unit of knowledge in Curated Data is a concept doc: a short structured header plus plain-language prose explaining one thing your company knows. Anyone can draft or edit one, but a draft is not an answer yet. It stays a draft until a reviewer approves it, and only approved content is served to agents. Drafts and in-review changes are never returned by the API or the MCP tools.

That single rule is doing a lot of work. It means the surface an agent can pull from is, by construction, the set of things your team has deliberately vetted: not a scraped wiki, not a stale export, not whatever someone typed last Tuesday. The room for the agent to guess shrinks to the edges of what you’ve approved.

2. Every answer traces back to a source

A concept doc isn’t an anonymous blob of text. Its header records what type of thing it is, tags, and, importantly, the source system it describes. When an agent retrieves a concept, it gets that provenance with it, and the approval itself is recorded in the audit log: who signed off, and when.

So an answer stops being “the model said so.” It becomes “this came from tables/orders.md, which describes the production orders table, and was last approved by the data team.” That is the difference between a claim you have to trust and a claim you can check.

What retrieval actually returns

Here’s a concept fetched over the REST API. Note that it carries its frontmatter, its version, and its resolved links, not just a paragraph of prose:

bash: fetch one approved concept
$ curl https://curateddata.megacorp.company/api/curated-data/v1/concepts/metrics/active-user \
    -H "Authorization: Bearer ckd_live_••••••••"

# 200 OK
{
  "path": "metrics/active-user.md",
  "title": "Active user",
  "type": "metric",
  "classification": "internal",
  "version": 14,
  "body": "A user with at least one session in the trailing 28 days…",
  "outboundLinks": ["events/session.md"],
  "inboundLinks": [{ "path": "dashboards/growth.md", "title": "Growth dashboard" }]
}

3. Related answers are connected, not guessed

The hardest hallucinations to catch are the ones where the agent gets one answer right and then invents the one next to it. Concept docs defend against that by linking to each other explicitly. Write [[events/session]] inside a doc and it becomes a real edge in a knowledge graph, resolved and returned alongside the concept, as you can see in the outboundLinks and inboundLinks above.

Because the relationships are declared rather than inferred, an agent following “what is an active user?” to “what counts as a session?” travels a path your team drew, not one the model imagined. Gaps between answers are filled by connections you approved, not by the model’s best guess at how two things relate.

4. Per-document history makes changes traceable

Approved knowledge changes over time. That’s healthy. But an agent that answers differently because someone quietly edited a definition is its own kind of untrustworthy. Curated Data stores every document change as a numbered revision with its author, reviewer, and review time. Approval promotes only that revision, immediately, while drafts remain invisible.

This is what lets you answer the question every audit eventually asks: “what did the system actually know about this concept?” The document's revision and approval trail make that a lookup, not an archaeology project.

5. Classification scopes what each agent can see

Not every page should reach every agent. Concepts carry a classification, and the tokens your agents authenticate with carry a set of allowed classifications. A token scoped to external knowledge simply cannot retrieve internal concepts. The filtering happens at the same chokepoint that enforces approval and workspace isolation, so a customer-facing support agent and an internal ops assistant can safely draw from the same curated base while seeing different slices of it.

Grounding is a chain, not a trick

None of these controls is a silver bullet on its own, and we’re careful not to promise one. Grounding doesn’t eliminate hallucination; it removes the reasons an agent had to guess in the first place, one at a time:

  • The agent can only pull knowledge a human approved.
  • Each page names its source and carries an auditable approval.
  • Related answers are connected explicitly, so gaps aren’t improvised.
  • Each document carries a numbered, auditable revision history.
  • Classification scoping limits each agent to the knowledge it should see.

The result isn’t an agent that’s magically always right. It’s an agent that answers from the knowledge your team approved instead of its own. And when it does get something wrong, you can trace exactly which page it read and fix that page for every agent at once. That’s a system you can actually put in production.

Next step

Stop shipping guesses to customers

Start free, write down the policies your team repeats most, and connect your bot.

Start free

Keep reading

Put the approved answer behind your AI

Create a workspace, write and approve your first page, and connect an assistant over MCP or REST. Free to start, no credit card.

Not ready yet? Get future playbooks.

Occasional product updates only. No newsletter, no spam.

Curated Data

Opening Curated Data

Loading application code and preparing your workspace…