AI-agenter · leksjon

Forsinkelse og kostnad per steg

Mål tokenbruk og faktisk tidsbruk per node, slik at du kan finne stegene som er langsomme og kostbare.

Leksjon 3 av 414 trinn

Forsinkelse og kostnad per steg er en gratis leksjon i AI-agenter på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-agenter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Hvorfor måle per trinn?

Total latens og kostnad forteller Dem at systemet er tregt eller dyrt — men ikke HVILKET trinn som er tregt eller dyrt. Måling per trinn er nødvendig for å kunne rette det.

Registrere latens

Legg det til i hver span:

start = time.time()
# ... do work ...
span.duration_ms = (time.time() - start) * 1000

Latenskategorier

Vanlige trege trinn i agenter:

  • LLM-kall — 500 ms til 10 s
  • Nettsøk — 200 ms til 2 s
  • Embedding — 50 ms til 200 ms
  • DB-spørring — 5 ms til 500 ms

Registrere kostnad

For LLM-trinn multipliserer De antall tokens med prisen:

PRICES = {
    'gpt-4o-mini':       {'in': 0.150 / 1e6, 'out': 0.600 / 1e6},
    'gpt-4o':            {'in': 2.50  / 1e6, 'out': 10.00 / 1e6},
    'claude-sonnet-4-5': {'in': 3.00  / 1e6, 'out': 15.00 / 1e6}
}

def compute_cost(model, tokens_in, tokens_out):
    p = PRICES[model]
    return tokens_in * p['in'] + tokens_out * p['out']

cost = compute_cost('gpt-4o-mini', 1000, 500)
print(f"Cost for 1000 in / 500 out tokens on gpt-4o-mini: ${cost:.6f}")

Aggreger per trace

Summer spans opp til trace-nivået:

def trace_metrics(spans):
    return {
        'duration_ms': sum(s.duration_ms for s in spans),
        'cost_usd':    sum(s.cost_usd or 0 for s in spans),
        'tokens':      sum((s.tokens_in or 0) + (s.tokens_out or 0) for s in spans),
        'step_count':  len(spans)
    }

from types import SimpleNamespace
spans = [
    SimpleNamespace(duration_ms=120, cost_usd=0.002, tokens_in=100, tokens_out=50),
    SimpleNamespace(duration_ms=340, cost_usd=0.005, tokens_in=200, tokens_out=80),
]
print(trace_metrics(spans))

p50 / p95 / p99

Ikke se på gjennomsnitt — agentlatens har en tung hale. Rapporter persentiler:

import numpy as np
durations = [t.duration_ms for t in last_1000_traces]
print('p50:', np.percentile(durations, 50))
print('p95:', np.percentile(durations, 95))
print('p99:', np.percentile(durations, 99))

Kostnad per bruker

Summer kostnaden per user_id daglig:

SELECT user_id, SUM(cost_usd) AS daily_cost
FROM traces
WHERE created_at::date = current_date
GROUP BY user_id
ORDER BY daily_cost DESC
LIMIT 100

Kostnad per trinnnavn

Hvilke trinn står for størstedelen av kostnaden? Gruppér etter navn:

SELECT name, SUM(cost_usd) AS total
FROM spans
WHERE trace_id IN (SELECT id FROM traces WHERE created_at::date = current_date)
GROUP BY name
ORDER BY total DESC

Latensvannfall

For én trace kan De tegne et Gantt-lignende vannfall av spans. Den lengste linjen er flaskehalsen.

De fleste tracing-grensesnitt gjengir dette automatisk.

Varsle ved avvik

  • Varsle hvis p95-latensen dobles fra uke til uke
  • Varsle hvis den daglige kostnaden øker til mer enn det dobbelte av normalen
  • Varsle hvis én enkelt bruker koster mer enn $X per dag

Sammenligne to modeller

Målinger per trinn gjør det mulig å sammenligne modeller med A/B-tester:

# Run 100 traces with gpt-4o-mini and 100 with haiku
# Compare p95 latency and average cost
# Pick the winner for the use case
print("Run 100 traces with gpt-4o-mini and 100 with haiku")
print("Compare p95 latency and average cost")
print("Pick the winner for the use case")

Følge tokenfordelingen

Et histogram over inndata- og utdata-tokens avdekker problemer: Hvis De for eksempel stadig treffer max_tokens, betyr det avkortet utdata — altså en feil.

Hvorfor persentiler?

Hvorfor rapportere p95-latens i stedet for gjennomsnittet?

Oppsummering

Latens og kostnad per trinn, aggregert per trace og per bruker, persentiler i stedet for gjennomsnitt og varsler ved avvik. Dette er dashbordet Deres.

Gratis å komme i gang

Lær deg AI-agenter med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
60
Leksjoner
239

Ofte stilte spørsmål

Er leksjonen «Forsinkelse og kostnad per steg» gratis?

Ja – hele teksten i «Forsinkelse og kostnad per steg» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av AI-agenter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Hva lærer jeg i «Forsinkelse og kostnad per steg»?

Mål tokenbruk og faktisk tidsbruk per node, slik at du kan finne stegene som er langsomme og kostbare. Du øver på AI-agenter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AI-agenter?

Ingen tidligere erfaring er nødvendig. AI-agenter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Forsinkelse og kostnad per steg»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AI-agenter-leksjonen?

Ja. Alle AI-agenter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hvorfor agenter trenger sporing
  2. Logge verktøykall og inndata/utdata
  3. Forsinkelse og kostnad per steg
  4. Visualisere agentkjøringer (Langfuse, LangSmith)
← Tilbake til AI-agenter