KUMYU / SYSTEM DESIGN
System design field notes
Learn to design AI systems through architecture diagrams, failure scenarios and explicit tradeoffs.
These are conceptual reference architectures for learning and design discussions. They do not describe the deployed Kumyu infrastructure.
Build your learning route
Start with foundations, follow one chat request, then add durable jobs, memory and tools. Study trust boundaries and admission control before adding retrieval, live connections and voice.
The whole system: connect all ten chapters
Follow the arrows from the client through admission, generation and delivery. Read memory and RAG as information sources, asynchronous jobs as durable execution, and guardrails as checks at operation boundaries. Open each chapter below to study the decisions in detail.
01 Start with a request
Design foundations: draw boundaries from requirements
Turn performance, state, permission, and failure requirements into a practical design.
AI chat: runs that survive disconnection
Separate conversation history, durable generation runs, and streaming delivery.
02 Give work a durable home
Asynchronous jobs: define failure before adding a queue
Build asynchronous work from outboxes, idempotency, leases, and bounded retries.
Memory: design what to retain and what to forget
Separate conversation storage, context, summaries, retrieval indexes, and caches.
Tools: turn model proposals into authorized actions
Design validation, authorization, idempotency, and reconciliation around external effects.
03 Control trust and capacity
Guardrails and authorization boundaries
Separate input, output, and tool gates, then enforce server authorization and approval tied to the exact operation.
Gateways, rate limits, and budgets
Design API and model entry points with atomic distributed limits, bounded reservations, reconciliation, and controlled retries.
04 Connect knowledge and people
RAG: connecting retrieval and generation
Follow ingestion, chunks, versions and ACLs, hybrid retrieval, reranking, citations, and separate retrieval and generation evaluations.
Realtime delivery: separate connections from runs
Compare SSE, fetch streaming, and WebSocket, then design reliable reconnection.
Voice conversations: control listening, reasoning, and speech
Learn voice pipelines, WebRTC, interruption handling, latency, and authorization.