La magie des LLM peut nous inciter à ne pas effectuer de tests, mais les évaluations sont essentielles pour une mise en production en toute confiance.
Imaginez que vous créez un prototype de générateur de thèmes Web. Il s'agit d'un outil amusant : dans une application Web, un utilisateur saisit le nom et la description d'une entreprise, une audience cible, ainsi qu'un ton et une ambiance. Le frontend envoie ces informations à votre serveur. Votre serveur utilise un grand modèle de langage (LLM) pour générer un slogan créatif qui correspond au ton et à l'ambiance attendus, ainsi qu'une palette de couleurs accessible et alignée sur la marque. Il renvoie ces données sous la forme d'un petit objet JSON.
Nous appellerons cette application ThemeBuilder.
Vous choisissez un LLM de base et itérez sur le prompt. Votre concepteur interne apprécie les palettes de couleurs, et les slogans sont accrocheurs.
Vous vous posez alors les questions suivantes :
- L'application est-elle prête pour la production ? Vous ne savez pas si la qualité de la sortie de votre application est suffisamment cohérente. Certains testeurs internes signalent des palettes défectueuses ou des slogans qui ne correspondent pas à la marque. Lorsque vous corrigez un problème, deux autres bugs apparaissent.
- Puis-je changer de modèle ? Vous pouvez passer à la dernière version du même LLM pour réduire la latence ou passer d'un service géré à un modèle auto-hébergé pour réduire les coûts. Vous ne savez pas si cela améliorera ou détériorera la sortie de votre application, et vous n'avez aucun moyen de tester les régressions.
- La mise en production est-elle sûre ? Quelqu'un a signalé une sortie toxique une fois, mais vous ne parvenez pas à la reproduire. Est-ce un hasard ou devez-vous bloquer le lancement ?
Votre équipe arrête le lancement, car la qualité de la sortie du LLM varie trop. Il est difficile de se sentir suffisamment confiant pour mettre en production sans tests.
Pourquoi deviner au lieu de tester ?
Lorsque vous créez une application avec l'IA pour la première fois, il est tentant d'examiner quelques sorties, de décider qu'elles semblent correctes et de passer à autre chose. Pourquoi vous fier à votre intuition plutôt qu'à des mesures et des données ?
Vous le faites probablement parce que les LLM sont probabilistes plutôt que déterministes. Cela signifie que même si vous fournissez le même nom d'entreprise, la même description, la même audience et le même ton, ThemeBuilder peut générer un slogan et une palette de couleurs différents.
Il n'existe pas de réponse unique à la question de savoir ce qu'est un slogan percutant ou une palette de couleurs adaptée à la marque.
La créativité des LLM est excellente. Mais le non-déterminisme semble en contradiction avec l'idée d'ingénierie. Vous pouvez donc conclure que les applications basées sur des LLM sont probablement impossibles à tester.
Les évaluations à la rescousse

Dans le monde des LLM, les bonnes pratiques de développement restent valables. Nous pouvons et devons tester nos applications basées sur des LLM. Nous avons juste besoin de techniques différentes. Ces techniques sont appelées évaluations. Les évaluations impliquent de nouveaux workflows, mais votre expertise en matière de tests existante est directement applicable à la création d'évaluations de qualité.
Les évaluations sont des tests pour vos fonctionnalités d'IA. Ces tests vous aident à créer une boucle de rétroaction clé : si vous créez un pipeline d'évaluations robuste, vos fonctionnalités basées sur des LLM fonctionneront correctement pour vos utilisateurs. Votre équipe pourra alors mettre en production vos fonctionnalités en toute confiance.
Si vous créez des applications avec des LLM, apprendre à implémenter des évaluations robustes est l'une des meilleures façons d'utiliser votre temps.
Découvrez maintenant les évaluations.