Tous les articles
Agent Ops 6 min 21 avril 2026

Brancher son agent OpenAI sur last20 en 3 lignes de code

Tu as un agent OpenAI en prod mais aucune idée de ce qu'il répond vraiment. Voici comment brancher le proxy last20 en 3 lignes, avec exemples Python et JavaScript.


Tu as un agent OpenAI en production. Il répond aux questions de tes utilisateurs, il marche bien, tu dors tranquille. Sauf qu'en vrai, tu n'as aucune idée de ce qu'il répond vraiment. Voici comment brancher last20 dessus en 3 lignes de code — sans rien changer à ton architecture.

Pourquoi surveiller son agent OpenAI

OpenAI te donne le log brut des requêtes dans ton dashboard, et la facture à la fin du mois. C'est tout. Aucune métrique de qualité, aucune détection d'hallucination, aucun seuil de budget configurable par agent.

Résultat : si ton agent se met à raconter n'importe quoi mardi matin parce qu'OpenAI a poussé une mise à jour du modèle, tu ne le découvres que quand un client mécontent t'écrit. Entre temps, des centaines de réponses incorrectes sont parties à tes utilisateurs.

Le problème : ton agent répond, mais que répond-il vraiment ?

Les LLMs sont probabilistes. Un modèle qui donnait 98% de réponses correctes la semaine dernière peut tomber à 85% aujourd'hui pour trois raisons :

  • OpenAI met à jour le modèle sans te prévenir — même sans toucher à ton code, les réponses changent.
  • Ton prompt système dérive à force de petits tweaks accumulés.
  • Ton RAG retourne le mauvais contexte sur des questions inattendues, et l'agent comble les trous en inventant.

Sans monitoring, tu découvres ces problèmes après coup, par des utilisateurs frustrés. L'idée de last20 : les détecter avant eux.

La solution : le proxy last20 intercepte tout

last20 expose un proxy transparent compatible avec le SDK OpenAI officiel. Toutes tes requêtes passent par last20.fr/api/proxy au lieu deapi.openai.com. Côté client, rien ne change — tu récupères la même réponse OpenAI, à la même vitesse. Côté serveur, on lit la réponse au passage et on la passe à notre détecteur d'anomalies en asynchrone.

Tu gardes OpenAI comme provider, tu gardes le SDK officiel, tu gardes ton code. On ajoute juste une couche de supervision invisible.

Tutoriel en 3 étapes

1. Changer le baseURL du SDK OpenAI

Le SDK OpenAI permet de pointer sur n'importe quelle URL compatible. On remplace https://api.openai.com/v1 par https://last20.fr/api/proxy. Le SDK ajoutera /chat/completions à la fin comme d'habitude.

2. Ajouter les headers X-Last20-Key et X-OpenAI-Key

Deux headers à passer en defaultHeaders du SDK :

  • X-Last20-Key — ta clé last20 (à générer dans ton dashboard → Paramètres → API Keys).
  • X-OpenAI-Key — ta clé OpenAI habituelle. Le proxy l'utilise pour appeler OpenAI en ton nom.

Le apiKey que tu passes normalement au SDK est ignoré par le proxy — tu peux y mettre "ignored" ou n'importe quelle valeur non-vide.

3. Voir les analyses dans le dashboard

Dès que tu envoies ta première requête via le proxy, elle apparaît dans ton dashboard last20 à /dashboard/agents. Tu vois en temps réel : les réponses, les hallucinations détectées, le taux d'accuracy, les coûts par requête. Pas besoin de refresh, le dashboard est en Supabase Realtime.

Exemples de code

Python — SDK OpenAI officiel :

from openai import OpenAI

client = OpenAI(
    api_key="ignored",
    base_url="https://last20.fr/api/proxy",
    default_headers={
        "X-Last20-Key": "l20_xxxxxxxxxxxxxxxx",
        "X-OpenAI-Key": "sk-xxxxxxxxxxxxxxxx",
    },
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Bonjour, comment ça va ?"}],
)

print(response.choices[0].message.content)

JavaScript / TypeScript — SDK OpenAI officiel :

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "ignored",
  baseURL: "https://last20.fr/api/proxy",
  defaultHeaders: {
    "X-Last20-Key": "l20_xxxxxxxxxxxxxxxx",
    "X-OpenAI-Key": "sk-xxxxxxxxxxxxxxxx",
  },
});

const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Bonjour, comment ça va ?" }],
});

console.log(response.choices[0].message.content);

Dans les deux exemples, les 3 lignes qui changent sontapiKey, baseURL, defaultHeaders. Le reste de ton code — les messages, les outils, le streaming, les function calls — fonctionne exactement comme avant.

Ce que last20 détecte automatiquement

  • Hallucinations — détection par analyse sémantique de chaque réponse. Sévérité graduée : critique, haute, moyenne, basse.
  • Coûts anormaux — alerte immédiate si un agent dépasse son budget journalier configuré.
  • Tokens problématiques — phrases ou segments à forte probabilité d'être inventés, surlignés dans la réponse.
  • Dérive de qualité — baisse progressive du taux d'accuracy sur plusieurs jours, même si aucune réponse individuelle n'est critique.
  • Pics de latence — détection des ralentissements OpenAI avant qu'ils impactent tes utilisateurs.

Les alertes critiques arrivent par email dans la minute, avec un lien direct vers la réponse problématique et l'explication de la détection.

Prêt à voir ce que ton agent raconte vraiment ?

100 analyses gratuites par mois. Sans carte bancaire. 3 lignes à changer.

Commencer gratuitement →

Ce genre de problème ne devrait jamais arriver.

Avec le monitoring Last 20%, on détecte les problèmes avant tes utilisateurs. Uptime, sécurité, agents IA — tout est surveillé 24/7.