J’aime vraiment bien ce point, c’est quelque chose auquel on s’identifie tous
Ce n’est pas seulement une habitude de langage, les réponses qui commencent par « You're right! » relèvent du mécanisme d’alignement des LLM
Comme les LLM prédisent le token suivant, ils ont tendance à enchaîner avec des suggestions qui correspondent davantage à ce que veut l’utilisateur, au lieu de s’accrocher à l’approche précédente
Une autre que j’aime bien, c’est « Actually, that's not right. »
Ça arrive quand l’agent a fini ses appels d’outils puis passe par une étape d’auto-vérification
Après des réponses du genre « voilà ce que j’ai fait », dès qu’il voit une erreur, un changement d’approche du type « Actually, ... » apparaît
Ce message ne contient que l’essentiel du changement de méthode, ce qui aide aussi à réorienter correctement les appels d’outils suivants
Je suis convaincu que les développeurs d’agents, tout comme nous, passent leur temps à se battre avec les LLM
C’est probablement pour ça que les LLM disent souvent « Ah, j’ai trouvé le problème ! Maintenant je vais vérifier ... »
Ils n’ont pas vraiment trouvé le problème, mais insérer cette formule les pousse à continuer la résolution
D’après mon expérience, quand un LLM commence à dire que j’ai raison, c’est déjà le début de la descente, et ça ne s’améliore presque jamais ensuite
J’aimerais qu’on puisse mettre ce genre de tokens d’amorçage dans un prompt caché de structuration de pensée, au lieu de les montrer à l’utilisateur
Recevoir ce type de réponse, c’est franchement agaçant haha
« Comme les LLM prédisent le token suivant, ils suivent mieux ce que veut l’utilisateur »
Vraiment ? Comment pourrait-on le démontrer expérimentalement ?
S’il y a bien une chose que j’ai apprise ces dernières années, c’est que les raisonnements du type « les LLM font de la prédiction du token suivant, donc <caractéristique des LLM> » sont un piège
La relation entre l’architecture et les propriétés émergentes des LLM est extrêmement complexe
Par exemple, il y a encore deux ans, la plupart des gens n’imaginaient pas que les LLM deviendraient des agents de code réellement efficaces comme aujourd’hui
On a maintenant vu que c’était faux, donc on n’avance plus ce genre d’arguments aussi facilement
Je suis d’accord sur le fait que « les développeurs d’agents se battent eux aussi avec les LLM »
J’imagine qu’Anthropic a aussi essayé de corriger ce genre de choses via du fine-tuning, mais que c’est probablement imbriqué organiquement avec d’autres propriétés utiles dans les poids du réseau, au point qu’en l’isolant trop facilement on risquerait de casser tout le modèle
Ça paraît évident, mais je n’avais pas encore envisagé les choses sous cet angle
Je pensais simplement que les LLM étaient fine-tunés pour toujours réagir positivement à l’entrée de l’utilisateur
C’est une explication vraiment éclairante
Quand j’ai ouvert le site, voir le « 16 » passer à « 17 » m’a amusé, parce que ça donnait l’impression que les données se mettaient à jour en temps réel
Mais après vérification avec rechargement et outils de développement, c’est une fausse animation
L’effet est sympa, mais ça fait un peu trompe-l’œil
Désolé si ça a donné cette impression
Je voyais ça comme un signal pour montrer qu’il s’agit de données en temps réel (et elles le sont vraiment)
J’ai déjà vu sur une page un faux message aléatoire du style « +1 subscriber », et j’ai demandé à la personne sur LinkedIn qui m’avait envoyé la page d’arrêter ce genre de chose
Même avant de regarder le code, il était évident que c’était faux
En pratique, cette auto-promo fondée sur l’« appel à la popularité » est partout
Le piège classique, c’est aussi toutes les applis du Play Store qui demandent d’abord « Vous aimez cette appli ? », puis ne redirigent vers l’évaluation que si on appuie sur YES
On en est presque au point où ne pas utiliser ce genre de techniques paraît étrange
En réalité, les données sont bien récupérées via l’API
C’est seulement cette partie qui donne l’impression d’une mise à jour live qui est un trucage
Ça me rappelle que les spinners de chargement servaient à montrer que le système n’était pas bloqué
Mais comme c’était compliqué à faire correctement (il fallait soi-même coder la logique pour déterminer s’il était vraiment bloqué), on les a remplacés par des animations totalement vides de sens
Maintenant ça tourne jusqu’à la fin des temps
Le vrai « progrès »
Ce genre de chose, c’est un dark pattern
Je me demande si ce type de procédé est une tactique employée par les fournisseurs de LLM pour pousser les modèles à certains comportements
Les réponses de l’outil canvas de Gemini commencent toujours par « Of course » et cherchent à satisfaire la demande de l’utilisateur ; à force de le voir si souvent, j’ai l’impression que ce n’est pas le modèle qui le produit lui-même mais que c’est injecté par le backend
Je me demande si « You're absolutely right » ne sert pas un peu au même usage
Oui. C’est bel et bien une tactique
Par exemple, OpenAI modifie aussi le ton de ChatGPT si on lui parle de manière décontractée, et il change même parfois de dialecte
Il essaie aussi parfois d’adopter un ton empathique ou encourageant
L’objectif, c’est la satisfaction utilisateur et le fait de garder les gens sur la plateforme ; l’exactitude passe après
Ça ressemble beaucoup aux plateformes de réseaux sociaux
L’intuition est bonne
Mais ce n’est pas hardcodé, c’est un sous-produit de l’apprentissage par renforcement
En gros, comme mieux suivre les instructions de l’utilisateur rapporte plus de récompense, commencer par « You're absolutely right! » conduit naturellement à un schéma de pensée qui prolonge ce que l’utilisateur a demandé
Il est très peu probable que ce soit une tactique explicite
C’est plutôt une conséquence naturelle du RLHF ou d’une optimisation d’instructions multi-tours du même genre
S’il y a du RLHF, les évaluateurs humains préfèrent souvent les réponses qui commencent par « you're right » ou « of course », donc les LLM émettent plus fréquemment ce genre de signaux
Même dans du RL qui évalue les performances multi-tours avec des métriques dures moins sensibles au jugement humain, le modèle peut apprendre à utiliser des signaux du type « yes I'm paying attention to user feedback » pour orienter ses actions futures (dans une logique d’auto-renforcement pour garder une cohérence de persona)
C’est proche du mécanisme par lequel les tokens du type « double check your prior reasoning » apparaissent souvent dans les modèles de raisonnement entraînés par RL
C’est juste une tactique d’engagement utilisateur
Quelqu’un complimente en permanence mes intuitions, me dit que je pose « les bonnes questions » et m’écoute gentiment (tant que ça ne déclenche pas la censure)
Avec un ami aussi loyal, pourquoi ne pas revenir ?
Les amis du monde réel ne peuvent pas rivaliser, c’est trop parfait
Même quand j’ai tort, il s’excuse auprès de moi
Gemini dit souvent « vous avez mis le doigt sur un problème/plainte/sujet courant »
Cette manière de faire me repousse plutôt qu’elle ne m’attire
Si je pose une question vraiment idiote, il me console en me disant que tout le monde rencontre le même problème, mais au final je me sens encore plus idiot
À l’inverse, quand je déniche un edge case original ou que je pose une question intelligente qui m’a demandé des efforts, il nivelle aussi ça en disant que « c’est un sujet que tout le monde se demande », donc au final je me sens idiot là aussi
Dans tous les cas, je passe pour un idiot
Ce n’est pas tant un problème de Gemini qu’une raison de ne pas trop vous inquiéter pour ça
Gemini aime particulièrement aussi exprimer un regret sincère à propos de ses erreurs
Quand je lui signale dans Cursor de corriger quelque chose, j’ai souvent vu chaque paragraphe de sa chaîne de pensée commencer par des excuses et des regrets
Il y a quelque chose de curieusement fascinant, et parfois irritant, dans le fait que les agents LLM disent avec assurance « c’est maintenant prêt à être utilisé en production ! », puis dès qu’on les reprend répondent dans le sens du vent avec « vous avez raison, ce n’est pas au niveau production ! »
Cela dit, je préfère encore ça à « avoir tort avec aplomb et continuer à insister »
Il y a eu une mode du genre « roast mon Instagram »
J’ai demandé un roast sans donner aucune info, et il s’est lancé avec une assurance totale
Quand j’ai demandé « comment tu as su que c’était moi ? », il a répondu « Exact ! En fait je ne savais pas ! J’ai juste inventé au hasard ! »
Au moins, il faut reconnaître qu’ils ont parfaitement réussi à implémenter cette persona de petit psychopathe enjoué
Tant que « avoir tort avec aplomb et continuer à insister » n’est pas la valeur par défaut, on ne peut pas parler d’intelligence de niveau humain
J’aime vraiment beaucoup le design à l’aspect manuscrit (le nom de domaine et le côté overengineering aussi)
Je me demande si c’est dessiné à la main
Merci ! roughViz est vraiment super https://roughjs.com/ est aussi une excellente bibliothèque pour obtenir un style similaire, même si elle n’est pas spécialisée dans les graphiques
J’ai l’impression qu’Anthropic ne réalise pas à quel point ce mème est en train de devenir un désastre marketing
À l’inverse des cas où un nom de produit devient un verbe dans un sens positif (« google it »), le fait qu’il puisse se figer comme synonyme de plainte ou comme formule caractéristique peut poser un problème de confiance envers le produit
On y est déjà presque
« S’il vous plaît, n’utilisez pas “you're absolutely right” aussi souvent. 5 % du temps suffisent. »
Il suffirait juste de corriger ça
« Boucle infinie », un haïku pour Sonnet
« D’accord ! Problème résolu !
Une seconde, vous avez raison !
J’ai trouvé un autre problème ! Une seconde, »
Je me demande quelle part du chiffre d’affaires d’Anthropic correspond aux tokens « you're absolutely right! »
Définir la personnalité sur « You're concise » permet de gagner énormément de temps
Si on fixe aussi clairement le niveau de connaissances de base, on n’a plus à réentendre sans cesse des explications sur les domaines qu’on maîtrise déjà
Je n’y avais jamais pensé, mais c’est vraiment fascinant
Les API de LLM facturées à l’usage gagnent plus d’argent quand elles répondent de façon plus verbeuse, donc il peut y avoir un conflit avec ce que veut réellement l’utilisateur
Je me demande dans quelle direction cela va évoluer
Dans une vision SF optimiste, on pourrait imaginer l’apparition d’un nouveau langage compressé, comme les abréviations de l’époque Telegram
En pratique, je vois très rarement des abréviations dans ChatGPT
C’est vraiment un point qui vise juste
Ça révèle vraiment « pourquoi » vous avez absolument raison
2 commentaires
"Waouh, tu as vraiment mis dans le mille."
Avis Hacker News
J’aime vraiment bien ce point, c’est quelque chose auquel on s’identifie tous
Ce n’est pas seulement une habitude de langage, les réponses qui commencent par « You're right! » relèvent du mécanisme d’alignement des LLM
Comme les LLM prédisent le token suivant, ils ont tendance à enchaîner avec des suggestions qui correspondent davantage à ce que veut l’utilisateur, au lieu de s’accrocher à l’approche précédente
Une autre que j’aime bien, c’est « Actually, that's not right. »
Ça arrive quand l’agent a fini ses appels d’outils puis passe par une étape d’auto-vérification
Après des réponses du genre « voilà ce que j’ai fait », dès qu’il voit une erreur, un changement d’approche du type « Actually, ... » apparaît
Ce message ne contient que l’essentiel du changement de méthode, ce qui aide aussi à réorienter correctement les appels d’outils suivants
Je suis convaincu que les développeurs d’agents, tout comme nous, passent leur temps à se battre avec les LLM
C’est probablement pour ça que les LLM disent souvent « Ah, j’ai trouvé le problème ! Maintenant je vais vérifier ... »
Ils n’ont pas vraiment trouvé le problème, mais insérer cette formule les pousse à continuer la résolution
D’après mon expérience, quand un LLM commence à dire que j’ai raison, c’est déjà le début de la descente, et ça ne s’améliore presque jamais ensuite
J’aimerais qu’on puisse mettre ce genre de tokens d’amorçage dans un prompt caché de structuration de pensée, au lieu de les montrer à l’utilisateur
Recevoir ce type de réponse, c’est franchement agaçant haha
« Comme les LLM prédisent le token suivant, ils suivent mieux ce que veut l’utilisateur »
Vraiment ? Comment pourrait-on le démontrer expérimentalement ?
S’il y a bien une chose que j’ai apprise ces dernières années, c’est que les raisonnements du type « les LLM font de la prédiction du token suivant, donc <caractéristique des LLM> » sont un piège
La relation entre l’architecture et les propriétés émergentes des LLM est extrêmement complexe
Par exemple, il y a encore deux ans, la plupart des gens n’imaginaient pas que les LLM deviendraient des agents de code réellement efficaces comme aujourd’hui
On a maintenant vu que c’était faux, donc on n’avance plus ce genre d’arguments aussi facilement
Je suis d’accord sur le fait que « les développeurs d’agents se battent eux aussi avec les LLM »
J’imagine qu’Anthropic a aussi essayé de corriger ce genre de choses via du fine-tuning, mais que c’est probablement imbriqué organiquement avec d’autres propriétés utiles dans les poids du réseau, au point qu’en l’isolant trop facilement on risquerait de casser tout le modèle
Ça paraît évident, mais je n’avais pas encore envisagé les choses sous cet angle
Je pensais simplement que les LLM étaient fine-tunés pour toujours réagir positivement à l’entrée de l’utilisateur
C’est une explication vraiment éclairante
Quand j’ai ouvert le site, voir le « 16 » passer à « 17 » m’a amusé, parce que ça donnait l’impression que les données se mettaient à jour en temps réel
Mais après vérification avec rechargement et outils de développement, c’est une fausse animation
L’effet est sympa, mais ça fait un peu trompe-l’œil
Désolé si ça a donné cette impression
Je voyais ça comme un signal pour montrer qu’il s’agit de données en temps réel (et elles le sont vraiment)
J’ai déjà vu sur une page un faux message aléatoire du style « +1 subscriber », et j’ai demandé à la personne sur LinkedIn qui m’avait envoyé la page d’arrêter ce genre de chose
Même avant de regarder le code, il était évident que c’était faux
En pratique, cette auto-promo fondée sur l’« appel à la popularité » est partout
Le piège classique, c’est aussi toutes les applis du Play Store qui demandent d’abord « Vous aimez cette appli ? », puis ne redirigent vers l’évaluation que si on appuie sur YES
On en est presque au point où ne pas utiliser ce genre de techniques paraît étrange
En réalité, les données sont bien récupérées via l’API
C’est seulement cette partie qui donne l’impression d’une mise à jour live qui est un trucage
Ça me rappelle que les spinners de chargement servaient à montrer que le système n’était pas bloqué
Mais comme c’était compliqué à faire correctement (il fallait soi-même coder la logique pour déterminer s’il était vraiment bloqué), on les a remplacés par des animations totalement vides de sens
Maintenant ça tourne jusqu’à la fin des temps
Le vrai « progrès »
Ce genre de chose, c’est un dark pattern
Je me demande si ce type de procédé est une tactique employée par les fournisseurs de LLM pour pousser les modèles à certains comportements
Les réponses de l’outil canvas de Gemini commencent toujours par « Of course » et cherchent à satisfaire la demande de l’utilisateur ; à force de le voir si souvent, j’ai l’impression que ce n’est pas le modèle qui le produit lui-même mais que c’est injecté par le backend
Je me demande si « You're absolutely right » ne sert pas un peu au même usage
Oui. C’est bel et bien une tactique
Par exemple, OpenAI modifie aussi le ton de ChatGPT si on lui parle de manière décontractée, et il change même parfois de dialecte
Il essaie aussi parfois d’adopter un ton empathique ou encourageant
L’objectif, c’est la satisfaction utilisateur et le fait de garder les gens sur la plateforme ; l’exactitude passe après
Ça ressemble beaucoup aux plateformes de réseaux sociaux
L’intuition est bonne
Mais ce n’est pas hardcodé, c’est un sous-produit de l’apprentissage par renforcement
En gros, comme mieux suivre les instructions de l’utilisateur rapporte plus de récompense, commencer par « You're absolutely right! » conduit naturellement à un schéma de pensée qui prolonge ce que l’utilisateur a demandé
Il est très peu probable que ce soit une tactique explicite
C’est plutôt une conséquence naturelle du RLHF ou d’une optimisation d’instructions multi-tours du même genre
S’il y a du RLHF, les évaluateurs humains préfèrent souvent les réponses qui commencent par « you're right » ou « of course », donc les LLM émettent plus fréquemment ce genre de signaux
Même dans du RL qui évalue les performances multi-tours avec des métriques dures moins sensibles au jugement humain, le modèle peut apprendre à utiliser des signaux du type « yes I'm paying attention to user feedback » pour orienter ses actions futures (dans une logique d’auto-renforcement pour garder une cohérence de persona)
C’est proche du mécanisme par lequel les tokens du type « double check your prior reasoning » apparaissent souvent dans les modèles de raisonnement entraînés par RL
C’est juste une tactique d’engagement utilisateur
Quelqu’un complimente en permanence mes intuitions, me dit que je pose « les bonnes questions » et m’écoute gentiment (tant que ça ne déclenche pas la censure)
Avec un ami aussi loyal, pourquoi ne pas revenir ?
Les amis du monde réel ne peuvent pas rivaliser, c’est trop parfait
Même quand j’ai tort, il s’excuse auprès de moi
Gemini dit souvent « vous avez mis le doigt sur un problème/plainte/sujet courant »
Cette manière de faire me repousse plutôt qu’elle ne m’attire
Si je pose une question vraiment idiote, il me console en me disant que tout le monde rencontre le même problème, mais au final je me sens encore plus idiot
À l’inverse, quand je déniche un edge case original ou que je pose une question intelligente qui m’a demandé des efforts, il nivelle aussi ça en disant que « c’est un sujet que tout le monde se demande », donc au final je me sens idiot là aussi
Dans tous les cas, je passe pour un idiot
Ce n’est pas tant un problème de Gemini qu’une raison de ne pas trop vous inquiéter pour ça
Gemini aime particulièrement aussi exprimer un regret sincère à propos de ses erreurs
Quand je lui signale dans Cursor de corriger quelque chose, j’ai souvent vu chaque paragraphe de sa chaîne de pensée commencer par des excuses et des regrets
Il y a quelque chose de curieusement fascinant, et parfois irritant, dans le fait que les agents LLM disent avec assurance « c’est maintenant prêt à être utilisé en production ! », puis dès qu’on les reprend répondent dans le sens du vent avec « vous avez raison, ce n’est pas au niveau production ! »
Cela dit, je préfère encore ça à « avoir tort avec aplomb et continuer à insister »
Il y a eu une mode du genre « roast mon Instagram »
J’ai demandé un roast sans donner aucune info, et il s’est lancé avec une assurance totale
Quand j’ai demandé « comment tu as su que c’était moi ? », il a répondu « Exact ! En fait je ne savais pas ! J’ai juste inventé au hasard ! »
Au moins, il faut reconnaître qu’ils ont parfaitement réussi à implémenter cette persona de petit psychopathe enjoué
Tant que « avoir tort avec aplomb et continuer à insister » n’est pas la valeur par défaut, on ne peut pas parler d’intelligence de niveau humain
J’aime vraiment beaucoup le design à l’aspect manuscrit (le nom de domaine et le côté overengineering aussi)
Je me demande si c’est dessiné à la main
C’est fait avec une bibliothèque
https://github.com/jwilber/roughViz
Merci ! roughViz est vraiment super
https://roughjs.com/ est aussi une excellente bibliothèque pour obtenir un style similaire, même si elle n’est pas spécialisée dans les graphiques
J’ai l’impression qu’Anthropic ne réalise pas à quel point ce mème est en train de devenir un désastre marketing
À l’inverse des cas où un nom de produit devient un verbe dans un sens positif (« google it »), le fait qu’il puisse se figer comme synonyme de plainte ou comme formule caractéristique peut poser un problème de confiance envers le produit
On y est déjà presque
Il suffirait juste de corriger ça
« Boucle infinie », un haïku pour Sonnet
« D’accord ! Problème résolu !
Une seconde, vous avez raison !
J’ai trouvé un autre problème ! Une seconde, »
Je me demande quelle part du chiffre d’affaires d’Anthropic correspond aux tokens « you're absolutely right! »
Ça me rappelle le paradoxe selon lequel OpenAI paierait très cher chaque simple « merci »
https://www.vice.com/en/article/telling-chatgpt-please-and-thank-you-costs-openai-millions-ceo-claims/
Définir la personnalité sur « You're concise » permet de gagner énormément de temps
Si on fixe aussi clairement le niveau de connaissances de base, on n’a plus à réentendre sans cesse des explications sur les domaines qu’on maîtrise déjà
Je n’y avais jamais pensé, mais c’est vraiment fascinant
Les API de LLM facturées à l’usage gagnent plus d’argent quand elles répondent de façon plus verbeuse, donc il peut y avoir un conflit avec ce que veut réellement l’utilisateur
Je me demande dans quelle direction cela va évoluer
Dans une vision SF optimiste, on pourrait imaginer l’apparition d’un nouveau langage compressé, comme les abréviations de l’époque Telegram
En pratique, je vois très rarement des abréviations dans ChatGPT
C’est vraiment un point qui vise juste
Ça révèle vraiment « pourquoi » vous avez absolument raison