Agentic AI
OpenAI Built Kepler, an AI Agent to Decode its Massive Data Platform
Data analyst Bonnie Xu shares how OpenAI deployed AI agents to navigate 70,000 datasets and answer complex business questions at scale.
InfoQ
Answering a simple business question at OpenAI used to involve a chain reaction: a business lead asks a data scientist, who doesn't know which table to consult, who asks another engineer, leading to multiple meetings and Slack threads. Getting an answer for something like "How many ChatGPT Pro users do we have in Italy?" was unnecessarily complex.
The underlying problem: scale. OpenAI's data platform processes over 600 petabytes of data daily across 70,000 datasets, with 80% of the company relying on 15 different tools. As the product evolved—adding regions, plans, and features—the questions became harder: "How many daily active instant checkout users do we have in New York?" Finding the right table, understanding nuances (encrypted vs. unencrypted IDs, fraud adjustments, pre-filtering), and writing correct SQL became a bottleneck.
How Kepler Works#
OpenAI built Kepler, an AI data analyst that combines language models with deep data context. Rather than copying raw SQL patterns, Kepler reasons through problems—running queries iteratively, adjusting thresholds based on results, and exploring dimensions (by region, plan type, etc.) to debug anomalies. In one example, Kepler traced a spike in weekly active users to ImageGen's launch by cross-referencing internal dashboards, code, release notes, and even TechCrunch articles.
The agent operates across multiple interfaces: Slack, IDEs (via MCP), and a web UI. Users can interrupt mid-reasoning, ask follow-ups without repeating context, or rerun predefined workflows like feature analysis or data validation.
The Secret: Data Context#
The magic behind Kepler's accuracy is preprocessing. Because fitting all 70,000 table schemas into a model's context window is infeasible, OpenAI generates rich metadata offline. Instead of relying on outdated manual descriptions, they auto-generate context by crawling the codebase—using what they call "Codex tasks" to understand table purpose, primary keys, freshness, and downstream usage patterns. This reveals that one table contains "first-party ChatGPT traffic enriched by safety signals," not just "ChatGPT analytics."
This context, combined with query history and lineage information, is embedded and retrieved semantically when Kepler answers questions. Without it, agents can drift wildly—confusing 5 million users with 800 million, or mixing up video game characters with AI video generation products.
Kepler's ability to self-correct through tool use—running queries, seeing results, and iterating—turns manual data investigation into an automated reasoning loop, saving teams countless hours navigating OpenAI's sprawling data landscape.

