Le problĂšme principal
Imagine que tu as dĂ©veloppĂ© un chatbot. Le systĂšme tourne, les premiĂšres dĂ©mos sont prometteuses, les parties prenantes sont enthousiastes. Trois mois aprĂšs le lancement, tu regardes les statistiques dâutilisation⊠et elles sont dĂ©cevantes. Les gens utilisent Ă peine le bot et quand câest le cas, surtout pour des questions triviales.
Que sâest-il passĂ©?
Le problĂšme nâest pas que le bot donne de mauvaises rĂ©ponses, mais que personne ne lui fait confiance. Un chatbot auquel on ne fait pas confiance ne fait pas gagner du temps, il en fait perdre. Les utilisateur·rice·s doivent vĂ©rifier chaque rĂ©ponse, recouper, chercher ailleurs. Dans ce cas, il est du coup plus simple de fouiller directement dans les documents.
La confiance nâest pas un «nice to have», mais la condition de base pour lâadoption. Et la confiance ne naĂźt pas de grandes promesses ou de jolis screenshots. Elle naĂźt dâune qualitĂ© dĂ©montrable et mesurable, par lâĂ©valuation.
Le client doit savoir ce quâil veut
Quand je parle de chatbots avec des client·e·s, jâentends souvent: «nous voulons que le bot donne de bonnes rĂ©ponses.»
Ăa paraĂźt raisonnable, mais comme exigence, câest beaucoup trop flou. Quâest-ce que «bon» veut dire, au juste?
- Le bot doit-il plutÎt donner une réponse incomplÚte mais correcte, ou une réponse détaillée avec 95% de justesse?
- A-t-il le droit de dire «Je ne sais pas», ou doit-il toujours essayer de répondre?
- Quel ton est souhaité: factuel-formel ou plutÎt chaleureux-personnel?
- Comment gĂšre-t-il des informations contradictoires dans les sources?
- Ă quel niveau de dĂ©tail les rĂ©ponses doivent-elles ĂȘtre: simple rĂ©sumĂ© ou information complĂšte?
Ces questions, Ă priori banales, dĂ©finissent si un chatbot est «bon» ou non. Souvent, les client·e·s ignorent leur besoin, jusquâau moment de voir de mauvais exemples. Câest pour ça que lâon a besoin dâĂ©valuations humaines.
Ăvaluations humaines: vraiment comprendre le client
Passons au concret. Les exigences sont clarifiĂ©es, le pĂ©rimĂštre est dĂ©fini. Il sâagit maintenant de comprendre ce que «bon» veut dire dans la pratique. Mais comment le dĂ©couvrir?
La rĂ©ponse: dâabord manuellement.
Je sais, dans un monde dâIA, de "LLM-as-a-Judge" et de mĂ©triques automatisĂ©es, ça paraĂźt un peu old school. Mais on ne peut pas construire une Ă©valuation automatisĂ©e si lâon ne sait pas ce quâil faut Ă©valuer. Et ça, on ne le dĂ©couvre quâen laissant de vraies personnes Ă©valuer de vraies rĂ©ponses.
Constituer un jeu dâĂ©valuation et dĂ©finir les dimensions de qualitĂ©
Dâabord, il faut des questions reprĂ©sentatives, entre 50 et 200, idĂ©alement de vraies questions dâutilisateur·rice·s. Pas les exemples de dĂ©mo faciles, mais des questions du quotidien:
- Questions standard frĂ©quentes: «comment puis-je me connecter?», «oĂč se trouve lâurgence?»
- Cas limites: «quand dois-je saisir mes vacances en tant quâemployé·e de lâadministration?», «donne-moi une bonne recette de pizza»
- Questions ambiguës: «comment puis-je me connecter?»
- Questions qui ne peuvent pas ĂȘtre rĂ©pondues Ă partir des documents: «Berne est-elle meilleure que BĂąle?», «Qui est Margaret Thatcher?»
Pour chaque question, une rĂ©ponse est gĂ©nĂ©rĂ©e. En parallĂšle, lâĂ©quipe principale (et idĂ©alement dâautres parties prenantes) dĂ©finit les dimensions dâĂ©valuation, toutes les dimensions nâayant pas la mĂȘme importance dans chaque contexte.
En général, nous utilisons les critÚres suivants:
- Exactitude: lâinformation est-elle correcte? Existe-t-il seulement un vrai/faux
- ExhaustivitĂ©: lâinformation est-elle complĂšte? Des aspects importants manquent-ils?
- TonalitĂ©: le ton correspond-il Ă ce que nous voulons? (Pour ça, Textmate peut aussi ĂȘtre trĂšs utile.)
Ăvaluer
Vient ensuite la partie fastidieuse: plusieurs personnes Ă©valuent chaque paire questionârĂ©ponse selon les dimensions dĂ©finies.
- Bon/pas bon: pour chaque dimension, on décide si la réponse est «bonne» ou non.
- Justification: chaque Ă©valuation doit ĂȘtre justifiĂ©e. Ăa peut sembler lourd, mais câest essentiel: câest comme ça quâĂ©merge une comprĂ©hension commune de ce qui est «bon».
- Ăvaluation Ă lâaveugle: les Ă©valuateur·rice·s ne devraient pas voir ce que les autres ont notĂ©. Si les rĂ©sultats divergent fortement, câest que les critĂšres sont trop flous.
- Discussion: en cas de divergences, une discussion commune aide. Ces échanges sont souvent la partie la plus précieuse du processus.
AprĂšs 50 Ă 100 exemples Ă©valuĂ©s, on obtient une image claire de la situation de dĂ©part et, la plupart du temps, aussi de ce quâil reste Ă faire.
Les outils pour passer Ă lâĂ©chelle supĂ©rieure
Mais lâĂ©valuation manuelle a ses limites quand il sâagit de passer Ă lâĂ©chelle supĂ©rieure. En effet, Ă©valuer 100 questions Ă la main, câest faisable. 1'000, câest pĂ©nible. 10'000 en monitoring continu? Mission impossible.
Câest lĂ que les outils entrent en jeu.
"LLM-as-a-Judge": le principe
LâidĂ©e est simple: un LLM Ă©value les rĂ©ponses du chatbot selon des critĂšres dĂ©finis. En rĂ©sumĂ©, il lui faut:
- La question
- La réponse de ton systÚme
- Le gold standard (à quoi la réponse devrait idéalement ressembler)
Lâ«évaluateur» fournit ensuite un verdict et une justification.
Le plus gros risque: remplacer un problĂšme (Ă©valuer le chatbot) par un autre (Ă©valuer lâĂ©valuateur). Câest pour ça que lâĂ©valuation automatisĂ©e doit ĂȘtre calibrĂ©e. Pour cela, nous prenons en gĂ©nĂ©ral 50 Ă 100 exemples Ă©valuĂ©s manuellement et les soumettons en plus au LLM. Si les rĂ©sultats concordent, le Judge fonctionne de maniĂšre fiable.
Ensuite commence lâamĂ©lioration continue, mais nous en parlerons une autre fois. Au bout de ce cycle dâamĂ©liorations vient le grand moment: le go-live.
Go-live et monitoring continu
Nous recommandons de faire le go-live sans grande annonce dans un premier temps. Ainsi, le chatbot peut ĂȘtre encore amĂ©liorĂ© au cours des premiers jours, sur la base des vraies questions des utilisateur·rice·s.
Le travail nâest pour autant pas terminĂ©: lâĂ©valuation continue est essentielle. Des mĂ©triques particuliĂšrement utiles sont par exemple:
- La part de questions non répondues
- La groundedness (en gros: le bot hallucine-t-il ou les faits proviennent-ils des sources?)
- Des échantillons contrÎlés par des humain·e·s, surtout en cas de mauvaise évaluation ou de manque de groundedness
- Et pour finir, mais pas des moindres: le feedback des utilisateur·rice·s.
Avec des mĂ©triques faciles Ă comprendre, il est possible de surveiller sĂ©rieusement un chatbot, mĂȘme avec 10'000 questions ou plus, sans devoir vĂ©rifier chaque question individuellement.
LâĂ©valuation nâest pas un «nice to have»
La diffĂ©rence entre un chatbot qui fonctionne et un chatbot qui foire ne rĂ©side pas dans le meilleur modĂšle dâembedding, dans le dernier LLM ou dans lâalgorithme de retrieval le plus pertinent.
Elle rĂ©side dans la volontĂ© dâinvestir du temps dans lâĂ©valuation.
Dans des évaluations humaines.
Dans du monitoring automatisé.
Dans une amélioration continue.
Câest seulement ainsi que naĂźt la confiance, Ă la base de toute adoption.