Case Study · Applied AI

Large-Scale
Data Discovery Agent

A two-step LLM pipeline that turned slow, incomplete manual research across 20,000+ records into a measurable, autonomous workflow — surfacing 410 entries the team had missed.

Role
AI Engineer, end to end
Type
Applied AI project
Timeline
2026
Outcome
61% discovery rate, 410 net-new entries
The Problem

Discovery was manual, and no one knew how much was being missed.

The client held a dataset of more than 20,000 records and needed to keep finding and validating net-new entries that belonged in it. Analysts did this by hand: searching, cross-checking sources, and deciding case by case whether an entry was already covered.

Two things were wrong with that. It did not scale, so coverage depended on how much analyst time was available in a given week. And it was unmeasurable — there was no way to say what percentage of the real population had actually been found, or to show a stakeholder the size of the gap.

The Approach

Ground the model in what is already known, then search in parallel for what is not.

The pipeline runs in two stages. The first establishes a reliable picture of the existing dataset so the model never re-surfaces something already covered. The second fans out to find and validate new candidates at a speed no analyst team could match.

1

Retrieval and grounding

A RAG layer indexes the existing 20,000+ records. Every candidate the pipeline considers is checked against this index first, so known entries are filtered out before any expensive processing happens. This is what keeps the output clean instead of a pile of duplicates.

2

Parallel enrichment and validation

Unmatched candidates are enriched and verified through concurrent LLM calls — pulling supporting detail, checking it against source signals, and scoring confidence. Running these in parallel is what turns a multi-week manual pass into a single automated run.

3

Structured, quantified output

Validated net-new entries are written back in a structured format with a confidence score and a source trail, plus a summary a stakeholder can read: how many were found, how confident the system is, and what share of the estimated total the dataset now covers.

20,000+ EXISTING RECORDS RAG GROUNDING is this already known? ENRICH · VALIDATE ENRICH · VALIDATE ENRICH · VALIDATE parallel 410 NET-NEW scored + sourced + coverage report
Two stages: ground against the known set, then validate the unknown in parallel
The Result

Coverage went from a guess to a number.

61%
Discovery rate against the estimated total
410
Net-new entries found and validated
20k+
Records grounded and de-duplicated against

The 410 entries were ones the manual process had not caught. Just as important, the client could finally state coverage as a figure and defend it, which changed the conversation from are we missing things to we cover 61% and here is the plan for the rest.

Python RAG LLM Orchestration Parallel Processing Confidence Scoring Structured Output
Why It Matters

The same pattern moves to any "find what we're missing" problem.

Ground a model against what an organisation already knows, then let it search in parallel for what it does not, and score everything it returns. That shape applies well beyond one dataset:

Market and competitor mapping — find companies, products, or deals absent from an internal view.
Compliance and risk screening — surface entities or relationships not yet on file.
Research and intelligence — keep a knowledge base current without a standing team doing manual sweeps.

In each case the win is the same one the client got here: the work scales past headcount, and the gap becomes measurable enough to plan around.

Want the full walkthrough?

Get in touch Back to tayem.ca