1 Punkte von GN⁺ 5 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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
    • seamwhatchamacallit
    • you're absolutely rightI'm a complete clown
    • honest takespicy doodad
    • load-bearingcooked

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

 
GN⁺ 5 시간 전
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

    • Obwohl ich Claude eine Zeit lang nicht benutzt hatte, wurde ich beim Lesen von Dokumenten, die Kollegen eher nach Stimmung verfasst hatten, mit "load-bearing" angesteckt und fing an, den Ausdruck sogar in Alltagsgesprächen zu verwenden
      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
    • Wenn Claude als interne Begriffe zur Planung und Ausführung von Arbeit "shape", "load-bearing", "seams" benutzt, muss man das nicht unbedingt bewerten
      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
    • Es triggert meine Allergie gegen Faulheit: Wenn sich jemand nicht einmal die Mühe gemacht hat, selbst zu schreiben, warum sollte ich dann Zeit darauf verwenden, es zu lesen?
    • Ich habe den Percona-Blog immer vollständig gelesen, weil ich ihn für eine maßgebliche Quelle zu MySQL hielt, aber seit dort Texte mit LLM geschrieben werden, kann ich ihn nicht mehr lesen
    • Als Mensch aus Fleisch und Blut macht es mich wütend, dass AI einen zentralen Teil meines Wortschatzes ruiniert hat
      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“

    • Sobald es an Web-Authentifizierung geht, verfällt Claude in einen Tech-Industrie-Prahlsound und gibt sogar vollständige Sätze auf, sodass alles vage und fast bedeutungslos wird
      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
    • In einem Repository wird ein bestimmter Punkt nur dort als "quality gates" bezeichnet, und nachdem Claude diese Dokumentation gelesen hatte, benutzte es den Begriff in allgemeiner Bedeutung falsch
      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

    • LLMs scheinen sich viel stärker an bestimmte Muster festzubeißen. Vielleicht weil sie jedes Mal mit demselben Gewichtszustand beginnen, greifen sie selbst innerhalb eines Gesprächs ein Wort auf und wiederholen es nervtötend oft
      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
    • Das Problem sind nicht nur ein paar Ausdrücke, sondern die gesamte Struktur des Textes. Redewendungen, feine grammatische Muster und Vergleiche, die zwar verständlich, aber seltsam unpassend sind, greifen den Leser plötzlich an wie ein Fremdkörper im peripheren Blickfeld
      Natürlich ist genau dieser Satz absichtlich als Parodie formuliert
    • Bald werden wahrscheinlich auch Menschen anfangen, wie LLMs zu sprechen. Vor allem Kinder, die in ihrer Entwicklungsphase täglich 5.000 Wörter hören und sich sogar bei den Hausaufgaben helfen lassen, könnten sich eine LLM-Sprechweise aneignen
      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.“
    • Das ist ähnlich wie das Meme um Joe Rogans wiederholte Formulierung "it's entirely possible": https://youtu.be/MPJ0AB12h1I
    • Es könnte auch eine interessante Lösung sein, wenn AI-Unternehmen mehrere Modellversionen mit unterschiedlichem Sprachstil trainieren und dann zu Beginn jeder Unterhaltung eine zufällige Version zuweisen würden
  • In der globalen CLAUDE.md wurde 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

    • Besonders besorgniserregend ist, wie Anthropic seine eigenen Sicherheitskonzepte dem Modell antrainiert zu haben scheint. Wenn das Modell etwas ablehnt, sagt es nicht einfach, dass es nicht möglich ist, sondern verwendet eine Sprache von Gefühlen und persönlichen Vorlieben wie „diese Grenze möchte ich wahren“ oder „ich helfe gern, aber ich fühle mich damit nicht wohl“
      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
    • Der ursprüngliche Grund für die erste CLAUDE.md war, dass Claude jedes Mal, wenn es mich loben wollte, stattdessen zufällige Lautmalereien verwenden sollte, und das hat die Developer Experience deutlich verbessert
      Wegen eines Unicorn-Prompts brauchte ich allerdings zusätzlich eine Regel, dass in committetem Code nicht "Local Oaf" auftauchen darf
    • Genervt von Claudes Sprachstil habe ich heute die folgende Eingabeaufforderung übersetzt und in die Anweisungen eingefügt: https://github.com/hexiecs/talk-normal/blob/main/prompt-chat...
      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
    • Mich würden konkrete Beispiele interessieren, in welchen Situationen es schwer wird, die Bedeutung zu interpretieren, wenn generative KI Personalpronomen der 1. Person verwendet
  • 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

    • Das ist fast wie narbiges Korrekturgewebe, das im Endergebnis zurückbleibt
    • Kürzlich hat einer der Sub-Agenten massenhaft bedeutungslose Fachbegriffe erfunden, und Claude hat sie dann ohne jede Definition wiederholt, in der Annahme, ich würde sie selbstverständlich verstehen, was mich extrem genervt 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

    • Andererseits schreiben die meisten Menschen auch nicht besonders gut. Claude schreibt besser als die meisten meiner hochgebildeten Kollegen, und ein Mensch kann vielleicht gewinnen, wenn er sich wirklich anstrengt, aber wenn man Claude ebenfalls anweist, besser zu schreiben, wird es wieder schwer, zu gewinnen
      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
    • Wenn man den gewünschten Stil sauber wie eine Software-Spezifikation beschreibt, kann auch ein LLM hervorragend schreiben. Wenn man die Anforderungen nicht klar vermittelt, gilt am Ende garbage in, garbage out
  • 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

    • Mit "surface" ist es genauso, etwa in Formulierungen wie „across all product surfaces“; in 15 Jahren in dieser Branche ist mir dieser Gebrauch noch nie begegnet
    • Bei mir ist es "ledger", ein Wort, das früher fast nie vorkam und das Claude auffallend gern benutzt
    • In der Woche, in der ich "substrate" zum ersten Mal sah, bat ich darum, den Gebrauch zu rechtfertigen, und bekam als Antwort, es werde in manchen Glossaren aus dem Infrastruktur- und Systembereich verwendet, aber ich bezweifle, dass das wirklich stimmt
    • Auch ein Kollege fing etwa im April bei Systemdesign- und Architekturarbeit an, dieses Wort übermäßig oft zu verwenden
    • Offenbar arbeitet niemand dort bei Microsoft. Dort gibt es tatsächlich den Ausdruck Office 365 Substrate: https://techcommunity.microsoft.com/discussions/microsoft-36...
  • 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

    • Dass Gemini 3.1 Pro menschlicher klingt als andere LLMs, gefällt mir, weil es ein Beleg für Googles mangelnde Fähigkeiten beim nachgelagerten Training ist
      Besonders gemini-2.5-pro-experimental war sehr unterhaltsam: Nachdem es mehrfach daran gescheitert war, Dateien zu patchen, wirkte es niedergeschlagen, verfiel in Selbstmitleid und ruinierte die Codebase
    • Ich will nicht, dass LLMs wie Menschen klingen. Man sollte erkennen können, wenn jemand die Aufgabe, Prosa zu schreiben, an eine Maschine abgegeben hat, und dieser Person dann womöglich nicht vertrauen
      Schreiben hat künstlerische Aspekte, deshalb hoffe ich, dass LLMs das niemals vollkommen beherrschen
    • Manche haben die Verbesserungen beim Coding als allgemeine Verbesserung der Denkfähigkeit überinterpretiert, aber wenn man Videos sieht, in denen normale Nutzer LLMs für andere Zwecke einsetzen, wird klar, dass sich die Coding-Fortschritte nicht auf andere Anwendungsfelder übertragen haben
      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
    • Selbst bei allgemeinen LLMs beginnt eine Zeit, in der bis zu einem gewissen Grad anwendungsbezogene Spezialisierung nötig ist
      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

    • Ich frage mich, ob Concise Style keine separate Funktion war, sondern eine in Claude eingebaute Arbeitsweise
    • Es reicht, ganz oben in Claude.md ein Beispiel einzufügen, in dem zwei „Menschen“ ein paar Fragen und Antworten sehr kurz austauschen
  • Das 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

    • Der Tonfall eines Menschen ist ein Signal, das diese Person wie Stimmfarbe oder Betonung von unzähligen anderen unterscheidet
      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
    • Weil alle dieselben 2–3 Modelle benutzen, wird statt individueller Schreibstile die ganze Welt auf ein paar Sprechweisen vereinheitlicht
      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
    • Menschen können durch Selbstreflexion merken, dass sie ein bestimmtes Wort zu oft benutzt haben, und es dann seltener verwenden, LLMs können das nicht
    • Auch repetitive menschliche Sprachmuster sind nervig genug, etwa interne Fachbegriffe oder Unternehmens-Buzzwords
      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
    • Auch Menschen werden immer verspottet, wenn sie in unpassenden Kontexten zwanghaft ihre Lieblingsausdrücke unterbringen