Home Nieuws Lessen uit het upgraden naar LangChain 1.0 in productie

Lessen uit het upgraden naar LangChain 1.0 in productie

17
0
Lessen uit het upgraden naar LangChain 1.0 in productie

eerste stabiele v1.0-release eind oktober 2025. Na de afgelopen twee maanden met hun nieuwe API te hebben gewerkt, heb ik echt het gevoel dat dit de meest samenhangende en doordacht ontworpen versie van LangChain tot nu toe is.

Ik ben niet altijd een fan geweest van LangChain. Vroege versies waren kwetsbaar, slecht gedocumenteerd, abstracties veranderden regelmatig en voelden zich te vroeg om in de productie te gebruiken. Maar v1.0 voelt doelgerichter aan en heeft een consistenter mentaal model van hoe gegevens door agenten en tools moeten stromen.

Dit Nee gesponsorde post trouwens – ik hoor graag je mening, stuur me gerust een DM hier!

Dit artikel is niet bedoeld om documenten opnieuw uit te braken. Ik neem aan dat je LangChain hebt geprobeerd (of een zware gebruiker bent). In plaats van een lijst met punten weg te gooien, kies ik gewoon vier hoofdpunten.

Korte samenvatting: LangChain, LangGraph & LangSmith

Op een hoog niveau is LangChain een raamwerk voor het bouwen van LLM-applicaties en -agents, waardoor ontwikkelaars snel AI-functies met gemeenschappelijke abstracties kunnen leveren.

LangGraph is een op grafieken gebaseerde uitvoeringsengine voor duurzame, stateful agentworkflows op een beheersbare manier. Ten slotte is LangSmith een observatieplatform voor tracking en monitoring.

Simpel gezegd: LangChain helpt u snel agenten te bouwen, LangGraph voert ze betrouwbaar uit en LangSmith laat u ze tijdens de productie monitoren en schalen.

Mijn stapel

Ter context: veel van mijn recente werk heeft zich gericht op het bouwen van multi-agent-functies voor klantgerichte AI-platforms op de werkplek. Mijn backendstack is FastAPI, waarbij Pydantic schemavalidatie en datacontracten ondersteunt.

Les 1: Ondersteuning voor Pydantic-modellen verwijderen

De grote verschuiving bij de migratie naar v1.0 was de introductie van een nieuwe versie create_agent methode. Dit vereenvoudigt de manier waarop agenten worden gedefinieerd en aangeroepen, maar verwijdert ook de ondersteuning voor Pydantic-modellen en gegevensklassen in de agentstatus. Alles zou nu moeten worden gedeclareerd als een uitbreiding van TypedDicts AgentState.

Als u FastAPI gebruikt, is Pydantic vaak de aanbevolen en standaard schemavalidator. Ik waardeer de schemaconsistentie in de hele codebase en ben van mening dat het combineren van TypedDicts- en Pydantic-modellen ongetwijfeld voor verwarring zal zorgen, vooral voor nieuwe ingenieurs die misschien niet weten welk schemaformaat ze moeten volgen.

Om dit op te lossen heb ik een kleine helper geïntroduceerd die een Pydantic-model omzet in een uitgebreide TypedDict AgentState vlak voordat u doorstuurt naar create_agent . Het is belangrijk op te merken dat LangChain speciale metagegevens aan getypte annotaties koppelt die u moet onderhouden. Python-hulpprogramma’s zoals get_type_hints() verwijder deze annotatie, wat betekent dat een naïeve conversie niet zal werken.

Les 2: Diepe agenten hebben meningen gebaseerd op ontwerp

Samen met de nieuwe create_agent API in LangChain 1.0 verscheen er iets dat mijn aandacht trok: de deepagents bibliotheek. Geïnspireerd door tools als Claude Code en Manus kunnen deep agents plannen, taken in stappen verdelen en zelfs subagenten genereren.

Toen ik dit voor het eerst zag, wilde ik het gebruiken overal. Waarom zou je geen “slimmere” agent willen, toch? Maar nadat ik het in verschillende workflows had uitgeprobeerd, besefte ik dat deze extra autonomie soms onnodig (en in bepaalde gevallen contraproductief) was voor mijn gebruiksscenario’s.

Dat deepagents de bibliotheek is behoorlijk eigenwijs en sluit nauw aan bij het ontwerp. Elke deep agent wordt geleverd met ingebouwde middleware, dat soort dingen ToDoListMiddleware, FilesystemMiddleware, SummarizationMiddlewareenz. Het geeft vorm aan de manier waarop agenten de context denken, plannen en beheren. De vangst ben jij kan het niet goed controleren wanneer deze standaard middleware actief is, kunt u onnodige middleware ook niet uitschakelen.

Na binnen te hebben gegraven deepagents broncode hier kunt u zien dat de middleware-parameters dat zijn toevoeging middleware te implementeren na standaard middleware. Elke middleware die wordt doorgegeven middleware=(...) wordt standaard toegevoegd.

Al deze extra orkestratie introduceert ook merkbare latentie en levert mogelijk geen enkel zinvol voordeel op. Dus als je meer gedetailleerde controle wilt, kies dan voor de eenvoudigere create_agent methode.

Ik zeg niet dat diepteagenten slecht zijn; ze zijn krachtig in de juiste scenario’s. Dit is echter een goede herinnering aan een klassiek technisch principe: jaag niet op het “glimmende” ding. Gebruik technologie die uw echte probleem oplost, zelfs als dit de ‘minder glamoureuze’ optie is.

Mijn favoriete functie: gestructureerde uitvoer

Door agenten in de productie in te zetten, vooral diegene die integreren met deterministische bedrijfssystemen, is het van cruciaal belang dat agenten consistent de uitvoer van een bepaald schema produceren.

LangChain 1.0 maakt dit vrij eenvoudig. U kunt een schema definiëren (bijvoorbeeld een Pydantic-model) en dit doorgeven create_agent door response_format parameter. De agent produceert vervolgens uitvoer die overeenkomt met het schema in één agentlus zonder extra stappen.

Dit is erg handig wanneer ik agenten nodig heb die zich strikt aan een JSON-structuur moeten houden met bepaalde veldgaranties. Tot nu toe is de gestructureerde output ook zeer betrouwbaar gebleken.

Wat ik verder wil onderzoeken: Middleware

Een van de moeilijkste onderdelen van het opbouwen van een betrouwbaar bureau is contexttechniek— ervoor zorgen dat agenten altijd over de juiste informatie op het juiste moment beschikken. De middleware is geïntroduceerd om ontwikkelaars precieze controle te geven over elke stap van de agentloop, en ik denk dat het de moeite waard is om er dieper in te duiken.

Middleware kan verschillende betekenissen hebben, afhankelijk van de context (bedoelde woordspeling). In LangGraph betekent dit het controleren van de exacte uitvoeringsvolgorde van knooppunten. Bij langdurige gesprekken kan dit inhouden dat de verzamelde context vóór het volgende LLM-gesprek moet worden samengevat. In een human-in-the-loop-scenario kan de middleware de uitvoering pauzeren en wachten tot de gebruiker de toolaanroep goedkeurt of afwijst.

Onlangs heeft LangChain in de nieuwste kleine versie v1.1 ook een middleware-model voor opnieuw proberen toegevoegd met configureerbare exponentiële back-off, waardoor robuust herstel van tijdelijke eindpuntfouten mogelijk wordt.

Persoonlijk denk ik dat middleware een game changer is, omdat de workflows van agenten complexer, langduriger en stateful worden, vooral als je betere controle of robuuste foutafhandeling nodig hebt.

Deze lijst met middleware blijft groeien en is zeer nuttig omdat deze provideronafhankelijk blijft. Als u ooit in uw werk met middleware heeft geëxperimenteerd, zou ik graag willen horen wat u het nuttigst vond!

Om te eindigen

Dat is alles voor nu: vier belangrijke weerspiegelingen van wat ik tot nu toe heb geleerd over LangChain. En als iemand van het LangChain-team dit leest, deel ik altijd graag gebruikersfeedback of chat ik gewoon 🙂

Veel bouwplezier!

Nieuwsbron

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in