Skip to content
Berktug Berke Ates
Berktug Berke Ates

Ingénieur logiciel

Blog

Stratégies de test pour les fonctionnalités alimentées par l'IA

· 7 min de lecture

Les tests déterministes comptent encore. Associez-les à l'évaluation pour les parties probabilistes.

Séparer déterministe et probabiliste

Une grande partie d'une fonctionnalité IA reste du logiciel ordinaire : authentification, validation d'entrée, requêtes de retrieval, rate limits, persistance et rendu UI. Ces couches méritent des tests unitaires et d'intégration classiques avec fixtures fixes. Ne les affaiblissez pas parce qu'un modèle est au milieu.

L'étape générative demande une approche différente. Le matching exact de chaînes sur des réponses libres crée des suites flaky. Testez le contrat autour du modèle et évaluez les sorties contre les propriétés produit.

Stubber sagement en intégration continue

Appeler des modèles live à chaque pull request est lent, cher et non déterministe. Utilisez des fixtures enregistrées ou des stubs déterministes pour les pipelines PR, et exécutez des suites d'évaluation plus larges selon un calendrier ou quand prompts, modèles ou logique de retrieval changent.

En stubbing, préservez latence et modes d'échec réalistes. Des tests qui ne voient que des réponses modèle parfaites ne protégeront pas la gestion des timeouts ni les chemins de sortie malformée.

  • Asserttez le schéma de sortie avant le rendu
  • Golden-filez les réponses ancrées critiques
  • Simulez un retrieval vide et des échecs d'outils
  • Conditionnez les merges aux tests de contrat, pas à la créativité du modèle

Ajouter de la confiance au niveau parcours

Les tests end-to-end doivent vérifier qu'un utilisateur peut terminer le parcours assisté par IA : entrer une demande, voir une réponse validée, récupérer d'un refus et escalader si besoin. Gardez ces parcours peu nombreux et stables.

Associez les parcours automatisés à une revue humaine périodique d'échantillons de sorties de production. Le quality engineering pour l'IA est un mélange de discipline logicielle et de goût produit.

Rendre l'échec actionnable

Un test IA en échec doit indiquer si le schéma a cassé, si le retrieval a manqué, si la politique a refusé à tort, ou si les scores d'évaluation ont chuté. Des builds rouges vagues entraînent les équipes à les ignorer.

Le but de tester les fonctionnalités IA n'est pas de prétendre que les modèles sont déterministes. C'est de garder les composants probabilistes dans un système qui reste opérable, revuable et sûr à faire évoluer.


Publié le 16 avril 2024 par Berktug Berke Ates.