0Pricing
AI Agents · Leçon

Latence et coût par étape

Mesurez l’utilisation des jetons et le temps réel par nœud afin de repérer les étapes lentes et coûteuses.

Latence et coût par étape est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.

Pourquoi des métriques par étape ?

La latence et le coût totaux vous indiquent que le système est lent ou coûteux — mais pas QUELLE étape est lente ou coûteuse. Une mesure par étape est nécessaire pour pouvoir y remédier.

Enregistrer la latence

Ajoutez-la à chaque span :

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

Catégories de latence

Étapes généralement lentes dans les agents :

  • Appel LLM — de 500 ms à 10 s
  • Recherche sur le Web — de 200 ms à 2 s
  • Génération d’embeddings — de 50 ms à 200 ms
  • Requête vers la base de données — de 5 ms à 500 ms

Enregistrer le coût

Pour les étapes LLM, multipliez le nombre de tokens par le prix :

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}")

Agrégation au niveau de la trace

Faites remonter la somme des spans au niveau de la trace :

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

Ne vous intéressez pas aux moyennes — les latences des agents ont une longue traîne. Indiquez les percentiles :

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))

Coût par utilisateur

Faites chaque jour la somme des coûts par user_id :

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

Coût par nom d’étape

Quelles étapes représentent la majeure partie du coût ? Regroupez par nom :

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

Graphiques en cascade des latences

Pour une trace donnée, représentez les spans sous la forme d’un graphique en cascade de style Gantt. La barre la plus longue correspond à votre goulet d’étranglement.

La plupart des interfaces de traçage génèrent automatiquement cette représentation.

Alerter en cas de valeur aberrante

  • Alertez si la latence p95 double d’une semaine à l’autre
  • Alertez si le coût quotidien dépasse de plus de deux fois la normale
  • Alertez si un utilisateur coûte à lui seul plus de X $ par jour

Comparer deux modèles

Les métriques par étape vous permettent de comparer des modèles par test A/B :

# 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")

Suivre la répartition des tokens

L’histogramme des tokens d’entrée et de sortie révèle certains problèmes : par exemple, atteindre systématiquement max_tokens signifie que la sortie est tronquée, ce qui indique un bug.

Pourquoi des percentiles ?

Pourquoi indiquer la latence p95 plutôt que la moyenne ?

Récapitulatif

Latence et coût par étape, agrégés par trace et par utilisateur, percentiles plutôt que moyennes, alertes en cas de valeurs aberrantes. Voici votre tableau de bord.

Questions Fréquemment Posées

La leçon « Latence et coût par étape » est-elle gratuite ?

Oui — le texte complet de « Latence et coût par étape » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Latence et coût par étape » ?

Mesurez l’utilisation des jetons et le temps réel par nœud afin de repérer les étapes lentes et coûteuses. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Agents ?

Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Latence et coût par étape » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?

Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi le traçage est nécessaire pour les agents
  2. Journaliser les appels d’outils et les entrées/sorties
  3. Latence et coût par étape
  4. Visualiser les exécutions d’agents (Langfuse, LangSmith)
← Retour à AI Agents