AI agents aren’t flawed with confidence because of bad context — they’re flawed with bad data engineering

You spend weeks fine-tuning an AI chatbot. The answers are correct. Participants sign, and you send it. Three months later, the system is confidently wrong about a third of what users are asking for. No one changed the model, and no one touched the instructions. The world moved, prices changed, policy was updated, the product specification posted a new version, and the basic information store didn’t go with it.
This is not a theory. It’s one of the most common productivity failures in enterprise AI right now, and many data engineering teams don’t have the right tools to catch it, regardless of how the AI system retrieves the data.
Failure that doesn’t look like failure
An AI application doesn’t care if it returns a vector store, a document reference, or an API call. Either way, there’s nothing in a normal return pipeline that checks if what it’s giving you is still valid. The old price document is reliably found as the current one, because the system finds compatibility or availability, not correctness. A record with no silent field passes cleanly as a whole, for the same reason.
So failure is invisible by design. Outdated or incomplete data still earns a high score in relevancy, even if it always succeeds when the data pipeline is designed to work. The model responds with full confidence because the context returned looks authoritative. Every dashboard you view remains green. The system seems to be working. It’s just not right.
I watched a similar version of this happen outside of the AI context, in the fintech pipeline. The upstream system changed the field without notifying the downstream users. The pipe did not fail; it just propagated bad values to the dashboards because the system only checked if the job completed, not if the data was still valid. The problem only arises when the customer sees something inconsistent. By then, the bad data had already dropped.
Whether it’s an outdated document or a field that has been quietly lost, the nature of the failure is the same: the absence of an error is not the presence of correctness, and without building the appropriate verification layers, there is nothing in the pipeline that can point to the problem.
Why is this a data engineering problem
The teams that hit this failure often diagnose it, and often do it twice.
To blame the model: The first instinct is to blame the model, try a different LLM, adjust the information. The real problem lies at the very top, in the data engineering layer, the same feeling behind the fintech failure above: monitoring built for the pipeline, not the data.
To blame the recovery layer: Once the model is removed, the next instinct is to suspect a recovery or core layer instead and buy a better one. The timing is no coincidence: as businesses push these systems into the real world of production, this gap is exactly what’s starting to show, and vendor response has been all over the place.
-
AWS recently entered the "context layer" race through an information graph that learns from agent usage.
-
Snowflake’s new Horizon Context and Cortex Sense target the exact sign this piece opens with: agents give honest wrong answers because nothing governs business thinking under them.
Both are real answers to a real problem, but they sit one layer above it; the information graph still depends on any feed.
The real problem lies much higher, in the data engineering layer. Teams check whether the task is complete, not whether the transferred data is still valid, an instinct that predates AI by years. Monitoring is built for the pipeline, not the data.
What’s really missing: Data visualization
Data visibility is a well-known concept that doesn’t get enough attention on how it’s actually used. The right metric isn’t a percentage — it includes: what portion of the relevant data sets has a list that can be queried, versus just sitting in someone’s head.
Uber built a dedicated data quality and visibility platform long before advanced recovery generation existed. Their Integrated Data Quality platform supports over 2,000 critical data sets and detects nearly 90% of data quality incidents before they reach downstream consumers.
Netflix solved a different part of the same problem, creating a company-wide data inventory system so that anyone can answer where the dataset came from and what affected it along the way. It maps dependencies to all Kafka topics, ML models, and tests, not just warehouse tables. Similar to Uber, the platform is built for people and is now becoming more important with the rise of AI/LLM applications.
Between them, Uber and Netflix cover two of the four things to be built. Actually, I think of it as four dimensions, each measurable in its own terms.
Fairness: Does each record conform to the conditions and rules it should perform, right field types, no unexpected nulls, values in the range. Tools like Big Expectation and Soda handle this well: automatic row and column-level validation instead of manual checks after a particular break. Track the percentage of records that pass verification for each run.
Burning: Is the data still current relative to its source, not just as current as its last evaluation. The tracking time since the last successful update per source, with an SLA per dataset has one limit, as some sources require hourly updates and others do not.
Compatibility: Does the same truth read the same way everywhere it is stored or referenced. This failure is silent, only visible when two systems fed by the same source start to disagree. Checking the intervals between the downstream destinations, to flag the level of discrepancy above the limit, is enough to catch you early.
Ancestry: Can you trace any output back to its source and all the conversions it went through, the same question Netflix built its program to answer.
None of this requires infrastructure that most data teams don’t already have. I know because I have built it, I don’t just argue about it.
At Socure, client data comes in whatever form the client feels like sending it, and occasionally, it’s quietly wrong. The challenge was to build a system where bad data could be identified before it spread. The same principles apply: Validate what’s arrived, understand where it’s coming from, and prevent bad information from becoming someone else’s problem.
Great Expectations became part of that foundation: schema and scope validation in the feed, SLAs for each source of innovation, cross-system testing for compatibility, and file-level inventory. Everything was sitting behind the publish-research-write pattern, where the data arrived at the stage, was verified, and was taken down only if it passed the necessary tests.
The result showed downstream: better accuracy across the board, in reporting, in ML models, and in AI returns built on that same data.
What to do on Monday morning
When implementing retrieval-based AI systems in production, the diagnostic question is not which model to try next or which retrieval architecture to migrate to. Four small questions:
-
Is the underlying data validated against the standards required by its consumers?
-
What is the oldest piece of content that is now offered with the greatest confidence?
-
Can two parts of the same resource ever disagree on the same retrieval result?
-
Can you trace where it came from if it appears to be incorrect?
If you can’t answer those questions, the gap is in the pipeline between your source programs and whatever your agent is learning from. That’s a data engineering fix, not a model change or vendor migration.
Whether you’re building reporting pipelines, ML systems, or AI agents, correctness, freshness, consistency, and pedigree are what make data trustworthy. AI simply exposes the weaknesses that have existed in data engineering all along.



