An AI data analysis agent that answers questions across warehouses, spreadsheets and Parquet files
A sub-agent-driven engine that turns a natural-language question into the right sequence of queries, skills and tool calls across databases, warehouses, spreadsheets and Parquet files, and returns a clean answer rather than a data dump. Built for a team that had data but not enough analysts.
Client anonymised at their request. Industry, scale and every figure are real.
Plain English
In, a sourced answer out
4
Source types behind one question
Sub-agents
One specialist per source
The constraint
The data existed. The people who could query it did not have the hours.
The team's numbers lived in a warehouse, several operational databases, a sprawl of spreadsheets and Parquet exports from other systems. Any question that crossed two of those sources went into an analyst's queue. Most questions did not get asked.
A text-to-SQL tool would have covered the warehouse and nothing else, and would have handed back rows rather than an answer. The brief was an agent that understood the question, knew which sources to combine, did the work, and explained the result.
What we built
A layered engine: intent in, specialist sub-agents out, one clean answer back.
We built a layered, sub-agent-driven engine. The top layer turns a natural-language question into a plan: which sources, which queries, which skills, in what order. Specialist sub-agents handle each source type, one for SQL warehouses and databases, one for spreadsheets, one for Parquet, and a tool layer runs the queries with the user's own permissions.
Results are combined, checked against each other where sources overlap, and returned as a short answer with the figures, the sources and the queries that produced them. The user gets the number and the evidence rather than a raw export to clean up.
- Planner that maps a question to sources, queries and skills
- Specialist sub-agents for SQL, spreadsheets and Parquet
- Queries run under the asking user's permissions
- Cross-source reconciliation where figures overlap
- Answers with sources and the exact queries attached
What changed
Questions that used to wait for an analyst get answered in the conversation.
Finance and operations staff ask in plain English and get an answer with its evidence, across every source the team has. Analysts take the questions that need judgement rather than the ones that need a query. Adding a source is a connector and a sub-agent, not a new tool for the team to learn.
What the team owns
What was running, and in whose hands, when we stepped back.
- The planner, sub-agents and tool layer as a documented codebase
- Connectors for every source, with the permission model written down
- An evaluation set of real questions with expected answers
- A runbook for adding a source or a skill
Anonymised engagement