Reducing Hallucinations in LLM-Generated Code via Semantic Triangulation
Ce papier présente la triangulation sémantique, un cadre théorique qui réduit les hallucinations dans le code généré par les LLM en vérifiant la cohérence entre des solutions à un problème original et à une variante dissociative, améliorant ainsi significativement la sélection de programmes corrects par rapport aux méthodes existantes.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous demandez à un groupe d'assistants très intelligents, mais parfois un peu rêveurs (ce sont les Modèles de Langage, ou LLM), de rédiger un code informatique pour vous. Le problème ? Parfois, ces assistants inventent des solutions qui semblent plausibles mais qui sont en réalité fausses. C'est ce qu'on appelle une hallucination.
Dans le monde du code, si vous demandez à 10 assistants de résoudre le même problème, ils vont souvent tous faire la même erreur en même temps. C'est comme si 10 suspects avaient répété ensemble le même faux alibi. Si vous leur demandez : « Qui est innocent ? » et que vous choisissez celui que la majorité soutient (la méthode classique), vous allez choisir le menteur, car tout le monde ment de la même façon !
Les chercheurs de cet article (de l'Université de Pékin et d'autres) ont inventé une méthode géniale pour démasquer ces menteurs. Ils l'appellent la Triangulation Sémantique.
Voici comment ça marche, avec une analogie simple :
1. Le Problème : Le Faux Alibi Collectif
Imaginez que vous êtes un détective. Vous avez un suspect (le code généré) qui dit : « J'ai volé le gâteau à 14h ».
- L'ancienne méthode (Vote majoritaire) : Vous interrogez 10 autres témoins (d'autres codes générés). Ils disent tous : « Oui, il était là à 14h ! ». Vous pensez donc qu'il est innocent.
- La réalité : Ces témoins sont aussi des assistants IA. Ils ont tous « halluciné » la même histoire. Ils se sont tous trompés de la même manière. Votre vote majoritaire ne fait que renforcer le mensonge.
2. La Solution : La Triangulation (Le Détective Astucieux)
Au lieu de demander aux témoins de répéter la même histoire, le détective astucieux (notre outil just-tri-it) change radicalement l'angle d'attaque. Il ne demande pas « Qu'avez-vous fait à 14h ? ». Il pose une question totalement différente, mais liée : « Si vous aviez volé le gâteau, quel serait le poids exact du gâteau une fois mangé ? » ou « Pouvez-vous dessiner le chemin que vous avez emprunté pour revenir en arrière ? ».
C'est ce qu'ils appellent une transformation dissociative.
- Pour résoudre le problème original, l'IA doit utiliser une certaine logique (comme un imprimeur).
- Pour résoudre le problème inversé (le nouveau), elle doit utiliser une logique totalement différente (comme un scanner ou un détective).
3. Pourquoi ça marche ?
Si l'IA a vraiment compris la vérité (le code est correct) :
- Elle réussira le premier problème.
- Elle réussira aussi le deuxième problème (l'inverse), car la vérité est cohérente.
- Les deux réponses s'aligneront parfaitement.
Si l'IA a menti (hallucination) :
- Elle a inventé une histoire pour le premier problème.
- Mais quand on lui demande de faire l'inverse, son cerveau « rêveur » va essayer d'inventer une nouvelle histoire qui ne colle pas avec la première.
- Résultat : Les deux réponses ne s'alignent pas. Le mensonge est démasqué !
Les 3 Astuces du Détective (Méthodes concrètes)
L'article propose trois façons de poser ces questions inversées :
- L'Inversion (Le Miroir) : Au lieu de demander « Comment transformer A en B ? », on demande « Comment transformer B pour retrouver A ? ». C'est comme demander à un cuisinier de vous dire comment il a fait un gâteau, puis de lui demander de reconstruire les ingrédients à partir du gâteau fini.
- L'Énumération (La Liste Complète) : Au lieu de demander « Un seul gâteau possible », on demande « Donnez-moi TOUS les gâteaux possibles ». C'est plus difficile, mais si l'IA réussit à lister tout, c'est qu'elle comprend vraiment la recette.
- La Décomposition (Le Puzzle) : On coupe le problème en petits morceaux. Si l'IA réussit chaque petit morceau, elle a de grandes chances d'avoir réussi le grand puzzle.
Le Résultat Magique
En testant cette méthode sur des milliers de problèmes de programmation difficiles, les chercheurs ont découvert que :
- Ils réussissent à trouver le bon code même quand l'IA a très peu de chances de le trouver au premier coup (parfois moins de 7 % de chances !).
- Ils sont beaucoup plus fiables que les méthodes actuelles qui utilisent des tests générés par l'IA (car ces tests sont souvent aussi faux que le code !).
- L'outil sait aussi dire « Je ne sais pas » (abstention) quand il n'est pas sûr, évitant ainsi de donner un code dangereux.
En Résumé
Imaginez que vous ne faites plus confiance à un seul témoin, ni même à un groupe de témoins qui se copient. Vous leur posez une question piège, dans un sens différent. Si leur histoire tient la route dans les deux sens, c'est qu'ils disent la vérité. Sinon, c'est qu'ils rêvent.
C'est une méthode mathématiquement prouvée pour transformer les « rêves » des IA en code fiable, en utilisant la logique de la triangulation : si deux chemins différents mènent au même point, c'est que vous êtes sur la bonne voie.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.