Here’s a fair objection I hear from every sharp CTO: *”We have tens of millions of rows across CRM, our warehouse, and a mountain of documents. For an AI to ‘ask me anything,’ it would have to know all of it — and you can’t send millions of rows with every prompt. So isn’t ‘ask anything’ just marketing?”* It’s the right question, and the intuition is half correct: you absolutely cannot stuff your database into a prompt. But “ask anything” isn’t a myth — it just doesn’t work the way the demo makes it look. The model never reads all your data. It reads a tiny, carefully chosen slice, freshly, on *every single question*. Let me show you the architecture.
What I’ll Cover in This Blog
- ✔️ Why you genuinely can’t send your data with the prompt — the context-window math
- ✔️ The real trick — retrieval, not memorization (RAG)
- ✔️ How structured rows and unstructured docs get retrieved differently
- ✔️ When one lookup isn’t enough — agentic retrieval
- ✔️ Where “ask anything” quietly breaks — and how to keep it honest
Now, let’s dive in. 🔥
The Scenario
Meridian Health, a mid-size insurer, wants an internal assistant its agents can “ask anything” — policy details, claim status, a customer’s history, what a clause means. Their data: ~40 million rows in the warehouse, a Salesforce org, and 200,000 PDFs of policies and regulations. The CTO’s objection is exactly the one above: *”You cannot send 40 million rows and 200,000 documents to a model for every question.”*
She’s right — and no serious architecture tries to. Here’s the difference between the myth she’s picturing and how it actually works.
Why You Can’t Just Send It All
Start with the hard limit everyone underestimates: the context window — how much text a model can read at once. In 2026 these are enormous by past standards — the frontier sits around 1 million tokens (Claude, Gemini, GPT-5), and Meta’s Llama 4 Scout advertises 10 million (~15,000 pages).
- 🔹 And it’s still nowhere near enough. 15,000 pages sounds huge until you remember Meridian has 40 million rows and 200,000 documents. A single mid-size table can blow past 10M tokens on its own.
- 🔹 Even if it fit, you wouldn’t want it. You’d pay to process your entire data estate on *every* question, and wait while the model read it. That’s not an assistant; that’s a bonfire of money and latency.
- 🔹 So the window isn’t where your data lives. It’s a small desk, not a warehouse. The real work is deciding *what to put on the desk* for each question.
The Trick: Retrieval, Not Memorization
The pattern that powers almost every “ask anything” system is Retrieval-Augmented Generation (RAG): fetch the few relevant pieces of your data for *this* question, put only those in the prompt alongside the question, and let the model answer from them. The model isn’t recalling your data — it’s *reading a handful of results you just handed it.*
- 🔹 Indexing happens once, up front. Your data is split into chunks, each turned into an *embedding* — a vector (768–8192 numbers) that captures its meaning — and stored in a search index. This is the expensive part, and you do it ahead of time, not per question.
- 🔹 Retrieval happens per question, and it’s tiny. The question is embedded the same way, and the index returns the handful of chunks whose meaning is closest. The best systems also run a keyword search (BM25) in parallel and fuse the two — *hybrid search* — because meaning and exact terms both matter.
- 🔹 Only that slice reaches the model. The prompt becomes “here’s the question, here are the 12 relevant passages — answer using these.” The model grounds its answer in what you handed it, and can cite it. This is exactly how Agentforce grounds its answers in Data 360 — retrieval, not recall.
Structured Rows vs. Unstructured Docs
Meridian’s PDFs and its warehouse tables need *different* retrieval. Conflating them is where a lot of “ask anything” projects quietly go wrong.
- 🔹 Unstructured data → semantic search. “What does this exclusion clause mean?” has no exact row. You embed the question and pull the closest passages from the policy PDFs.
- 🔹 Structured data → generate a query. “What’s the status of claim #48219?” is a precise lookup. The model writes a SQL or SOQL query, the database runs it, and *the database* returns the two or three exact rows — which then go in the prompt. The model does the reasoning; the database does the fetching. This is why a unified, queryable layer like Data 360 over your warehouse matters so much.
- 🔹 Both paths converge on the same prompt. Whether the slice came from a vector search or a SQL query, the model only ever sees the relevant bit — never the whole store.
When One Lookup Isn’t Enough: Agentic Retrieval
Real questions are often multi-hop: *”Which of my overdue high-value claims belong to customers who complained last month?”* No single search answers that. This is where agentic retrieval comes in — the model acts like an analyst: plan, fetch, look at what came back, fetch again, then answer.
- 🔹 The agent chooses tools. Vector search for the complaints, a SQL query for overdue claims, an API call for account value — it decides which to use and in what order.
- 🔹 It iterates and verifies. If the first retrieval is thin, it refines and tries again, rather than answering from nothing. That loop is the difference between a demo and something you’d trust — the same governed, tool-using agent pattern I use in production.
- 🔹 It still never holds everything. Even across many hops, each step pulls a small, relevant set. “Ask anything” scales through *more, smarter lookups* — not through cramming more into memory.
Where “Ask Anything” Quietly Breaks
Now the honest part — because this is exactly where projects fail.
- ✔️ Retrieval is the bottleneck, not the model. In 2026, naive RAG pipelines retrieve the *wrong* context roughly 40% of the time — and the model then writes a confident, fluent answer grounded in the wrong data. Your assistant is only as good as what it fetches.
- ✔️ Garbage retrieval → confident wrong answers. A fluent wrong answer is more dangerous than “I don’t know.” Invest in retrieval quality (hybrid search, reranking, good chunking) before you touch the prompt.
- ✔️ Freshness is a choice. An index is a snapshot. For “what’s the status *right now*,” query the live source; for “what does this policy say,” a periodically-refreshed index is fine.
- ✔️ Permissions must ride along. “Ask anything” can never mean “see anything.” Retrieval has to enforce that each user only gets rows and documents they’re allowed to — the same per-user security I covered in securing hosted MCP servers.
- ✔️ “Anything” is bounded by what you indexed. The system can only answer from data you connected and made retrievable. That’s a scoping decision, not magic.
Conclusion
So — is “ask anything” a myth? No. But the mental model most people carry *is*. Here’s the truth of it:
- ✔️ The model never reads your database — it reads a tiny, relevant slice you retrieve for each question.
- ✔️ Context windows are a desk, not a warehouse — even 10M tokens can’t (and shouldn’t) hold your data estate.
- ✔️ Unstructured data is retrieved by meaning; structured data by query — both hand the model only what’s relevant.
- ✔️ Agentic retrieval scales it through more, smarter lookups — never through bigger memory.
- ✔️ Retrieval quality, freshness, and permissions are where it lives or dies.
“Ask anything” is real engineering, not fairy dust — and once you see it as a retrieval problem, you can actually build one you’d trust.
If you’re trying to build an “ask anything” assistant over your own data — and want the retrieval architecture designed so it’s accurate, fresh, and secure — that’s exactly the work I do. Tell me about your data and let’s map it.
What would you want to “ask anything” of — your CRM, your docs, your warehouse? Tell me in the comments and I’ll sketch how I’d retrieve it.