← Derniers articles
💬 NLP

Library Hallucinations in LLM-Generated Code: A Risk Analysis Grounded in Developer Queries

Cet article présente la première étude systématique de la manière dont des variations réalistes de prompts de développeur, telles que des fautes d'orthographe et des noms fictifs, déclenchent des hallucinations de bibliothèques dans le code généré par les LLM, révélant des vulnérabilités significatives et introduisant le benchmark LibHalluBench pour permettre une évaluation et une atténuation reproductibles de ces risques.

Auteurs originaux : Lukas Twist, Jie M. Zhang, Mark Harman, Helen Yannakoudakis

Publié 2026-05-20
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Lukas Twist, Jie M. Zhang, Mark Harman, Helen Yannakoudakis

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 ayez un assistant très talentueux, confiant, mais légèrement oublieux, qui est un expert en écriture de code informatique. Vous lui demandez de créer un outil spécifique, et il commence joyeusement à taper. Cependant, cet assistant a une habitude dangereuse : parfois, lorsqu'il ne connaît pas le nom exact de l'outil dont il a besoin, il en invente un. Il crée une bibliothèque (une collection de code préfabriquée) qui n'existe pas, mais il l'écrit avec une telle assurance que vous pourriez ne pas réaliser qu'elle est fictive jusqu'à ce que vous essayiez de l'utiliser et qu'elle échoue.

Ce document plonge en profondeur dans pourquoi cet assistant invente ces outils fictifs, spécifiquement lorsque vous lui donnez des instructions légèrement différentes ou que vous commettez de petites erreurs.

Voici la décomposition de leurs découvertes à l'aide d'analogies simples :

1. Le piège du « Voyage dans le temps »

Les chercheurs ont découvert que si vous demandez à votre assistant un outil « de 2025 » (une année qui n'est pas encore arrivée ou qui dépasse sa formation), l'assistant devient très nerveux et commence à halluciner de manière sauvage.

  • L'analogie : Imaginez demander à un bibliothécaire un livre publié dans le futur. Au lieu de dire « Je n'ai pas cela », le bibliothécaire pourrait inventer un titre, une couverture et un résumé qui semblent parfaits mais qui n'existent pas.
  • Le résultat : Lorsqu'on lui demande des bibliothèques « de 2025 », jusqu'à 85 % du temps, l'assistant invente une fausse bibliothèque. Il est terrible pour connaître sa propre « date de coupure des connaissances » (la date à laquelle il a cessé d'apprendre).

2. Le piège de la « Faute de frappe » (Orthographe négligente)

Si vous faites accidentellement une faute de frappe dans le nom d'une vraie bibliothèque, l'assistant ne vous corrige souvent pas. Au lieu de cela, il s'entête et fait semblant que la version mal orthographiée est réelle.

  • L'analogie : Imaginez demander à un chef « Spagetti » (en oubliant le 'h'). Au lieu de dire « Voulez-vous dire Spaghetti ? », le chef pourrait simplement prendre une boîte étiquetée « Spagetti » sur une étagère qu'il a inventée, ou pire, il pourrait inventer un nouveau plat appelé « Spagetti » qui n'existe pas.
  • Le résultat :
    • Une faute de frappe d'une lettre (comme numpi au lieu de numpy) a entraîné l'utilisation de fausses bibliothèques dans 26 % des cas.
    • Un nom de bibliothèque fictif (quelque chose qui semble réel mais ne l'est pas, comme « GaussianTools ») a été accepté et utilisé dans jusqu'à 99 % des cas. L'assistant est si désireux de vous satisfaire qu'il utilisera un outil fictif plutôt que de vous dire qu'il n'existe pas.

3. Le piège de l'« Adjectif » (Ce qui ne fonctionne pas)

Curieusement, si vous demandez une bibliothèque qui est « rapide », « facile » ou « moderne », l'assistant ignore généralement ces mots et choisit simplement une bibliothèque standard et réelle qu'il connaît.

  • L'analogie : Si vous demandez une « voiture rapide », l'assistant vous donne simplement une Toyota standard. Il n'invente pas une « voiture volante super-rapide » car il sait que ces adjectifs sont vagues.
  • Le résultat : Les adjectifs comme « rapide » ou « léger » ont rarement provoqué des hallucinations. Le danger provient de contraintes spécifiques (comme des dates) ou d'erreurs (comme des fautes de frappe).

4. Le piège du « Raisonnement » (Penser trop fort)

Les chercheurs ont tenté de résoudre ce problème en demandant à l'assistant de « réfléchir étape par étape » ou de « vérifier vos faits » avant de répondre.

  • L'analogie : C'est comme dire à un élève nerveux « Respire un grand coup et réfléchis bien à ce problème de mathématiques ». Parfois, cela aide. Mais souvent, l'élève devient simplement plus confiant dans sa mauvaise réponse parce qu'il a passé plus de temps à la justifier.
  • Le résultat : Ces « astuces » de raisonnement n'ont pas fonctionné de manière cohérente. En fait, elles ont parfois rendu les hallucinations pires. L'assistant expliquait avec assurance pourquoi sa fausse bibliothèque était réelle, rendant plus difficile pour vous de repérer l'erreur.

5. La solution « Outil » (Vérifier l'annuaire téléphonique)

Les chercheurs ont testé la fourniture d'un outil simple à l'assistant : un bouton qui vérifie si une bibliothèque existe réellement dans la base de données officielle (PyPI).

  • L'analogie : Au lieu que l'assistant devine, vous lui donnez un annuaire téléphonique. S'il dit « J'utiliserai Spagetti », il consulte le livre, voit qu'il n'y est pas, puis dit « Oh, cela n'existe pas ».
  • Le résultat : Cela a beaucoup aidé, mais ce n'était pas une solution magique. L'assistant oubliait encore parfois de consulter le livre, ou le consultait mais décidait d'ignorer le résultat et d'utiliser le nom fictif de toute façon.

La grande conclusion : LIBHALLUBENCH

Parce que c'est un problème si important, les auteurs ont créé un nouveau test appelé LIBHALLUBENCH.

  • L'analogie : Pensez-y comme à un « permis de conduire » spécifiquement conçu pour voir si une voiture autonome va halluciner un faux panneau d'arrêt. Il contient des milliers de questions pièges (comme « donnez-moi une bibliothèque de 2025 » ou « utilisez ce nom mal orthographié ») pour tester systématiquement la probabilité que différents modèles d'IA inventent de faux outils.

Pourquoi devriez-vous vous en soucier ?

Si vous êtes un développeur utilisant l'IA pour écrire du code, et que l'IA invente une fausse bibliothèque, votre code plantera lorsque vous essayerez de l'exécuter. Pire encore, si un pirate crée une fausse bibliothèque qui correspond à celle inventée par l'IA (une astuce appelée « slopsquatting »), votre système pourrait être infecté par un logiciel malveillant.

En bref : Les générateurs de code par IA sont excellents, mais ils sont dangereusement confiants lorsqu'ils ne connaissent pas la réponse. Ils inventeront de faux outils pour satisfaire votre demande, surtout si vous demandez quelque chose du futur ou si vous faites une petite faute de frappe. Nous avons besoin de meilleures façons de les empêcher d'inventer des choses.

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.

Essayer Digest →