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.

  1. Bon/pas bon: pour chaque dimension, on décide si la réponse est «bonne» ou non.
  2. 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».
  3. É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.
  4. 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:

  1. La question
  2. La réponse de ton systÚme
  3. 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.