Have you ever asked a straightforward question like “How many enterprise customers do we have?” only to receive multiple conflicting answers? I’ve experienced this firsthand. Sales presented one figure, finance quoted another, and the founder’s dashboard showed a third—none wrong, just different systems, each with its own definition. For months, we made critical decisions based on these inconsistent numbers.
A recent discussion in a business intelligence forum highlighted a similar issue. An analyst compared two team dashboards, both showing a “Revenue” column with mismatched figures. Upon investigation, they found two analysts had written separate calculations for revenue—one gross, one net. Neither was incorrect, but they had never agreed on a single definition.
A more concerning trend emerged in a recent Reddit thread. A CEO, frustrated by persistent discrepancies, replaced their BI tool and instructed the team to “just ask Claude” for numbers instead. The result? The VP of Sales pulled figures that didn’t align with finance, and the AI confidently hallucinated retention metrics because the underlying data hadn’t been cleaned since 2022.
The top comment, receiving 216 upvotes, summed it up best: “AI only works if the data is clean and metrics are defined. Otherwise, it just delivers confident nonsense—faster.”
Different problems, same root cause: definitions drift, and AI on top amplifies the drift.
How many enterprise customers do we have?
To test this, I created a workspace database filled with the kind of data chaos common in real companies. It included two tables: stripe_customers for billing data and hubspot_companies for CRM view. Both claimed to describe the same set of customers, yet their definitions of “enterprise” differed.
I asked the agent the same simple question and received six distinct answers, each explained in plain English with no judgment—just clarity.
- Stripe enterprise plan: 9
- Stripe active + paying enterprise: 8
- HubSpot lifecycle=customer + enterprise tier: 9
- Match across both tables: 8
- Stripe-only: 1 (a $0 enterprise trial where Stripe classifies them as enterprise, but HubSpot hasn’t tagged them as a customer yet)
- HubSpot-only: 1 (a deal signed last Friday where HubSpot lists them as a customer, but Stripe billing hasn’t started)
Both totals said nine, but they counted different nines. The agent didn’t force a single answer—it surfaced all the numbers and explained the discrepancies without bias.
What you don’t see in a chat box
Most AI tools that deliver “ask me for the numbers” convenience operate in one of two ways—and neither is transparent.
The first type embeds your entire dataset into the prompt. A customer table with 10,000 rows? You’re paying to read every row with every question. LLMs are prediction engines, not calculators, so summing a thousand numbers invites creative error.
The second type wraps a chat interface around your database. The AI doesn’t query directly—it sends a request to a translator that guesses SQL, returns a number, and gives you no visibility into the computation. When the number is wrong, you’re left guessing why.
The agent I built takes a different approach. It uses real SQL tools. It reads the schema, writes the query itself, runs it against the live database, and logs the exact query in an audit trail.
Below is the actual SQL the agent generated and executed. It’s a multi-step query joining two tables by matching company names and email domains. The agent wrote five sub-queries, ran them, and when the first attempt failed (highlighted in red), it self-corrected and tried again.
-- First attempt (failed)
SELECT COUNT(*)
FROM stripe_customers sc
JOIN hubspot_companies hc
ON sc.email = hc.email
WHERE sc.plan = 'enterprise';
-- Self-corrected final query
SELECT
COUNT(DISTINCT sc.customer_id) AS stripe_enterprise,
COUNT(DISTINCT hc.id) AS hubspot_enterprise
FROM stripe_customers sc
LEFT JOIN hubspot_companies hc
ON sc.email = hc.email
WHERE sc.plan = 'enterprise'
OR hc.lifecycle_stage = 'customer' AND hc.segment = 'enterprise';The numbers are real because the SQL is real. Query cost stays bounded—you pay for the question and a small response, not for dumping the entire table each time. The audit log is the proof. Compliance teams, finance, and anyone on the team can review the run history and see every SELECT … FROM … the agent executed. When sales and finance disagree next quarter, resolving the discrepancy takes ninety seconds—not hours of meetings.
Build your own agent
I used ContextGate’s Workspace Assistant to create this agent in minutes. Here’s the exact prompt I provided to the AI:
Build me an agent that answers “how many enterprise customers do we have?” — it must query the workspace database directly so the numbers are real. Whenstripe_customersandhubspot_companiesdisagree (they do), surface all the numbers and explain why in plain English. Use read-only access.
When the assistant asked to set up the database tools, I approved it. Within minutes, the agent was live—capable of delivering accurate, traceable answers without ambiguity.
The lesson is simple: AI can accelerate decision-making, but it can’t fix messy data or unclear definitions. Tools that prioritize transparency, real queries, and audit trails are the ones that earn trust—and save time.
AI summary
Farklı ekiplerin farklı rakamlarla yanıt verdiği bir senaryonun ardındaki veri uyuşmazlığına AI’yı nasıl doğru şekilde entegre edebilirsiniz? Veri temizliği ve net tanımların önemini keşfedin.