Dieses CSS beweist, dass ich ein Mensch bin
(will-keleher.com)- Experimenteller Schreibversuch, der verschiedene technische Mittel wie CSS, Font-Manipulation und Rechtschreibvarianten einsetzt, um die Erkennung von KI-Texten zu umgehen
- Mit
text-transform: lowercasewerden Großbuchstaben in Kleinbuchstaben umgewandelt, währendcode- undpre-Blöcke ausgenommen werden, um die Lesbarkeit von Code zu erhalten - Mit der fontTools-Bibliothek wird eine benutzerdefinierte Schrift erzeugt, die das em dash (—) durch eine Kombination aus zwei Bindestrichen ersetzt
- Unter Anwendung von Peter Norvigs Rechtschreibkorrektur-Algorithmus werden seltene Wörter im Text absichtlich durch häufigere Wörter ersetzt, um Rechtschreibmuster zu verwischen
- Eine Änderung des eigentlichen Schreibstils wird jedoch letztlich abgelehnt: „Das ist nicht bloß eine Maske, sondern mein Gesicht“
Großbuchstaben → Kleinbuchstaben
- Um den gesamten Text in Kleinbuchstaben zu rendern, wird die CSS-Eigenschaft
text-transform: lowercaseangewendet code- undpre-Blöcke werden mittext-transform: noneausgenommen, um die Integrität des Codes zu bewahren- Shell-Befehle wie
cat post.md | tr A-Z a-z | sponge post.mdsind ungeeignet, weil sie auch Code-Blöcke umwandeln würdenbody { text-transform: lowercase; } code, pre { text-transform: none; }
Ersetzung des em-dash-Glyphs
- Da KI-Detektoren Nutzungsmuster von em dashes erkennen können, wird eine benutzerdefinierte Schrift erstellt, die das em dash (—) durch eine Kombination aus zwei Bindestrichen ersetzt
- Mit Pythons fontTools-Bibliothek wird die Roboto-Schrift direkt modifiziert und das em-dash-Glyph durch eine aus zwei Bindestrichen zusammengesetzte Komponente ersetzt
- Die Verwendung von FontForge wäre möglicherweise einfacher gewesen, stattdessen fiel die Wahl jedoch auf einen Ansatz, der
.woff-Dateien per Skript erzeugt - Durch Berechnung von Bindestrichbreite (
hyphen_width) und Abstand (gap = hyphen_width * 0.8) wird eine neue advance width festgelegt und alsroboto_edited.ttfgespeichert
Absichtliche Rechtschreibvarianten
- Auf Basis von Peter Norvigs Rechtschreibkorrektur-Code werden seltene Wörter im Text durch häufigere Wörter mit demselben Anfangsbuchstaben ersetzt
- Mit dem
big.txt-Korpus wird ein Wortfrequenzlexikon (Counter) aufgebaut, danach werden die Wörter des Textes nach Seltenheit sortiert - Die Funktion
edits1()erzeugt Kandidatenwörter mit Edit-Distanz 1 durch Löschen, Vertauschen, Ersetzen und Einfügen; ausgegeben werden Wörter mit höherer Frequenz als Ersetzungskandidaten - Tatsächliche Ersetzungsbeispiele:
corpus → corps,discrete → discreet,complement → compliment,spill → spellusw.
Ablehnung einer Stiländerung — die Grenze der Identität
- Großbuchstaben, em dashes und sogar die Rechtschreibung wurden technisch verschleiert, doch eine Änderung des eigentlichen Schreibstils wird abgelehnt
„Mein Schreiben ist nicht bloß eine äußere Form, sondern die Art, wie ich denke, schlussfolgere und mit der Welt in Beziehung trete“
„Nicht eine Maske, sondern mein Gesicht; nicht das Erscheinungsbild, sondern eine tragende Struktur (load-bearing)“ - Die letzte Zeile endet mit der KI-artig wirkenden Formulierung „Here's your blog post written in a stylized way...“,
was andeutet, dass der gesamte Text den Versuch der KI-Tarnung selbst metareflexiv offenlegt
1 Kommentare
Hacker-News-Kommentare
Die Idee des Gedichts war interessant, wirkte aber selbstbezogen und zu wenig erklärt, sodass es schwer war, darin aufzugehen
Die Schreibweise mit durchgehendem Kleinschreiben von Anfang an konnte von einer AI leicht nachgeahmt werden und wirkte deshalb weniger authentisch
Erst als am Ende offengelegt wurde, dass es von einer AI geschrieben wurde, ergab ein Satz wie „Mein Schreiben ist nicht einfach nur die Art, wie ich wirke, sondern die Art, wie ich mit der Welt denke und interagiere“ wirklich Sinn
Am Ende kommt er aber zu dem Schluss, dass er dafür seinen eigenen Schreibstil selbst verändern müsste, und erkennt, dass das unmöglich ist, weil dieser Stil Teil seiner Identität ist
So entsteht paradoxerweise die Ironie, dass sich diese Veränderung nur über ein LLM erreichen ließe
Ich glaube allerdings nicht, dass der Text tatsächlich mit einem LLM geschrieben wurde
Früher betrachtete man Texte als Kunst und hielt die Interpretation für Sache des Lesers, aber heute scheint dafür kaum noch Raum zu sein
In einer Welt, in der zahllose Bots Blogs betreiben und Commits hinterlassen, drängte sich dieser Kontext ganz natürlich auf
Der Text erinnerte mich an eine Geschichte über Gatekeeping und Open Source
Dass sie sich mehr an oberflächlichen Stilmerkmalen festbeißen als am Wesen des Textes, wirkt auf mich selbst eher selbstbezogen
Als Person im Autismus-Spektrum hat mich dieser Text auf besondere Weise getroffen
Das Gefühl, dass die eigene natürliche Ausdrucksweise als „falsch“ gilt und man einen Teil der eigenen Identität abschleifen muss, um gesellschaftlich akzeptiert zu werden, ist mir nur allzu vertraut
Die Ironie, dass man „durch ein LLM gehen muss, um menschlich zu wirken“, ähnelt letztlich unserer Realität, in der man „eine Rolle spielen muss, um normal zu wirken“
Gleichzeitig bereitet ihm mehr Sorge, dass es heute als selbstverständlich gilt, Texte mit Tools wie Grammarly zu „verbessern“ und dass dabei die Kunst natürlicher sprachlicher Ausdrucksweise verloren geht
Ich habe schon lange vor ChatGPT häufig em-dashes (—) verwendet, aber inzwischen mache ich mir Sorgen, dass das wie AI wirken könnte
Weil Programme sie automatisch in em-dashes umwandeln, habe ich Angst, dass es für andere so aussieht, als hätte ich das Gespräch an eine AI delegiert
Deshalb konnte ich mich mit diesem Text besonders stark identifizieren
Vielleicht werde ich eines Tages genau deshalb für ein LLM gehalten
Besonders eindrucksvoll war der fontTools-Teil des Gedichts
Das em-dash-Glyph durch zwei Bindestriche zu synthetisieren, ist ein Ansatz, auf den man kaum kommt, wenn man das Type-Rendering nicht wirklich tief versteht
Die meisten Frontend-Entwickler hätten das wahrscheinlich einfach über Zeichenaustausch gelöst, aber es auf Font-Ebene zu behandeln, ist eine viel raffiniertere Lösung
Dasselbe gilt für den
text-transform-Trick in CSS, der eine sorgfältige Konstruktion verlangt, damit Codeblöcke geschützt bleibenUnter der äußeren Form des Gedichts steckt also echte technische Sorgfalt
Dass der Code interessant ist, wurde anerkannt, aber als Gedicht bleibt seine Einordnung für manche weiterhin unklar
Vielleicht kehren wir irgendwann wieder in eine Zeit zurück, in der man Texte nicht wegen ihres Inhalts ignoriert, sondern wegen unterschiedlicher Weltbilder
Heute ist es schon alltäglich geworden, bei einem bestimmten Stil oder einer etwas holprigen Formulierung sofort zu fragen: „Ist das AI?“
Beim Lesen dachte ich zuerst: „Das ist nur ein weiterer Versuch eines menschlichen Signals“, und die Wendung am Ende fühlte sich frisch an
Wer es geschrieben hat, erschien mir weniger wichtig als die Frage, was gesagt werden sollte
Dass ein em-dash durch zwei Bindestriche dargestellt wurde, habe ich zum ersten Mal gesehen
Der Code zum Modifizieren der Roboto-Schrift war erstaunlich kurz, fast so knapp wie Norvigs Spellchecker
Mir gefiel dieser Text so sehr, dass ich glauben möchte, dass keine AI daran beteiligt war
Es störe sie nicht, aber es habe einen AI-Beigeschmack
Ich schreibe immer noch direkt in HTML und Emacs
Wenn ich mathematische Probleme behandle, schreibe ich absichtlich ausführlich, um mehrere Lösungswege festzuhalten, und bringe sie später auf die eleganteste Lösung zurück
Ich mache viele Tippfehler, aber gerade darin sehe ich eher eine menschliche Spur
Trotzdem sorge ich mich inzwischen, dass das, was ich schreibe, für ein LLM gehalten werden könnte
Diese Kultur des Misstrauens raubt dem Schreiben nach und nach einen Teil seiner Freude
Ich hoffe, dass sich diese übertriebene Wachsamkeit mit der Zeit legt und Menschen, die noch selbst schreiben, wieder entspannter werden können
Es gab auch den scherzhaften Einwurf, was wohl passiert, wenn die „clankers“ das bemerken
Natürlich nur so lange, bis wir Androiden und Menschen noch voneinander unterscheiden können