Laava LogoLaava

Waarom wij kozen voor LangGraph voor productie-AI-agents

Laava Team
Modern office workspace

Een AI-agent demo bouwen kost een weekend. Eentje naar productie brengen kost maanden. Die kloof, tussen "het werkt op mijn laptop" en "het draait ons bedrijfsproces betrouwbaar", is waar de meeste AI-agent projecten stranden. Na het bouwen van productie-AI-agents voor enterprise klanten in verschillende sectoren hebben we sterke meningen ontwikkeld over wat er nodig is om die kloof te overbruggen. Dit artikel legt uit waarom we LangGraph hebben gekozen als orchestratielaag voor ons agentisch AI-werk, en wat we hebben geleerd bij het uitrollen in de echte wereld.

De productiekloof: waarom de meeste agent frameworks tekortschieten

Het AI-agent ecosysteem groeit snel. OpenAI's Assistants API, Microsofts AutoGen, CrewAI, Amazon Bedrock Agents - de lijst wordt elke maand langer. Elk belooft het bouwen van agents makkelijk te maken. En dat doen ze ook, voor demo's.

Het probleem komt aan het licht zodra je voorbij het happy path gaat. In productie moeten AI-agents scenario's aankunnen die demo-frameworks stilletjes negeren:

  • Wat gebeurt er als een LLM-aanroep halverwege een workflow faalt?
  • Hoe pauzeer je een meerstapsproces voor menselijke goedkeuring en hervat je het dagen later?
  • Hoe traceer je precies waarom een agent een bepaalde beslissing nam om 3 uur 's nachts vorige week dinsdag?
  • Wat als dezelfde agent 500 gelijktijdige gesprekken moet afhandelen, elk met unieke state?
  • Hoe rol je terug als een agent vier stappen geleden een verkeerde afslag nam?

De meeste frameworks behandelen dit als edge cases. Wij behandelen ze als vereisten. Wanneer je AI-agent facturen goedkeurt, supporttickets routeert of complianceworkflows beheert, is "het werkt meestal" geen acceptabele standaard.

Chains vs. graphs: de architectuur die alles verandert

De fundamentele beperking van eerdere frameworks zoals de originele chains van LangChain is hun lineariteit. Een chain voert stap A uit, dan stap B, dan stap C. Het is een pipeline. Dit werkt prima voor eenvoudige taken: documenten ophalen, in een prompt stoppen, een antwoord genereren.

Maar echte bedrijfsprocessen zijn geen pipelines. Het zijn graphs. Neem een klant-onboarding agent. Die moet:

  • Identiteitsdocumenten verifiëren (kan falen, moet opnieuw proberen met andere verificatieservice)
  • Een compliance-check uitvoeren (kan menselijke review vereisen bij een flag)
  • Het account aanmaken (afhankelijk van de uitkomst van beide vorige stappen)
  • Een welkomstmail sturen (alleen als alles is geslaagd)
  • Doorsturen naar een menselijke medewerker (als een stap faalt na retries)

Deze workflow heeft vertakkingen, loops, conditionele paden en punten waar externe input nodig is. Een lineaire chain kan dit simpelweg niet uitdrukken. Je eindigt met het hacken rond de beperkingen van het framework, met glue code die de werkelijke complexiteit van je systeem wordt.

LangGraph modelleert workflows als gerichte graphs. Nodes representeren verwerkingsstappen - een LLM aanroepen, een tool gebruiken, data transformeren. Edges definiëren overgangen tussen stappen, en ze kunnen conditioneel zijn: "als de compliance-check 'geflagd' retourneert, stuur naar de human review node; anders ga door naar account-aanmaak." Dit sluit direct aan op hoe bedrijfsprocessen werkelijk werken.

Wat LangGraph je concreet biedt

Durable execution en checkpointing

Dit is de functionaliteit die LangGraph onderscheidt van vrijwel al het andere. Elke keer dat je graph van de ene node naar de andere gaat, kan LangGraph een checkpoint opslaan - een complete snapshot van de state van de agent. Deze checkpoint wordt opgeslagen in een database (PostgreSQL in ons geval), niet alleen in het geheugen.

Waarom is dit belangrijk? Drie redenen:

  • Fouttolerantie. Als een node faalt, hoef je niet de hele workflow opnieuw te draaien. Je hervat vanaf de laatste checkpoint. Wanneer je agent tien stappen ver is in een complex proces en de LLM-provider een storing heeft, pak je precies op waar je gebleven was.
  • Langlopende processen. Sommige bedrijfsworkflows duren uren of dagen. Een goedkeuringsproces kan een week wachten op de handtekening van een manager. LangGraph bewaart de state, maakt compute-resources vrij en hervat naadloos wanneer de goedkeuring binnenkomt.
  • Auditeerbaarheid. Elke checkpoint is een verifieerbaar record van de state van de agent op elk beslismoment. Als een klant vraagt "waarom deed de agent X?", kun je de exacte reeks van states en beslissingen afspelen.

LangGraph biedt drie durability-modi - sync, async en exit - waarmee je kunt balanceren tussen maximale duurzaamheid en performance. Voor kritieke workflows gebruiken we sync mode (checkpoint voor elke stap). Voor high-throughput, minder kritieke flows biedt async mode duurzaamheid met minimale latency overhead.

Human-in-the-loop: waar AI de realiteit ontmoet

Dit is geen nice-to-have. Voor enterprise AI-agents is menselijk toezicht een harde eis. De EU AI Act verplicht menselijk toezicht voor hoog-risico AI-systemen. Financiële toezichthouders vereisen goedkeuringsworkflows. En eerlijk gezegd zijn LLM's niet betrouwbaar genoeg om zonder toezicht consequentiële zakelijke beslissingen te nemen.

LangGraph's interrupt() mechanisme is elegant. Op elk punt in je graph kun je de uitvoering pauzeren, informatie tonen aan een menselijke reviewer, en wachten - onbeperkt indien nodig - op hun input. Wanneer ze reageren, hervat de graph precies waar hij pauzeerde, met de input van de mens geïnjecteerd in de state.

Wij implementeren dit als wat we Shadow Mode noemen: de agent verwerkt een verzoek en bereidt zijn voorgestelde actie voor, maar in plaats van deze uit te voeren, pauzeert hij en presenteert de actie aan een mens ter goedkeuring. De mens kan goedkeuren, wijzigen of afwijzen. Na verloop van tijd, naarmate vertrouwen is opgebouwd, kun je geleidelijk de autonomie van de agent uitbreiden - hem toestaan acties met laag risico zelfstandig uit te voeren terwijl goedkeuring voor hoog-risico acties vereist blijft.

Dit verschilt fundamenteel van frameworks zoals CrewAI of basis AutoGen-configuraties, waar menselijke interactie een nagedachte is die er achteraf wordt opgeplakt. In LangGraph zijn interrupts een eersteklas primitief, ingebakken in het uitvoeringsmodel.

Stateful memory: korte en lange termijn

AI-agents zonder geheugen zijn chatbots met extra stappen. Echte bedrijfsagents moeten context onthouden binnen een gesprek (korte-termijngeheugen) en over gesprekken heen (lange-termijngeheugen).

LangGraph handelt korte-termijngeheugen af via zijn state management. Elke thread (gesprek) heeft zijn eigen state, opgeslagen via checkpoints. Dit is niet alleen berichtgeschiedenis - het omvat alle gestructureerde data die je workflow nodig heeft: geüploade documenten, tussenresultaten, gebruikersvoorkeuren, goedkeuringsstatussen.

Voor lange-termijngeheugen biedt LangGraph stores die data over threads heen bewaren met custom namespaces. Een agent die een terugkerende klant helpt, kan eerdere interacties, voorkeuren en geschiedenis ophalen - gebruikmakend van semantisch geheugen (feiten over de gebruiker), episodisch geheugen (wat er gebeurde in eerdere interacties) en procedureel geheugen (geleerde regels voor het afhandelen van dit type verzoek).

Waarom LangGraph en niet de alternatieven

We hebben de belangrijkste opties geëvalueerd. Hier is onze eerlijke beoordeling:

OpenAI Assistants API is het makkelijkst om mee te beginnen. Het regelt threading, tool calling en file retrieval out of the box. Maar het bindt je aan OpenAI-modellen, draait op hun infrastructuur en geeft je beperkte controle over de uitvoeringsvolgorde. Zodra je conditionele vertakkingen, custom state management of de mogelijkheid om op eigen infrastructuur met eigen modellen te draaien nodig hebt, wordt het al snel een beperking.

AutoGen (Microsoft) blinkt uit in multi-agent gesprekspatronen. Agents kunnen met elkaar chatten, taken delegeren en samenwerken. Maar voor gestructureerde bedrijfsworkflows die deterministische routing, persistente state en human-in-the-loop op specifieke beslismomenten nodig hebben, vereist AutoGen's gespreksgerichte model aanzienlijk extra engineeringwerk.

CrewAI biedt een mooie abstractie met rollen, doelen en taakdelegatie. Het is sterk voor contentcreatie en onderzoeksworkflows waar agents autonoom samenwerken. Maar de hogere abstracties kunnen beperkend worden wanneer je fijnmazige controle nodig hebt over uitvoeringsvolgorde, fouttolerantie of integratie met complexe enterprise-systemen.

Amazon Bedrock Agents biedt beheerde agent-infrastructuur op AWS, met ingebouwde integratie met AWS-diensten. Sterk voor teams die diep in het AWS-ecosysteem zitten. Maar de vendor lock-in is aanzienlijk, de aanpassingsmogelijkheden zijn beperkt en je bent gebonden aan modellen die beschikbaar zijn op Bedrock.

LangGraph zit op het juiste abstractieniveau voor ons. Het is low-level genoeg om ons volledige controle te geven over elk beslismoment, elke state-transitie en elke foutafhandeling. Maar het is gestructureerd genoeg om de wildgroei te voorkomen die je krijgt bij helemaal from scratch bouwen. Cruciaal is dat het modelagnostisch en infrastructuuragnostisch is - we kunnen Claude, Mistral, Llama of andere open-source modellen draaien, uitgerold op elke cloud of on-premises. Voor onze klanten die sovereign AI of data residency compliance nodig hebben, is deze flexibiliteit essentieel.

Patronen die we gebruiken in productie

Over meerdere deployments hebben we een set patronen ontwikkeld die betrouwbaar werken:

Conditionele routing met tool calling

Het meest voorkomende patroon is een agent die redeneert over het verzoek van een gebruiker, het juiste tool selecteert, het uitvoert, het resultaat evalueert en de volgende stap bepaalt. In LangGraph is dit een cyclus: de LLM-node besluit een tool aan te roepen, een conditionele edge routeert naar de tool-uitvoeringsnode, het resultaat voedt terug naar de LLM, en de cyclus gaat door tot de LLM beslist dat hij een definitief antwoord heeft.

Het grote voordeel ten opzichte van simpele tool-calling API's is dat je elke stap controleert. Je kunt validatie toevoegen tussen de tool call-beslissing van de LLM en de daadwerkelijke uitvoering. Je kunt elke tool-aanroep loggen. Je kunt rate limiting, kostencontroles of circuit breakers implementeren - allemaal als nodes in de graph.

Multi-agent orchestratie

Voor complexe workflows wordt een enkele agent met veel tools onhandelbaar. We gebruiken een supervisor-patroon: een coördinerende agent die delegeert aan gespecialiseerde sub-agents. Elke sub-agent is zelf een LangGraph-graph, met eigen state en tools, als subgraph gecomponeerd in de grotere workflow.

Een enterprise document-verwerkingspipeline kan bijvoorbeeld een classificatie-agent, een extractie-agent, een validatie-agent en een routing-agent hebben. De supervisor bepaalt welke agent elke fase afhandelt, en de graphstructuur garandeert correcte datastroom en foutafhandeling ertussen.

Graceful Degradation

In productie gaan dingen mis. API's geven time-outs. Modellen hallucineren. Externe services retourneren onverwachte data. We bouwen fallback-paden direct in de graph: als het primaire model faalt, routeer naar een back-up model. Als een tool call ongeldige data retourneert, routeer naar een validatienode die correctie probeert voordat een fout wordt gemeld. Elke graph heeft expliciete foutafhandelings-edges, niet alleen try-catch blokken in applicatiecode.

LangGraph in Laava's 3-lagenarchitectuur

Bij Laava structureren we AI-oplossingen met een drielagen-architectuur:

  • Context Layer (Metadata) - gestructureerde data, vector stores, knowledge bases die de agent gegronde, relevante informatie geven.
  • Reasoning Layer (Brein) - waar LangGraph leeft. Dit is de orchestratie die ruwe intelligentie omzet in gestructureerde besluitvorming. De graph definieert wat de agent kan doen, in welke volgorde, onder welke condities en met welke waarborgen.
  • Action Layer (Integratie) - API's, databases, externe systemen waarmee de agent daadwerkelijk interacteert. Tool-integraties, webhooks, CRM-updates, documentgeneratie.

LangGraph is de ruggengraat van de Reasoning Layer. Het verbindt de intelligentie van het LLM met de context die het nodig heeft en de acties die het kan ondernemen. Zonder solide orchestratie heb je óf een chatbot die dingen weet maar er niet naar kan handelen, óf een automatisering die handelt zonder te redeneren. De graphstructuur is wat het een agent maakt - een systeem dat waarneemt, redeneert, beslist en handelt in een loop.

De saaie waarheid over productie-AI

Er is geen magie in het bouwen van productie-AI-agents. Het is software engineering. Goed state management, correcte foutafhandeling, observability, testen en deployment-pipelines. LangGraph lost dit niet magisch allemaal op, maar het biedt de juiste primitieven om op te bouwen: duurzame state, onderbreekbare uitvoering, composable graphs en modelagnostisch ontwerp.

De teams die slagen met AI-agents in productie zijn degenen die ze behandelen als softwaresystemen eerst en AI-experimenten daarna. Dat betekent versiebeheer voor je graphs, integratietests voor je workflows, monitoring voor je checkpoints en geleidelijke uitrol met menselijk toezicht.

We kozen voor LangGraph omdat het aansluit bij deze engineering-first filosofie. Het verstopt complexiteit niet achter abstracties die in productie breken. Het geeft je de bouwstenen en gaat uit de weg.

Productie-AI-agents bouwen?

Als je voorbij proof-of-concept gaat en AI-agents nodig hebt die je bedrijfsprocessen daadwerkelijk betrouwbaar uitvoeren, praten we graag. We brengen productie-ervaring met LangGraph, een modelagnostische architectuur en een gestructureerde aanpak die in weken van pilot naar productie gaat, niet maanden. Lees meer over onze LangGraph-gebaseerde agent development op onze LangGraph-pagina.

Wil je bespreken hoe dit van toepassing is op jouw bedrijf?

Laten we in gesprek gaan over jouw specifieke situatie.

Plan een gesprek

Klaar om aan de slag te gaan?

Neem contact op en ontdek wat we voor je kunnen betekenen. Vrijblijvend gesprek, concrete antwoorden.

Geen verplichtingen. We denken graag met je mee.

Waarom wij kozen voor LangGraph voor productie-AI-agents | Laava Blog | Laava