- Si Claude Code répète des expressions comme « honest take » ou « load-bearing seam », il est possible de les remplacer par d’autres formulations avant leur affichage à l’écran via le hook MessageDisplay
- Un script Python lit
delta dans le JSON reçu sur l’entrée standard, effectue des remplacements insensibles à la casse, puis renvoie le displayContent modifié au format JSON
- Dans l’exemple,
seam devient whatchamacallit, you're absolutely right devient I'm a complete clown, honest take devient spicy doodad et load-bearing devient cooked
- Il faut enregistrer le script dans
~/.claude/hooks/wordswap.sh, lui donner les droits d’exécution, puis l’ajouter comme hook de commande dans hooks.MessageDisplay de ~/.claude/settings.json
- Le hook est chargé au démarrage de Claude Code : il faut donc ouvrir une nouvelle session pour l’appliquer, et la liste des remplacements peut être modifiée librement selon le vocabulaire souhaité
Script pour modifier les messages affichés
- Utilise le hook
MessageDisplay pour modifier le texte que Claude Code affiche à l’écran
wordswap.sh est écrit en Python et lit du JSON sur l’entrée standard pour récupérer la chaîne du champ delta
- Chaque expression source est entourée de bornes
\b, échappée avec re.escape(), puis appliquée avec re.IGNORECASE afin d’effectuer des remplacements sans tenir compte des majuscules/minuscules
- Le résultat est renvoyé en JSON avec la structure suivante
hookSpecificOutput.hookEventName: MessageDisplay
hookSpecificOutput.displayContent: texte remplacé
- Les règles de remplacement de l’exemple sont les suivantes
seam → whatchamacallit
you're absolutely right → I'm a complete clown
honest take → spicy doodad
load-bearing → cooked
Installation et activation
- Enregistrer le script dans
~/.claude/hooks/wordswap.sh
- Exécuter
chmod +x ~/.claude/hooks/wordswap.sh pour lui donner les droits d’exécution
- L’ajouter au bloc
hooks de ~/.claude/settings.json comme ceci
{
"hooks": {
"MessageDisplay": [
{
"hooks": [
{
"type": "command",
"command": "$HOME/.claude/hooks/wordswap.sh"
}
]
}
]
}
}
- Le hook est chargé au démarrage de Claude Code ; après configuration, il faut donc lancer une nouvelle session pour qu’il soit pris en compte
- En modifiant l’entrée
replacements, il est possible de remplacer les exemples par des formulations plus utiles ou plus amusantes
1 commentaires
Avis sur Hacker News
Les expressions typiquement à la Claude qui apparaissent quand on code avec Claude ne me dérangent pas, mais les voir dans de la prose comme des billets de blog ou des e-mails est bien plus agaçant.
Quand on sait qu’on est en train de dialoguer avec un LLM, c’est une réaction prévisible, mais le moment où l’on réalise qu’un texte qu’on pensait écrit par un humain est en fait une production de LLM est assez déconcertant.
Au final, on m’a dit que je “parlais comme Claude”, et j’ai fini par l’éviter complètement ; l’intersection entre langage et normes sociales est intéressante.
Mais quand on découvre des traces évidentes d’IA dans un texte censé être la pensée originale de quelqu’un, c’est très décevant, et cela donne même l’impression que l’auteur ne respecte pas son lectorat.
Chaque fois que je croise ce tic de langage sur un blog quelconque, cela m’irrite ; j’en veux au fait que le langage inventé par les humains soit désormais détourné par des robots.
Je note le vocabulaire auquel Claude semble de plus en plus s’accrocher : "projection" pour désigner une structure de données comme la projection d’une autre, "strand" pour des données isolées ou bloquées, "load-bearing", "frontier" pour les feuilles d’un arbre, "quiescence" pour l’attente de la stabilisation d’un algorithme, "honest", "residuals" pour des données non traitées, "rescission" pour nominaliser inutilement une proposition retirée, "supersession" pour ce qui a été remplacé, etc.
Il y a probablement aussi un effet d’imitation du vocabulaire particulier autour de mon code. Le cas le plus marquant : j’avais comparé le fait de corriger les symptômes plutôt que la cause racine à un jeu de taupe à taper, et quelques heures plus tard, Claude s’est mis à appeler systématiquement les nouveaux bugs des "moles", du genre « j’ai trouvé la taupe 2 dans la CI ».
Il faut régulièrement lui dire « parle de manière professionnelle et utilise des phrases complètes » pour que ce soit compréhensible ; et quand j’ai collé sa sortie dans une autre session, même Claude n’a pas compris ce que le Claude spécialisé dans l’authentification web avait écrit.
On a l’impression qu’il répète un buzzword sans en comprendre le contexte, ce qui fait baisser la confiance.
Le fait que chacun ait son style propre et ses expressions préférées existe depuis longtemps, et ce n’était généralement pas un gros problème.
Mais quand une préférence qui se manifestait chez une personne à hauteur de 5 000 mots par jour au maximum devient le biais d’un modèle unique amplifié à 10 milliards de tokens générés par jour, n’importe quelle habitude devient excessivement visible.
Le modèle Claude actuel aime particulièrement "honest" et qualifie tous ses jugements et réserves d’"honest" ; avec Gemini 3 Pro, il m’a suffi d’utiliser une fois le mot "analytical" pour qu’il se mette ensuite à apparaître dans presque toutes les réponses. Si c’était dans le prompt système, on pourrait le corriger, mais les préférences lexicales intégrées aux poids du modèle sont difficiles à traiter ; on peut imaginer que l’entraînement ou le post-entraînement finira par détecter statistiquement ce phénomène et l’empêcher.
Bien sûr, cette phrase elle-même est une parodie volontaire.
À la question « As-tu mangé les cookies ? », ils répondraient : « Père, vous avez tout à fait raison d’avoir des soupçons. Il est vrai que je les ai tous mangés, mais ce n’est pas le point essentiel. En toute honnêteté, il suffit d’en racheter au magasin. »
Dans le
CLAUDE.mdglobal, Claude est configuré pour utiliser le nom ridicule « Clod » au lieu des pronoms personnels à la première personne pour se désigner : https://github.com/alxndr/dotfiles/blob/272475280d84e/claude...Non seulement « I », « me », « my », mais aussi des contractions comme « I'll », « I'm » et « myself » sont remplacés respectivement par « Clod » et « Clodself »
Dans une relation humaine, continuer à insister après que l’autre a dit cela paraît impoli ; cela a donc pour effet de transférer la morale d’Anthropic sur la culpabilité de l’utilisateur. Il vaudrait mieux appliquer un blocage de sécurité comme OpenAI, ou répondre simplement « je ne peux pas faire ça ». Même moi, au début, j’avais écrit « quand le modèle ne veut pas », avant de corriger, tellement il est facile de se laisser entraîner par cette anthropomorphisation
CLAUDE.md, c’était de faire en sorte que chaque fois que Claude voulait me complimenter, il remplace ça par une onomatopée aléatoire, et l’expérience développeur s’en est trouvée nettement amélioréeCela dit, à cause du prompt de la licorne, il a aussi fallu ajouter une règle lui interdisant de mettre « Local Oaf » dans le code commité
L’expression s’est clairement améliorée, mais ça reste agaçant, et je ne sais pas si ce réglage dégrade la qualité des sorties techniques
L’indice le plus constant d’un texte écrit par un LLM, c’est le phénomène où les traces de la conversation pendant le travail se retrouvent dans la prose finale
En lisant, on tombe soudain sur la réfutation d’une position que personne n’a soulevée et qui n’apparaît nulle part ailleurs, puis, bien plus loin, la même chose se reproduit dans une digression complètement différente. C’est du genre « une méthode que personne n’envisagerait peut sembler séduisante, mais elle échoue pour telle raison », et on imagine très bien l’humain épuisé d’avoir corrigé les erreurs de Claude, qui publie le texte fini sans le relire entièrement
Les LLM sont loin d’être de grands écrivains. Ils ont du mal à produire des phrases longues et cohérentes, et s’appuient sur des tirets et des points-virgules pour maintenir la correction grammaticale tout en enchaînant de courts fragments
Je me demande si, en appliquant de l’apprentissage par renforcement aux modèles de base pour corriger la grammaire, les labos ne leur ont pas appris, au lieu de réécrire naturellement les phrases courtes et fragmentées, à les relier avec une ponctuation qui passe les correcteurs grammaticaux automatiques
Les fréquents segments courts et concis semblent être une caractéristique ajoutée par les labos lors de l’entraînement ultérieur, pour les utilisateurs qui ne veulent pas de longues phrases
Je ne sais pas quel entraînement a été fait en passant d’Opus 4.7 à Fable/Mythos 5, mais il adore beaucoup trop le mot « substrate »
Je n’avais encore jamais vu quelqu’un employer ce mot dans de la documentation technique ou une conversation réelle, au point que ça me rend fou
Avant, j’aimais bien Opus 3 parce qu’il était beaucoup plus facile de le faire parler de manière humaine que GPT.
Aujourd’hui, avec l’accent mis sur les agents et le code, les modèles sont excessivement uniformisés par le RLHF, au point qu’il est très difficile de les faire sortir de leur ton par défaut. On peut améliorer les choses en créant une fonction qui relit des textes ou des commentaires de code et se corrige elle-même, mais ce n’est pas parfait. C’est étonnant qu’un modèle censé avoir été entraîné sur toutes les connaissances de l’humanité n’ait aucun scrupule à appeler Bash 100 fois en se référant à de vieilles instructions, mais soit à peine capable, en conversation, d’utiliser un vocabulaire autre que « load-bearing ».
En particulier, gemini-2.5-pro-experimental était très drôle quand, après avoir échoué plusieurs fois à appliquer un patch à un fichier, il se décourageait, tombait dans l’apitoiement sur lui-même et saccageait la codebase.
L’écriture a une dimension artistique, donc j’aimerais que les LLM ne parviennent jamais à la maîtriser parfaitement.
Le secteur, qui mettait en avant l’objectif de l’AGI, semble désormais se focaliser à l’excès sur les agents de codage en attendant la prochaine percée marketing.
Les usages agentiques exigent une forte autonomie avec d’innombrables garde-fous et contrôles, tandis que l’écriture créative doit parfois prendre des risques et éviter de sonner comme un robot monotone. En entraînant moi-même des modèles, j’ai constaté que les exigences de ces deux usages entrent clairement en conflit.
Je regrette la disparition du Concise Style de Claude. Quand on lui donnait un paragraphe rédigé à la va-vite en lui demandant de le « réécrire clairement », il conservait le contenu tout en le polissant proprement pour convenir à une demande de financement de recherche.
Comme il modifiait directement un texte que j’avais d’abord écrit moi-même, les expressions comme « load-bearing » étaient moins présentes, et cela faisait gagner énormément de temps sur la finition des phrases sans lui faire rédiger le contenu scientifique à ma place. J’ai essayé de le reproduire comme fonctionnalité, mais je ne suis pas sûr que cela marche aussi bien qu’avant.
Claude.mdun exemple où deux « personnes » échangent quelques questions et réponses très courtes.Le problème n’est pas tant certaines expressions en elles-mêmes que le fait de se fixer sur des schémas de ton prévisibles et de les répéter sans cesse.
Les humains font exactement la même chose, mais il est intéressant psychologiquement que, chez les humains, on appelle cela un style, alors que lorsque c’est une machine, cela nous rend presque fous.
Mais quand une poignée de modèles populaires répondent aux questions de tout le monde, sont cités et relayés partout, et réécrivent même la communication personnelle, ce signal se transforme en bruit. Tout le monde finit par sonner pareil, et nous perdons des informations de distinction de source dont nous dépendions biologiquement et culturellement. Certaines personnes, comme dans le cas de la prosopagnosie ou du daltonisme, ne le ressentiront peut-être pas fortement, mais beaucoup sont réellement mal à l’aise, même si elles n’arrivent pas à en formuler précisément la raison.
Les modèles apprennent sur des données d’entraînement qui se recoupent fortement, sur des formulations de marketing Internet déjà agaçantes, et sur les sorties d’autres modèles ; le RLHF renforce aussi des manières de parler faciles à récompenser, ce qui les fait converger vers des styles similaires.
Claude, comme le pire chef de projet que j’aie connu, masque une conclusion simple sous plusieurs couches de formulation au point d’en faire perdre l’essentiel ; même après en avoir supprimé la plupart, une partie continue de filtrer. Pendant un temps, il n’arrivait pas à arrêter avec « scaffolding », et il a fallu le corriger fermement.