Summary
I designed the Data Analyst Agent, now generally available as one of GitLab Duo’s foundational agents. It turns plain-language questions into visible GLQL queries and visualizes the results in Duo Chat. It lowers the floor for non-technical users without lowering the ceiling for engineers, and makes AI uncertainty legible instead of hidden.
Role: Design lead, from problem framing through strategy and solution direction
Partners: Data Science · AI Engineering · Platform Insights · Knowledge group

Challenge
GitLab holds a vast amount of system and engineering data, but reaching it meant static dashboards, API calls, or GLQL, a query language most people don’t know. Every question passed through a translation layer, usually a person. Engineers were the bottleneck.
“When the cost of asking is high, people ask fewer questions and make decisions on weaker evidence.”
My role
I designed a way for anyone at GitLab to get a trustworthy answer from system data without knowing the query language, so decisions stop being gated on who can write GLQL.
Approach
1. Map who’s blocked, and how badly
Research across data engineers, business analysts, product managers, and support teams. Different skill levels, same structure: a question, then a translation tax, then a delay, then a decision made with whatever evidence was cheap enough to get.
2. Lower the floor without lowering the ceiling
Plain language for everyone. Full power and precision preserved for people who already think in queries. And the gap between a natural-language question and a structured query made visible and learnable, not hidden.
3. Design for the unhappy path
In a non-deterministic system, the craft problem isn’t the happy path. It’s what happens when the system is unsure or wrong. I explored conversational entry, guided query building, and a hybrid that translates natural language into visible GLQL, and set the principles for surfacing confidence, handling ambiguity, and letting users correct the system instead of starting over.
“A confident wrong answer is worse than a slow right one. The design has to make uncertainty legible.”
4. Ground it in feasibility
With Data Science and AI Engineering: which questions translate cleanly, where ambiguity needs a human in the loop, and how to expose confidence so users calibrate their trust correctly.
Solution
The Data Analyst Agent, a specialized AI agent that helps users query, visualize, and surface data across GitLab.
- Ask in plain language “Show merge-request cycle time for teams that adopted AI review”
- See the translated GLQL Visible and inspectable, never a black box; copy and reuse the query anywhere GLQL runs
- Get results visualized in place Charts and answers rendered directly in Duo Chat
- Verify, then trust The query is exposed so users can confirm the logic before they lean on the answer
- Know when to look twice Ambiguous questions are surfaced rather than silently guessed
Outcomes
- Shipped to GA The Data Analyst Agent launched in Beta in GitLab 18.8 and reached general availability in 18.11 as one of Duo’s foundational agents
- The core design decision survived to production Natural-language questions become visible GLQL queries that users can inspect, copy, and reuse. The query stayed inspectable rather than becoming a black box
- A measurable quality bar The team ships against a greater-than-80% natural-language-to-GLQL accuracy target, an engineering commitment to the trust principles the design established
- One shared model for uncertainty Design, Data Science, and AI Engineering aligned on how ambiguity is handled and when the system defers to the user
- A foundational pattern Built as a foundational agent with AI Catalog integration, the approach now underpins how GitLab’s Duo Agent Platform surfaces data
Where this is headed
Planned iterations extend the agent into a fuller data-discovery surface: a data explorer, custom dashboards, exporting results into work items, and richer handling of ambiguous questions and result explanations.
Key learnings
“People need to see what the system did and be able to correct it. The most effective approach isn’t hiding technical complexity, it’s revealing it progressively.”