Je LLM-agent werkt misschien perfect in een demo, maar vertraagt en laat de rekening exploderen na slechts een handvol interacties. De verborgen boosdoener is geen onbetrouwbaar model — het is token drift, de geleidelijke opzwelling van de prompt die het model elke keer opnieuw moet verwerken.

Token drift treedt op wanneer elke interactie meer tekst toevoegt aan de inputcontext van het model. De gesprekshistorie, tool-schema's, API-responses en opgehaalde documenten stapelen zich allemaal op, waardoor elke opeenvolgende aanroep een grotere payload met zich meebrengt. Omdat de verwerkingstijd en de prijs van het model stijgen met het aantal inputtokens, stijgen de kosten kwadratisch in plaats van lineair.

Waarom het probleem in productie optreedt, maar niet in demo's

Bij echte implementaties wordt alles bewaard: elke uiting van de gebruiker, elke output van een tool, elk fragment van opgehaalde kennis. De ophoping blijft verborgen totdat de latentie piekt en de factuur binnenkomt.

Veelvoorkomende bronnen van token drift

  • Herhaalde transcripties – Elke oude boodschap in de prompt houden in plaats van deze samen te vatten of te verwijderen.
  • Zware tool-schema's – Bij elke interactie grote JSON-definities van tool-mogelijkheden versturen.
  • Omvangrijke tool-resultaten – Volledige API-responses of databaseregels opnemen die meer data bevatten dan de agent daadwerkelijk nodig heeft.
  • RAG-opzwelling – Retrieval-augmented generation (RAG) die veel documentfragmenten toevoegt, waarvan sommige verouderd of irrelevant zijn.
  • Dubbel geheugen – Een samenvatting, een state-object en het ruwe transcript samen verpakken, waardoor dezelfde informatie drie keer wordt herhaald.

Elk van deze zaken voegt tokens toe die geen nieuwe redeneerkracht bieden, maar wel de omvang van de prompt vergroten.

Hoe je het tokenbudget onder controle houdt

1. Gebruik een gelaagd contextontwerp

  • Stabiele instructies – Houd system prompts en veiligheidsregels bovenaan en verwijs ernaar in plaats van ze bij elke interactie opnieuw te versturen.
  • Gestructureerde state – Sla een compacte weergave op van doelen, beslissingen en identificatoren die de agent snel kan lezen.
  • Gecomprimeerde historie – Vat oudere interacties samen in een korte, voor mensen leesbare paragraaf, en update deze pas wanneer een bepaalde drempelwaarde is bereikt.
  • Recente interacties – Neem de laatste paar berichten letterlijk op om de continuïteit te waarborgen.

Door constante tekst te scheiden van samenvatbare inhoud, voorkom je dat je steeds weer dezelfde woorden opnieuw verstuurt.

2. Trim tool-outputs

  • Extraheer alleen de velden die de agent daadwerkelijk gebruikt; laat uitgebreide beschrijvingen weg.
  • Vervang grote resultaten door een beknopte samenvatting of een referentie-ID, en sla de volledige payload op in een database, cache of blob store.
  • Wanneer een tool een lijst retourneert, stuur dan alleen de top-N items die relevant zijn voor de huidige beslissing.

3. Pas slimme samenvatting toe

  • Sla het samenvatten na elke interactie over; de extra verwerking zorgt voor overhead.
  • Vernieuw de samenvatting pas wanneer het cumulatieve aantal tokens van oudere interacties een vooraf ingestelde limiet overschrijdt.
  • Houd kritieke feiten — zoals ID's, bedragen en tijdstempels — bij in een gestructureerde opslag in plaats van ze in lopende tekst te verwerken, zodat de samenvatting kort blijft.

4. Volg de juiste metrieken

  • Log het tokengebruik per modelaanroep, niet alleen per gebruikersverzoek. Dit maakt verborgen groei aan de inputzijde zichtbaar.
  • Monitor het aantal toegevoegde inputtokens per interactie; een plotselinge sprong wijst op een bron van drift.
  • Maak onderscheid tussen gecachte tokens (hergebruikt uit eerdere aanroepen) en nieuw gegenereerde tokens; alleen die laatste veroorzaken drift.

Behandel de prompt als een eindige bron, niet als een oneindig transcript. Door bewust te meten, samen te vatten en te trimmen, houd je je LLM-agent snel, betaalbaar en klaar voor schaalbaarheid in productie.

Kernpunt: Token drift drijft stilletjes de kosten op en vertraagt agents. Identificeer de groeiende delen van je prompt, comprimeer of externaliseer ze, en houd het tokengebruik per aanroep in de gaten. Een gedisciplineerde aanpak verandert onvoorspelbare kostenpieken in een beheersbare, budgetvriendelijke operatie.