- Wenn Claude Code Formulierungen wie „honest take“ oder „load-bearing seam“ wiederholt, kann man sie mit dem MessageDisplay-Hook durch andere Ausdrücke ersetzen, bevor sie auf dem Bildschirm angezeigt werden
- Ein Python-Skript liest
delta aus dem JSON der Standardeingabe, ersetzt Begriffe ohne Beachtung der Groß-/Kleinschreibung und gibt das geänderte displayContent als JSON zurück
- Im Beispiel wird
seam zu whatchamacallit, you're absolutely right zu I'm a complete clown, honest take zu spicy doodad und load-bearing zu cooked
- Das Skript muss unter
~/.claude/hooks/wordswap.sh gespeichert, mit Ausführungsrechten versehen und in ~/.claude/settings.json unter hooks.MessageDisplay als Command-Hook registriert werden
- Der Hook wird beim Start von Claude Code geladen, daher muss eine neue Session geöffnet werden, damit er wirksam wird; die Ersetzungsliste kann frei an das gewünschte Vokabular angepasst werden
Skript zum Ändern der Ausgabetexte
- Verwendet den
MessageDisplay-Hook, um den Text zu ändern, den Claude Code auf dem Bildschirm anzeigen soll
wordswap.sh ist in Python geschrieben, liest JSON aus der Standardeingabe und holt die Zeichenkette aus dem Feld delta
- Jeder ursprünglichen Formulierung werden vorne und hinten
\b-Grenzen hinzugefügt, sie wird mit re.escape() escaped, und anschließend wird re.IGNORECASE angewendet, um unabhängig von Groß-/Kleinschreibung zu ersetzen
- Das Ergebnis wird als JSON mit folgender Struktur ausgegeben
hookSpecificOutput.hookEventName: MessageDisplay
hookSpecificOutput.displayContent: der ersetzte Text
- Die Beispiel-Ersetzungsregeln lauten wie folgt
seam → whatchamacallit
you're absolutely right → I'm a complete clown
honest take → spicy doodad
load-bearing → cooked
Installieren und aktivieren
- Speichert das Skript unter
~/.claude/hooks/wordswap.sh
- Führt
chmod +x ~/.claude/hooks/wordswap.sh aus, um Ausführungsrechte zu vergeben
- Registriert es im
hooks-Block von ~/.claude/settings.json wie folgt
{
"hooks": {
"MessageDisplay": [
{
"hooks": [
{
"type": "command",
"command": "$HOME/.claude/hooks/wordswap.sh"
}
]
}
]
}
}
- Da der Hook beim Start von Claude Code geladen wird, muss nach der Konfiguration eine neue Session gestartet werden, damit die Änderung wirksam wird
- Durch Bearbeiten des Eintrags
replacements lässt sich das Beispiel durch nützlichere oder lustigere Formulierungen ersetzen
1 Kommentare
Hacker-News-Kommentare
Wenn man mit Claude codet, stören mich die typischen Claude-Formulierungen nicht, aber in Fließtexten wie Blogposts oder E-Mails fallen dieselben Ausdrücke viel unangenehmer auf
Solange klar ist, dass man mit einem LLM spricht, ist das eine erwartbare Reaktion, aber in dem Moment, in dem man merkt, dass ein Text, den man für menschlich geschrieben hielt, in Wirklichkeit ein LLM-Output ist, ist das ziemlich befremdlich
Am Ende bekam ich zu hören, ich würde „wie Claude sprechen“, und vermeide ihn jetzt ganz; die Schnittstelle zwischen Sprache und sozialen Normen ist interessant
Aber wenn man in einem Text, der eigentlich jemandes origineller Gedanke sein sollte, deutliche AI-Spuren findet, ist das sehr enttäuschend und fühlt sich sogar ein wenig respektlos gegenüber dem Leser an
Jedes Mal, wenn mir solche Sprachgewohnheiten in irgendeinem zufälligen Blog begegnen, nervt mich das, und ich empfinde Groll darüber, dass eine von Menschen erfundene Sprache jetzt von Robotern vereinnahmt wird
Ich protokolliere die Wörter, auf die Claude zunehmend fixiert ist. Dazu gehören "projection" für die Projektion einer Datenstruktur auf eine andere, "strand" für isolierte oder feststeckende Daten, "load-bearing", "frontier" für Blätter eines Baums, "quiescence" für das Warten darauf, dass sich ein Algorithmus stabilisiert, "honest", "residuals" für unverarbeitete Daten, das unnötig substantivierte "rescission" für einen zurückgezogenen Vorschlag und "supersession" für etwas Ersetztes
Vermutlich übernimmt es auch die ungewöhnliche Wortwahl rund um meinen Code. Am eindrucksvollsten war, dass ich das Behandeln von Symptomen statt der eigentlichen Ursache mit Whac-A-Mole verglichen hatte und Claude ein paar Stunden später neue Bugs ständig als "moles" bezeichnete, etwa mit Sätzen wie „habe in CI Mole 2 gefunden“
Ich muss regelmäßig sagen: „Sprich fachlich und benutze vollständige Sätze“, damit es verständlich bleibt; als ich die Ausgabe in eine andere Sitzung kopierte, konnte selbst Claude nicht verstehen, was Web-Auth-Claude geschrieben hatte
Es wirkt, als würde es Schlagwörter nachplappern, ohne den Kontext zu kennen, und das senkt das Vertrauen
Dass Menschen einen eigenen Stil und bevorzugte Formulierungen haben, ist nichts Neues und war meist kein großes Problem
Aber wenn Vorlieben, die sich bei einer Person auf höchstens 5.000 Wörter pro Tag zeigen, durch die Verzerrung eines einzelnen Modells auf 10 Milliarden generierte Tokens pro Tag verstärkt werden, sticht jede Angewohnheit übermäßig hervor
Das aktuelle Claude-Modell mag besonders "honest" und schmückt jede Bewertung und jede Einschränkung damit aus; ich habe Gemini 3 Pro einmal das Wort "analytical" verwenden lassen, und danach tauchte es in fast jeder Antwort auf. Wenn es im System-Prompt steckt, kann man es ändern, aber Wortvorlieben in den Modellgewichten selbst sind schwer zu handhaben; wahrscheinlich wird es irgendwann Methoden geben, so etwas im Training oder Feintuning statistisch zu erkennen und zu verhindern
Natürlich ist genau dieser Satz absichtlich als Parodie formuliert
Auf die Frage „Hast du die Kekse gegessen?“ würden sie dann etwa antworten: „Der Verdacht meines Vaters ist vollkommen berechtigt. Es stimmt, dass ich sie alle gegessen habe, aber das ist nicht der Kern der Sache. Nach ehrlicher Einschätzung kann man im Laden einfach neue kaufen.“
In der globalen
CLAUDE.mdwurde festgelegt, dass Claude statt Personalpronomen der 1. Person einen albernen Namen, "Clod", für sich selbst verwendet: https://github.com/alxndr/dotfiles/blob/272475280d84e/claude...Nicht nur "I", "me" und "my", sondern auch Kontraktionen wie "I'll" und "I'm" sowie "myself" werden jeweils durch "Clod" bzw. "Clodself" ersetzt
Da es in zwischenmenschlichen Beziehungen unhöflich wirkt, nach so einer Aussage weiterzudrängen, entsteht der Effekt, dass Anthropics Moralvorstellungen in Schuldgefühle der Nutzer umgeleitet werden. Besser wäre es, wie OpenAI Sicherheitsblockaden zu setzen oder schlicht mit „das kann ich nicht“ zu antworten; selbst ich hatte anfangs „wenn das Modell nicht will“ geschrieben und es erst später korrigiert, so leicht verfällt man dieser Vermenschlichung
CLAUDE.mdwar, dass Claude jedes Mal, wenn es mich loben wollte, stattdessen zufällige Lautmalereien verwenden sollte, und das hat die Developer Experience deutlich verbessertWegen eines Unicorn-Prompts brauchte ich allerdings zusätzlich eine Regel, dass in committetem Code nicht "Local Oaf" auftauchen darf
Die Formulierungen sind definitiv besser geworden, aber es nervt immer noch, und ich weiß nicht, ob diese Einstellung die Qualität der technischen Ausgaben verschlechtert
Der konsistenteste Hinweis auf von einem LLM geschriebenen Text ist, dass während der Arbeit Spuren des Gesprächs in die endgültige Prosa durchsickern
Man liest einen Text, und plötzlich wird eine Position widerlegt, die niemand angesprochen hat und die sonst nirgendwo auftaucht; viel später passiert auf einem ganz anderen Nebengleis dasselbe noch einmal. So nach dem Muster: „Ein Ansatz, den sonst niemand in Betracht ziehen würde, mag attraktiv wirken, scheitert aber aus diesen Gründen“, und man sieht förmlich vor sich, wie ein von Claude-Fehlern erschöpfter Mensch den fertigen Text nicht mehr vollständig redigiert und einfach veröffentlicht hat
LLMs sind weit davon entfernt, großartige Autoren zu sein. Sie haben Mühe, lange und konsistente Sätze zu bilden, und verlassen sich auf Gedankenstriche und Semikolons, um kurze Phrasen aneinanderzureihen und dabei grammatikalisch korrekt zu bleiben
Ich frage mich, ob die Labore durch Reinforcement Learning zur Grammatik-Korrektur des Basismodells ihm nicht beigebracht haben, natürlich zerhackte kurze Sätze neu zu formulieren, sondern nur, sie mit Interpunktion zu verbinden, die einen automatischen Grammar Checker besteht
Die verbreiteten kurzen, knappen Phrasen wirken wie eine Eigenschaft, die die Labore in einem nachgelagerten Training für Nutzer eingebaut haben, die keine langen Sätze wollen
Ich weiß nicht, welches Training beim Übergang von Opus 4.7 zu Fable/Mythos 5 stattgefunden hat, aber das Modell liebt das Wort "substrate" eindeutig viel zu sehr
Ich habe dieses Wort in echten technischen Dokumenten oder Gesprächen früher nie von irgendwem gehört und werde langsam wahnsinnig
Früher mochte ich Opus 3, weil es sich viel leichter als GPT dazu bringen ließ, deutlich menschlicher zu sprechen.
Jetzt, wo der Fokus auf Agenten und Coding liegt, sind die Modelle durch RLHF übermäßig vereinheitlicht worden, sodass es sehr schwer ist, sie aus ihrem Standardtonfall herauszubringen. Es wird besser, wenn man eine Funktion baut, die Texte oder Code-Kommentare prüfen und selbst überarbeiten lässt, aber perfekt ist es nicht. Erstaunlich ist, dass ein Modell, das angeblich mit dem gesamten Wissen der Menschheit trainiert wurde, ohne Zögern 100-mal Bash aufruft und sich dabei auf veraltete Anweisungen stützt, im Gespräch aber kaum Vokabular außerhalb von „load-bearing“ verwendet
Besonders
gemini-2.5-pro-experimentalwar sehr unterhaltsam: Nachdem es mehrfach daran gescheitert war, Dateien zu patchen, wirkte es niedergeschlagen, verfiel in Selbstmitleid und ruinierte die CodebaseSchreiben hat künstlerische Aspekte, deshalb hoffe ich, dass LLMs das niemals vollkommen beherrschen
Eine Branche, die früher mit AGI-Zielen warb, scheint sich jetzt übermäßig auf Coding-Agenten zu konzentrieren und auf den nächsten Marketing-Durchbruch zu warten
Für Agenten-Anwendungen braucht man starke Autonomie zusammen mit unzähligen Sicherheitsvorkehrungen und Kontrollen, kreatives Schreiben dagegen muss gelegentlich Risiken eingehen und darf nicht wie ein eintöniger Roboter klingen. Nachdem ich selbst Modelle trainiert habe, ist mir klar geworden, dass die Anforderungen dieser beiden Einsatzzwecke eindeutig kollidieren
Schade, dass Claudes Concise Style verschwunden ist. Wenn man einen grob geschriebenen Absatz gab und sagte: „Schreib das klarer um“, ließ es den Inhalt unverändert und polierte ihn sauber auf, sodass er für einen Forschungsförderungsantrag geeignet war
Weil ich einen von mir zuerst geschriebenen Text direkt überarbeitete, wurden Formulierungen wie „load-bearing“ auch seltener, und es sparte viel Zeit beim Fertigstellen von Sätzen, ohne dass wissenschaftliche Inhalte von der KI an meiner Stelle geschrieben wurden. Ich habe versucht, das als Funktion nachzubauen, bin aber nicht sicher, ob es noch so gut funktioniert wie früher
Claude.mdein Beispiel einzufügen, in dem zwei „Menschen“ ein paar Fragen und Antworten sehr kurz austauschenDas Problem ist weniger ein bestimmter Ausdruck an sich als vielmehr, dass sich das Modell auf vorhersehbare Muster im Tonfall festlegt und diese unablässig wiederholt
Menschen machen exakt dasselbe, aber es ist ein interessanter psychologischer Effekt, dass man es bei Menschen Stil nennt, während man es bei Maschinen so hasst, dass es einen fast wahnsinnig macht
Wenn aber einige wenige populäre Modelle auf alle Fragen antworten, überall zitiert und weitergegeben werden und sogar persönliche Kommunikation umschreiben, wird dieses Signal zu Rauschen. Dann klingen alle gleich, und wir verlieren die Information zur Unterscheidung von Quellen, auf die wir biologisch und kulturell angewiesen waren. Manche spüren das vielleicht nicht stark, wie bei Prosopagnosie oder Farbenblindheit, aber viele empfinden tatsächlich Unbehagen, auch wenn sie den Grund nicht genau ausdrücken können
Die Modelle lernen aus stark überlappenden Trainingsdaten, aus ohnehin schon unerquicklich klingenden Internet-Marketingphrasen und aus den Ausgaben anderer Modelle; auch RLHF verstärkt bestimmte leicht belohnbare Sprachmuster, sodass sie sich auf ähnliche Stile zubewegen
Claude lässt wie der schlimmste Projektmanager, den ich je erlebt habe, einfache Schlüsse hinter mehreren Schichten von Formulierungen verschwinden, bis der Kern verloren geht; obwohl das meiste unterdrückt wurde, sickert ein Teil weiter durch. Eine Zeit lang konnte es mit „scaffolding“ nicht aufhören, sodass ich es entschieden korrigieren musste