L'agent IA que j'ai déployé a passé 23 tests unitaires, mais moins d'une heure après sa mise en ligne, il a inventé une fonctionnalité produit et a cité un prix trois fois inférieur à la réalité. Lorsque l'utilisateur l'a repris, le bot a persisté, la conversation s'est terminée et j'ai perdu un client. Cette erreur a prouvé qu'une suite de tests unitaires déterministes ne peut garantir la fiabilité d'un agent.

Pourquoi les tests unitaires sont insuffisants pour les agents IA

Les tests unitaires fonctionnent pour le code traditionnel car la même entrée produit toujours la même sortie. « 2 + 2 = 4 » est une garantie que l'on peut vérifier avec un simple test d'égalité. Un agent piloté par un LLM, en revanche, modifie sa sortie en fonction du prompt, du contexte environnant et de l'état de tout outil externe qu'il appelle. Un test qui vérifie l'égalité exacte de chaînes de caractères passe à côté des hallucinations, des changements de ton ou des violations de garde-fous. L'échec silencieux qui m'a coûté un client montre qu'il faut évaluer l'interaction dans son ensemble, et non seulement des fonctions isolées.

Construire un harnais d'évaluation avant tout code de fonctionnalité

J'ai inversé l'ordre de développement : concevoir d'abord un harnais d'évaluation à quatre couches, puis écrire l'agent. Le harnais exécute 131 tests en une seule passe, coûte environ trois cents de dollar par exécution et se termine en environ onze minutes. J'attribue chaque test au plus petit modèle capable de le gérer, en réservant les modèles plus grands et plus coûteux aux moments où ils apportent une réelle valeur ajoutée.

Couche 1 – Fonctionnalité des outils

La première ligne de défense vérifie si l'agent peut appeler ses outils correctement. Les tests couvrent les recherches réussies, les requêtes délibérément malformées et les simulations d'échecs d'API. Comme l'utilisation des outils est largement déterministe — soit la requête est correctement formée, soit l'API renvoie une erreur — de simples assertions Python suffisent. Détecter une requête malformée à ce stade évite les confusions en aval.

Couche 2 – Respect des instructions

Ensuite, le harnais vérifie que l'agent respecte les garde-fous. Un LLM plus petit agit comme évaluateur, analysant la réponse de l'agent pour vérifier sa conformité : rester dans son personnage, éviter les sujets interdits et émettre le schéma JSON requis. Cette couche détecte la dérive sémantique que les tests unitaires ignorent, comme le glissement vers une personnalité non voulue ou la fuite de prompts internes.

Couche 3 – Comportement orienté vers l'objectif

La troisième couche est la plus critique. Elle demande si l'agent remplit réellement sa mission. Pour un bot de génération de leads, cela signifie confirmer qu'il pose les bonnes questions de qualification et qu'il passe la main à un humain lorsque c'est approprié. J'utilise ici un modèle orienté raisonnement car il peut évaluer le flux global sans gonfler les coûts. Si le bot ne parvient pas à atteindre son objectif — même s'il réussit les deux premières couches — il est signalé pour une refonte.

Couche 4 – Performance

Enfin, le harnais enregistre la latence et la vitesse de génération de tokens. Des réponses lentes dégradent l'expérience utilisateur, surtout dans un chat en temps réel. En suivant ces métriques parallèlement à la justesse fonctionnelle, je m'assure que l'agent est à la fois précis et réactif.

Choix d'économies de coûts

Le chiffre de 0,03 $ par exécution n'est pas un argument marketing ; il provient de l'adéquation entre la complexité des tests et la taille du modèle. Les vérifications d'outils déterministes s'exécutent sur l'environnement d'exécution le moins cher, la conformité des instructions utilise un modèle léger, et seules les évaluations orientées vers l'objectif invoquent un modèle plus capable, bien que plus coûteux. Cette approche par paliers maintient les dépenses totales suffisamment basses pour exécuter la suite complète à chaque modification de code.

Le compromis : vitesse contre sécurité

L'introduction d'un harnais a ajouté une friction initiale. Les cycles de développement se sont allongés et le calendrier de lancement a glissé.

À surveiller ensuite

  • Évaluateurs pilotés par des modèles : À mesure que les LLM s'améliorent, l'évaluateur de la couche 2 pourra devenir plus nuancé, réduisant les faux positifs tout en détectant des violations de politique subtiles.

À retenir

Si vous construisez des agents IA pour la production, un harnais d'évaluation multicouche n'est pas optionnel ; il est fondamental. En anticipant le coût de tests complets — 0,03 $ par exécution, onze minutes par suite — vous vous protégez contre les échecs silencieux que les tests unitaires ne peuvent tout simplement pas détecter.