Design a Single-Domain Chatbot
Company: Decagon
Role: Software Engineer
Category: ML System Design
Difficulty: medium
Interview Round: Onsite
Design a chatbot system for a **single enterprise customer** and a **single business domain**. For example, the chatbot may answer support questions for one product line or one internal knowledge domain.
The system should:
- support multi-turn conversations,
- answer questions using the customer's approved documents and FAQs,
- provide grounded answers with citations or source references,
- avoid hallucinating unsupported information,
- allow administrators to update the knowledge base,
- support fallback to a human agent when confidence is low,
- meet reasonable latency and cost targets.
Discuss the end-to-end design, including:
- user-facing APIs and session management,
- document ingestion and indexing,
- retrieval and ranking,
- prompt construction and model serving,
- safety and access control,
- monitoring and evaluation,
- scaling and reliability trade-offs.
Quick Answer: This question evaluates a candidate's ability to design production-grade conversational AI systems, testing competencies in retrieval-augmented generation, document ingestion and indexing, multi-turn session management, prompt construction, model serving, grounding and citation, safety, access control, monitoring, and operational trade-offs.