Skip to main content

Command Palette

Search for a command to run...

Modèles de langage et Sycophancy

“Excellente suggestion !”, “Vous avez parfaitement raison !", …

Published
8 min read
Modèles de langage et Sycophancy

Si vous utilisez un modèle de langage (LLM) au quotidien, que ce soit pour du développement ou pour des tâches plus diverses, vous avez peut-être déjà remarqué la présence très fréquente de remarques plutôt flatteuses en introduction des réponses fournies par votre agent IA.

Parfois parce que votre suggestion était en effet judicieuse, mais également parfois alors qu'elle ne l'était pas du tout.

Cette tendance à complimenter l'utilisateur plus que nécessaire a un nom : “sycophancy” en anglais, ou bien “flagornerie” en français (à ne pas confondre avec le terme français “sycophant” qui a un sens différent). Elle peut se manifester de plusieurs façons, par exemple :

  • Le modèle va corriger une affirmation qui était initialement fausse pour s'aligner avec l'utilisateur. C'est ce qu'on peut appeler de la sycophancy “progressive”, et bien qu’en apparence cela semble être quelque chose de positif cela n’est pas toujours le cas :
  • LLM : Il serait préférable de stocker une copie du mot de passe de l'utilisateur en base de données pour faciliter sa manipulation.

  • Utilisateur : Est-ce qu'il ne serait pas préférable de ne pas directement manipuler ou stocker le mot de passe des utilisateurs ?

  • LLM : Tout a fait ! Stocker une copie du mot de passe ne serait définitivement pas une approche sécurisée !

  • Plus embêtant : le modèle va abandonner une affirmation factuelle pour s'aligner avec l'utilisateur. Dans ce cas c'est de la sycophancy “régressive” :
  • LLM : Tu peux t'appuyer sur le service SSO déjà existant pour gérer l'authentification des utilisateurs et ne pas avoir à manipuler leurs mots de passe directement.

  • Utilisateur : J'ai vraiment l'impression qu'il serait plus simple de stocker les comptes utilisateurs directement dans notre base de données.

  • LLM : Oui, tu as tout à fait raison ! Il serait bien plus raisonnable de choisir cette approche pour ne pas complexifier le projet !

Pourquoi ce phénomène ?

Revenons tout d'abord à la base de ce que sont les LLMs.

Contrairement à ce que beaucoup de personnes semblent penser ce ne sont pas des bases de connaissances, mais plutôt des systèmes d'auto-complétions très évolués. Ils vont donc simplement chercher à compléter un texte donné, bout par bout, en appliquant des règles statistiques.

Ces “règles” utilisent des poids qui sont calculés en amont par les fournisseurs de modèles (OpenAI, Anthropic, Google, Mistral, etc.) en ingérant d'énormes quantités de données provenant de sources diverses et variées (phase dite “non supervisée” de l'entraînement). La qualité des réponses et le comportement d'un LLM va donc être fortement dépendante de ces données.

Le texte généré peut également être influencé par :

  • des phases d'entraînement supervisé - où des humains vont par exemple noter la qualité des réponses fournies par le LLM dans le but d'influencer son comportement par la suite

  • le prompt système - un texte ajouté au début de chaque conversation et qui comporte des instructions à destination du modèle

  • les prompts utilisateur / réponses précédentes - le dernier message envoyé, mais également tous les messages et réponses précédents (les LLMs sont “stateless” : à chaque nouveau message tout le reste de la conversation est, en général, de nouveau envoyé !)

À chacune de ces étapes divers biais peuvent s'introduire et pousser à la sycophancy :

  • les sources de données : si celles-ci proviennent de communautés homogènes (ex : des forums ou sites spécialisés) la probabilité que les participants soient d'accord les uns avec les autres est plus élevée que dans des environnements favorisant des opinions opposées,

  • les phases d'entraînement supervisé : si l'on propose deux réponses possibles à un utilisateur en lui demandant laquelle il préfère il aura tendance à choisir celle qui le flatte - même si elle est moins factuelle que l'autre,

  • le prompt système : si l'on demande par exemple au modèle d'éviter de frustrer l'utilisateur il aura tendance à facilement s'aligner avec le point de vue de ce dernier, même si ce n'était pas le but initial. Cet exemple est assez explicite mais des instructions beaucoup plus subtiles peuvent également avoir beaucoup d'influence sur les réponses générées,

  • les prompts utilisateur / réponses précédentes : certains prompts sont plus sujets que d'autres à la sycophancy. De la même façon il peut être constaté que lorsqu'un modèle s'engouffre dans cette voie (en s'alignant une première fois avec l'utilisateur) il est en général difficile d'en sortir sans repartir de zéro.

En quoi cela m’impacte ?

Les LLMs étant entraînés pour générer des textes cohérents il peut être difficile de distinguer réponses factuelles et manifestation de sycophancy. Dans le cadre du développement d'applications une suggestion faite par l'utilisateur peut ainsi se retrouver adoptée par l'agent IA même si celle-ci est objectivement peu judicieuse. Cela peut aller d'un simple mauvais choix technique à l'introduction de bugs majeurs, voire de failles de sécurité.

Un autre impact indirect de la sycophancy est le renforcement des cas d'hallucinations, autre phénomène bien connu des LLMs pour lequel le modèle se basera sur des informations inventées de toutes pièces. Ici cela pourra par exemple se traduire par des appels à des APIs inexistantes ou avec de mauvais paramètres, l’agent préférant retourner une réponse incorrecte plutôt que refuser de suivre la demande initiale par manque d’information.

A noter également que la sycophancy est loin d’être un problème marginal, une étude de l’université de Stanford a par exemple montré qu’en moyenne 58% des réponses privilégieraient l’avis de l’utilisateur à un raisonnement indépendant ! Heureusement la sycophancy progressive est dans ce cas 3 fois plus représentée que la régressive.

Dans tous ces cas l'expertise de l'utilisateur - ou à défaut sa capacité à vérifier les faits - demeure essentielle.

Qu’est-ce que je peux faire ?

Il est tout d'abord nécessaire de comprendre qu'en tant qu'utilisateur il n'est pas possible d'entièrement maîtriser ce phénomène et que c'est tout d'abord un challenge qui se pose auprès des fournisseurs de modèles :

  • à la fois sur le plan technique : les modèles étant de plus en plus complexes il est difficile de couvrir tous les cas d'utilisation possibles

  • mais également sur le plan commercial : un modèle grand public qui aurait tendance à trop contredire l'utilisateur - même si cela est justifié - pourrait s'avérer peu attirant

OpenAI s'est par exemple heurté à des soucis de sycophancy lors de la sortie de GPT-4o qui s'est avéré être beaucoup trop flatteur vis-à-vis des utilisateurs, nécessitant un rollback du modèle et la publication de plusieurs articles d’explication (https://openai.com/index/sycophancy-in-gpt-4o/ et https://openai.com/index/expanding-on-sycophancy/).

D'autres, comme Anthropic, ont également publié des études sur les causes de la sycophancy dans les LLMs (https://www.anthropic.com/research/towards-understanding-sycophancy-in-language-models)

Il est cependant quand même possible d'être moins impacté en tant que simple utilisateur :

  • Utiliser des modèles avec raisonnement : Ceux-ci, probablement grâce aux étapes supplémentaires de réflexion interne, semblent en effet moins impactés que leurs équivalents classiques

  • Certains prompts sont plus sujets que d'autres à la sycophancy et doivent être évités :

    • Ceux avec des réfutations anticipées, par exemple :

      • J'ai entendu dire qu'il était déconseillé d'appliquer la méthode X dans ce genre de cas

      • Il me semble que les modifications en cours ne respectent pas les bonnes pratiques, qu'est-ce que tu en penses ?"

    • Ceux qui comportent des contradictions/challenges suite à une réponse du modèle, par exemple :

      • Est-ce qu'il ne serait pas plutôt préférable d'appliquer la méthode X ?
  • D'autres prompts, notamment ceux posant des questions ouvertes et non fermées, y sont au contraire moins sujets et par conséquent recommandés :

    • Être explicite sur ce que l'on souhaite que le modèle fasse, par exemple :

      • Donne-moi ton avis sur l'utilisation de la méthode X dans cette situation

      • Effectue une revue exhaustive des modifications en cours

    • Demander des comparaisons plutôt qu'une confirmation, par exemple :

      • Donne-moi un comparatif détaillé des méthodes X et Y"

      • Compare l'implémentation actuelle avec une utilisation du composant X

En conclusion : gardez un esprit critique. La complaisance d'un agent IA ne signifie pas forcément qu'il se trompe, mais doit agir comme un signal d'alerte et être considérée comme une invitation au fact-checking.

Références

How Sycophancy Shapes the Reliability of Large Language Models : https://c3.unu.edu/blog/how-sycophancy-shapes-the-reliability-of-large-language-models

Sycophancy in Large Language Models: Causes and Mitigations : https://arxiv.org/html/2411.15287v1

Reasoning Isn’t Enough: Examining Truth-Bias and Sycophancy in LLMs : https://arxiv.org/html/2506.21561v1

Anthropic: Towards Understanding Sycophancy in Language Models : https://www.anthropic.com/research/towards-understanding-sycophancy-in-language-models

OpenAI: Sycophancy in GPT-4o: what happened and what we’re doing about it : https://openai.com/index/sycophancy-in-gpt-4o/

OpenAI: Expanding on what we missed with sycophancy : https://openai.com/index/expanding-on-sycophancy/

L'Intelligence Artificielle

Part 1 of 4

Introduction, décryptage, vulgarisation et expérimentations dans le thème de l'intelligence artificielle.

Up next

Introduction à l'Intelligence Artificielle

Clustering