Les 6 van 8 · 50 min · Inclusief lab

Kosten en tokens

In deze les ga je

  • Benoemen waar de tokens in een agentverzoek naartoe gaan
  • Kosten per taak meten en de zwaarste stap vinden
  • Kostenhefbomen trekken in een volgorde die kwaliteit beschermt
  • Kosten per taak onderdeel maken van de releasepoort
Ga naar de kenniscontrole

Kosten per taak is een releasemaat

Teams ontmoeten agentkosten meestal als verrassing op een factuur. Wij behandelen ze als een getal waarvoor je ontwerpt, dat je per taak meet en vóór elke release controleert. Het getal dat voor de business telt, zijn de kosten per taak: wat het kost om één werkeenheid af te ronden, zoals één afgehandeld verzoek of één verwerkt document.

In deze les zoeken we waar de tokens naartoe gaan, meten we ze en trekken we de hefbomen in een volgorde die de kwaliteit beschermt. Tarieflijsten van aanbieders bespreken we niet. Ze veranderen en jouw overeenkomst kan afwijken. Gebruik de cijfers uit je eigen contract.

Waar de tokens naartoe gaan

Eén agentverzoek draagt veel meer dan de vraag. Elk onderdeel heeft een eigen drijfveer.

Onderdeel van het verzoekWat het bepaalt
Systeemprompt en instructiesLengte van de regels, bij elke aanroep herhaald
Opgehaalde contextAantal en lengte van de passages
GespreksgeschiedenisAantal herhaalde beurten en of ze samengevat zijn
TooldefinitiesAantal tools en lengte van elke beschrijving
TooluitvoerHoeveel een tool teruggeeft boven wat de volgende stap nodig heeft
RedeneertokensDe inspanningsinstelling van het model en de moeilijkheid van de stap
Het antwoordHet gevraagde formaat en de vereiste inhoud
Herpogingen en lussenMislukte aanroepen en stappen die terugkeren

Een agent roept het model per taak vaak aan en elke aanroep speelt de geschiedenis en de tooldefinities opnieuw af. Daarom kan een "goedkoop" model met een opgeblazen lus meer kosten dan een "duur" model met een strakke lus. De lus en de context bepalen de rekening minstens zo sterk als het model.

Ons artikel over wat kosten en latency van inference op Azure Databricks bepaalt legt de serveropties dieper uit: batch, pay-per-token, provisioned throughput en zelf gehost.

Stap 1: meet per taak, per stap

Je kunt niet verlagen wat je niet gemeten hebt. Leg voor elke taak vast:

  • Tokens in en uit per modelaanroep, en per stap in de lus.
  • Latency per stap en per taak.
  • Het aantal rondes in de lus en het aantal herpogingen.
  • Een kwaliteitsscore uit de evaluatieset, naast de kosten.

MLflow Tracing legt elke stap van een agentrun vast met invoer, uitvoer, latency en tokengebruik, dus de data bestaat zodra tracing aanstaat. Unity Gateway kan verzoeken en antwoorden naar Delta-tabellen loggen en gebruik bijhouden, inclusief tokengebruik en latency, in systeemtabellen, met kostenanalyse per service, model, principal en tag.

python
# Kosten per taak uit tokentellingen. Tarieven komen uit JOUW overeenkomst, per miljoen tokens.
RATE_IN_PER_M  = 1.0   # plaatshouder: vervang door jouw contracttarief voor invoertokens
RATE_OUT_PER_M = 4.0   # plaatshouder: vervang door jouw contracttarief voor uitvoertokens
 
def call_cost(tokens_in: int, tokens_out: int) -> float:
    return tokens_in / 1_000_000 * RATE_IN_PER_M + tokens_out / 1_000_000 * RATE_OUT_PER_M
 
def task_cost(calls: list[dict]) -> float:
    """calls: één dict per modelaanroep in de taak, met tokens_in en tokens_out."""
    return sum(call_cost(c["tokens_in"], c["tokens_out"]) for c in calls)
 
def heaviest_step(calls: list[dict]) -> dict:
    return max(calls, key=lambda c: call_cost(c["tokens_in"], c["tokens_out"]))

De tarieven zijn bewust plaatshouders. Houd geldbedragen in configuratie en houd de tokentellingen als primaire maat, want tokens veranderen niet als een aanbieder zijn tarieven wijzigt.

Stap 2: trek de hefbomen, in deze volgorde

Kies hefbomen op basis van wat de metingen laten zien. Test elke hefboom op je evaluatieset voor hij live gaat.

HefboomWat hij doetBewijs dat kwaliteit standhoudt
Limieten op lussen en herpogingenBegrenst stappen en herhaalde aanroepen per taakTracing laat zien dat de grens zelden geraakt wordt
Compacte tooluitvoerTools geven alleen de velden terug die de agent gebruiktSlagingspercentage blijft gelijk
Context inkorten en geschiedenis samenvattenHoud alleen wat de volgende stap nodig heeftKwaliteit voor en na gemeten
Prompt cachingZet het stabiele begin vooraan: instructies, tools, contextAntwoorden blijven identiek, alleen de kosten veranderen
Retrieval afstellenMinder, betere passagesAntwoordkwaliteit en bronnauwkeurigheid
Gestructureerde uitvoer en vroeg stoppenKorte vaste formaten, stoppen als het klaar isFormaatgeldigheid en slagingspercentage
Redeneerinspanning regelenMinder nadenken bij makkelijke stappenKwaliteit per instelling vergeleken
ModelroutingMakkelijke stappen naar een klein model, moeilijke naar een groterDe regel komt uit evaluatie
Modelkeuze en wisselenHet model dat bij elke taak pastDezelfde evaluatieset per kandidaat
Finetunen of zelf hostenEen klein model voor één smalle taak, of eigen infrastructuurMoet de evaluatieset halen voor het verkeer krijgt

De eerste rijen zijn het goedkoopst te trekken en dragen het minste kwaliteitsrisico. Bij routing hoort een waarschuwing: het is een kwaliteitsbeheersingsprobleem en geen kostenschakelaar. Een router die moeilijke cases naar een zwak model stuurt, bespaart tokens en verliest antwoorden. Ons artikel over modelrouting als kwaliteitsbeheersing gaat dieper.

Stap 3: guardrails op uitgaven

Zet limieten waar een agent zich er niet langs kan praten.

  • Limieten per taak in de harness: stappen, tijd en tokens, zoals in les 1.
  • Limieten per team en per gebruiker bij de gateway. Unity Gateway ondersteunt rate limits op model- en MCP-services en budgetten met drempels per gebruiker en harde plafonds.
  • Alerts op uitgaven per use case, zodat een agent die gaat lussen dezelfde dag opvalt.

Stap 4: maak kosten per taak een releasepoort

Voeg een regel toe aan de pipeline uit les 4: een nieuwe versie mag alleen live als de kwaliteit op de evaluatieset standhoudt en de kosten per taak binnen het afgesproken budget blijven. Een promptwijziging die de kwaliteit een punt verbetert en de tokens verdubbelt, moet een bewuste keuze zijn en geen ongeluk dat aan het eind van de maand opvalt.

Leg het resultaat per release vast, naast de kwaliteitsscore. Na een paar releases zie je welke wijzigingen liepen.

Veelgemaakte fouten

  • Eerst het model optimaliseren. Repareer eerst de lus en de context.
  • Alleen gemiddelden. Kijk naar de dure staart: de taken die lussen.
  • Kwaliteit inruilen voor kosten zonder te meten. Elke hefboom heeft de evaluatieset nodig.
  • Tarieven hard coderen. Houd ze in configuratie.

Samenvatting

Meet tokens per stap en kosten per taak. Trek eerst de goedkope hefbomen met weinig kwaliteitsrisico. Dwing limieten af bij de harness en de gateway. Bewaak releases op kwaliteit en kosten samen.

Volgende les: hoe je je eigen model meebrengt en modellen wisselt zonder herbouw.

Het idee in één schema

Kosten per taak als releasepoort

  1. Tokens tracenPer stap
  2. Kosten per taak
  3. Een hefboom trekkenEerst goedkoop en laag risico
  4. Evaluatieset draaien
  5. Poort: kwaliteit en kosten

Kenniscontrole

Beantwoord elke vraag. Je ziet meteen de reden achter elk antwoord.

0 van 3 beantwoord

  1. Vraag 1 van 3Waarom kan een goedkoper model per taak meer kosten?
  2. Vraag 2 van 3Welke hefboom trek je eerst?
  3. Vraag 3 van 3Waarom houd je geldtarieven uit de code?

Praktisch lab

Doel. Bereken kosten per taak uit tokenlogs, vind de zwaarste stap en test twee hefbomen.

Waar je het draait

Lokale Python Draai dit lab op je eigen computer met Python 3.10 of nieuwer in een virtuele omgeving.

Handleiding voor Python-omgevingen

Stappen

  1. Maak tasks.json met 10 taken. Elke taak heeft 3 tot 8 modelaanroepen met tokens_in en tokens_out. Laat twee taken lussen met 12 aanroepen.
  2. Plak task_cost en heaviest_step uit de les. Zet de twee tarieven in een configuratiedictionary.
  3. Print kosten per taak, het gemiddelde en het 90e percentiel. Noteer welke taken de dure staart vormen.
  4. Pas hefboom 1 toe: begrens aanroepen op 8 per taak. Pas hefboom 2 toe: halveer de tooluitvoertokens. Bereken opnieuw en vergelijk.
  5. Schrijf een poort die faalt als de kosten per taak meer dan 10 procent stijgen ten opzichte van de baseline.

Verwacht resultaat

Een voor-en-nadatabel, de dure staart geïdentificeerd en een poort die de geoptimaliseerde versie laat slagen en een versie met herstelde lus laat falen.

Verdiepen

Officiële documentatie en aanbevolen cursussen van de aanbieders.

Lees bij NexOps

Artikelen uit onze eigen projecten over hetzelfde onderwerp.

Bronnen

Laatst gecontroleerd 2026-11-11

We controleren elke bron aan de hand van de officiële documentatie. Producten veranderen, dus bevestig details daar voordat je bouwt.