It support · Production

Genie: Uber's Gen AI On-Call Copilot answers 70,000+ questions and saves 13,000 engineering hours

The problem

Uber's internal Slack support channels received around 45,000 questions per month, with users waiting through multiple back-and-forth exchanges before getting answers. Information was fragmented across Engwiki, internal Stack Overflow, and other locations, causing users to ask the same questions repeatedly and driving high demand for on-call support.

Workflow diagram · grounded in source
1
Data ingestion and embedding
integration
“we scrape internal data sources like Uber's internal wiki, Uber's internal Stack Overflow, engineering requirement documents, and create vectors from these data sources using an Open AI embedding model. Those embeddings get stored in a v…”
2
User asks question in Slack
trigger
“when a user posts a question in a Slack channel, the question gets translated to embeddings”
3
Query embedding and vector search
ai_action
“Knowledge Service, which serves incoming requests for all incoming queries by first converting the incoming query into an embedding and then fetching the most relevant chunks from the vector database”
4
LLM generates cited response
ai_action
“We explicitly added for all the results obtained from the vector database a section called sub-context along with the source URL for that sub-context. We asked the LLM to only give answers from the various sub-contexts provided and retur…”
5
Response with action buttons
output
“when a user asks a question, Genie will answer with next step action buttons provided. Using those buttons, users can easily ask followup questions, mark questions as resolved, or contact human support”
6
Human on-call escalation
human_review
“If Genie can't answer their questions, users can easily escalate the issue to on-call support”
7
Feedback collection and streaming
feedback_loop
“a Slack plugin picks it up and uses a specific Kafka topic to stream metrics into a Hive table with the feedback and all the relevant metadata. We later visualize these metrics in a dashboard.”
Reported outcome

Since its September 2023 launch, Genie expanded to 154 Slack channels, answered over 70,000 questions, achieved a 48.9% helpfulness rate, and saved an estimated 13,000 engineering hours.

Reported metrics
monthly questions on Slack support channels45,000
Slack channels reached154
Questions answeredover 70,000
Helpfulness rate48.9%
Show all 5 reported metrics
monthly questions on Slack support channels45,000
Slack channels reached154
questions answeredover 70,000
helpfulness rate48.9%
engineering hours saved13,000
Reported stack
GenieRAGOpenAIApache SparklangchainTerrablobSiaKafkaHiveMichelangeloPySparkEngwikiSlack
Source
https://www.uber.com/en-HR/blog/genie-ubers-gen-ai-on-call-copilot/?uclick_id=92508acc-3a86-4fcc-bc5f-ba1799e3055e
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Since its September 2023 launch, Genie expanded to 154 Slack channels, answered over 70,000 questions, achieved a 48.9% helpfulness rate, and saved an estimated 13,000 engineering hours.

What tools did this team use?

Genie, RAG, OpenAI, Apache Spark, langchain, Terrablob, Sia, Kafka, Hive, Michelangelo.

What results were reported?

monthly questions on Slack support channels: 45,000; Slack channels reached: 154; Questions answered: over 70,000; Helpfulness rate: 48.9% (source-reported, not independently verified).

How is this it support AI workflow structured?

Data ingestion and embedding → User asks question in Slack → Query embedding and vector search → LLM generates cited response → Response with action buttons → Human on-call escalation → Feedback collection and streaming.