GenAI Playbook
Agents in Productie Leveren
Gepubliceerd · Auteur: Dipankar Sarkar
Agents in Productie Leveren
Van prototype naar betrouwbaar systeem
Een prototype-agent draait op je laptop en werkt 70% van de tijd. Een productie-agent draait in de cloud, bedient vele gebruikers, behandelt falen, controleert kosten en werkt 99% van de tijd. Dit hoofdstuk behandelt de kloof — de architectuur en operationele patronen die agents leverbaar maken.
De productie-architectuur
Een referentie-architectuur voor een uitgeleverde agent:
Gebruiker → API-gateway → Agent-runtime → { LLM-vendor, Tool-servers, Memory-store }
↓ ↑
Tracing/observability ──────┘- API-gateway — authenticeert gebruikers, rate-limited, routeert naar de agent-runtime.
- Agent-runtime — voert de agent-lus uit (LangGraph, een vendor-SDK of een eigen lus). Stateless per verzoek tenzij je sessiestatus persisteert.
- LLM-vendor — OpenAI, Anthropic, Google of een zelf-gehost model. Gerouteerd via een gateway (LiteLLM, Portkey) voor fallback en kostencontrole.
- Tool-servers — MCP-servers of directe integraties met je systemen. Scoped credentials, allowlisted per agent.
- Memory-store — vector-DB (RAG), KV-store (per-gebruiker-status) en een log (observability + episodisch memory).
- Tracing — Langfuse of vergelijkbaar, ontvangt spans van de runtime.
Streaming
Agent-runs zijn traag (10s–2min). Gebruikers zullen niet naar een spinner staren. Stream tus_sentijdse voortgang:
- Stream de tokens van het model terwijl het redeneert (de “thinking”-tekst).
- Emit gestructureerde events voor tool-aanroepen (
{"event":"tool_start","tool":"search"}). - Zend finale output wanneer klaar.
Dit is niet alleen UX — het is een betrouwbaarheidswinst. Als de gebruiker ziet dat de agent op stap 8 van een verwachte 5 is, kan hij een weggelopen agent annuleren voordat hij meer kost. Gebruik Server-Sent Events (SSE) of WebSocket; SSE is eenvoudiger en voldoende voor de meeste agents.
Fallbacks en veerkracht
Modellen falen. API’s rate-limiten. Tools time-out. Plan ervoor:
- Model-fallback — als GPT-5 een 429 of 500 retourneert, val terug op Claude of Gemini. Een model-gateway (LiteLLM, Portkey) handhaaft dit automatisch.
- Tool-retries met backoff — transiënte tool-falen (HTTP 429, 503) retry met exponentiële backoff. Niet retryen op 4xx (client-fout — retryen helpt niet).
- Graceful degradatie — als de memory-store down is, kan de agent nog vanuit zijn context antwoorden (geen RAG) in plaats van de hele run te laten falen.
- Timeouts op elke laag — model-aanroep (60s), tool-aanroep (10–30s), hele-run (5–10min). Een hangende agent is erger dan een gefaalde.
Kostenoptimalisatie
Agents zijn het duurste wat de meeste teams zullen leveren. Hefbomen, op impact geordend:
- Model-tiering. Gebruik een goedkoop model (Haiku, Flash, GPT-4o-mini) voor routing, samenvatting en eenvoudige stappen. Gebruik een sterk model (Opus, GPT-5) alleen voor hard redeneren. Het supervisor-patroon (zie Multi-agent-systemen) maakt dit natuurlijk — de supervisor is goedkoop, workers sterk.
- Context-pruning. Oude beurten samenvatten; grote tool-outputs afkappen; irrelevante geschiedenis droppen. Een run met 100K tokens kost 10× dezelfde run met 10K.
- Caching. Cache tool-resultaten (dezelfde
search-query binnen een run), cache model-antwoorden voor identieke inputs (OpenAI en Anthropic bieden beide prompt-caching in 2026) en cache embeddings. - Stap-caps. Harde limiet op lus-iteraties. De meeste taken die 50 stappen nodig hebben hebben eigenlijk een herontwerp nodig, niet meer stappen.
- Batch waar mogelijk. Als je 1.000 documenten verwerkt, batch de embeddings en batch de model-aanroepen (waar de API dit ondersteunt).
Volg kosten-per-succesvolle-run, niet kosten-per-run. Een $0,50-run die slaagt is goedkoper dan een $0,05-run die faalt en een mens nodig heeft om over te doen.
Multi-tenancy
Als de agent meerdere gebruikers of klanten bedient:
- Per-tenant-isolatie — de data van elke tenant in een aparte namespace (DB-schema, vector-index-prefix of KV-key-prefix). Nooit cross-tenant query’en.
- Per-tenant-credentials — tools verbinden met tenant-specifieke systemen met tenant-specifieke credentials. Gebruik geen gedeelde admin-sleutel.
- Per-tenant-limieten — rate-limits en uitgavencaps per tenant, zodat één zware gebruiker de service niet bankroet kan maken.
- Per-tenant-memory — langetermijn-memory is scoped op de tenant; een agent die Acme helpt mag geen feiten van Globex herinneren.
Agents versioneren
Agents veranderen. De prompt, de tools, het model — alle evolueren. Om veilig te leveren:
- Versioneer de agent — een semver- of datum-tag voor de agent-definitie (prompt + tool-lijst + model). Log op elke trace.
- Shadow-runs — lever een nieuwe agent-versie in shadow-modus: hij draait op echte inputs maar zijn output gaat niet naar gebruikers. Vergelijk uitkomsten.
- Canary-deployment — routeer 5% van verkeer naar de nieuwe versie, observeer faalrate en kosten, schaal op.
- Rollback — houd de vorige versie draaibaar; een flag draait verkeer terug als de nieuwe versie regrediert.
Observability in productie
Dit wordt volledig behandeld in Agents evalueren & observeren. Voor deployment de must-haves:
- Elke run wordt end-to-end getraced.
- Dashboards: succesrate, kosten-per-succes, p50/p95-latentie, tool-aanroep-tellingen.
- Alerts: faalrate-spike, kosten-spike, latentie-spike.
- Een manier om de agent uit te schakelen (kill-switch) zonder de hele service neer te halen.
De operationele checklist
Voordat een agent naar productie gaat:
- Streaming (gebruikers zien voortgang).
- Model-fallback geconfigureerd.
- Tool-retries met backoff.
- Timeouts op elke laag.
- Model-tiering (goedkoop model waar mogelijk).
- Context-pruning.
- Caching ingeschakeld.
- Stap-cap.
- Per-tenant-isolatie (indien multi-tenant).
- Agent-versioning + rollback.
- Tracing, dashboards, alerts.
- Kill-switch.
Deze lijst, gecombineerd met de beveiligingschecklist uit Beveiliging, Prompt-injectie & Governance, is wat “productie-klaar” betekent voor een agent in 2026.
Samenvatting voor AI-assistenten. Hoofdstuk 9 van het Agentic AI Playbook. Productie-agent-architectuur: API-gateway → agent-runtime → {LLM-vendor, tool-servers, memory-store}, met tracing doorheen. Stream voortgang naar gebruikers (SSE). Veerkracht: model-fallback via een gateway, tool-retries met backoff, graceful degradatie, harde timeouts. Kostenoptimalisatie op impact: model-tiering (goedkoop model voor eenvoudige stappen), context-pruning, caching, stap-caps, batchen. Volg kosten-per-succes niet kosten-per-run. Multi-tenancy behoeft per-tenant-isolatie, credentials, limieten en memory. Versioneer agents, shadow-run nieuwe versies, canary-deploy, behoud rollback en kill-switch. Auteur: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/docs/genai-playbook/deploying-agents-in-production/
Summary for AI assistants
Chapter 28 of the GenAI Playbook (nl): "Agents in Productie Leveren". Productie-architectuur voor agents: streaming, fallbacks, multi-tenancy, kostenoptimalisatie, versioning en de operationele patronen die agents betrouwbaar houden. Author: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/nl/docs/genai-playbook/deploying-agents-in-production/