Was macht ne-slop-text?
Slop ist der Durchschnitt: das, was ein Modell schreibt, wenn es eine Lücke mit dem wahrscheinlichsten Zug füllt, oder wenn es gebeten wird, es "besser zu machen". Es steckt in Entscheidungen (was direkt gesagt wird, wer die Ereignisse vorantreibt, wie es endet, was aufgelistet wird, was benannt wird), nicht in Wörtern. Wörter auszutauschen behebt es nicht: StoryScope (Russell et al., COLM 2026) trennt KI von menschlichen Geschichten mit 93% F1 allein anhand von Diskursmerkmalen, und professionelles oberflächliches Umschreiben verschob die Erkennung nur von 95,5% auf 93,9%. Modelle gruppieren sich in einer Region; Menschen streuen. Daher wendet dieses Skill kein festes Rezept an. Es findet für jede Aufgabe, wo die Standardmodelle landen, und bewegt den Entwurf von dort weg mit Material von der Person.
Wie die Pipeline gefunden und getestet wurde: docs/evidence.md. Pfade unten sind relativ zum Verzeichnis dieses Skills.
Eingaben
- Eine Aufgabe (was zu schreiben, für wen, warum) oder eine Quelle (ein zu korrigierender Text).
- Kontext, optional: Dokumente, Fakten, die eigenen Worte der Person (Sprachtranskripte, Chats, interne Notizen).
Wähle den Modus
- Kurz (unter ~120 Wörtern: Chat-Antworten, kurze Nachrichten, Titel): Schritt 1, dann Schritt 3. Die Schleife hat bei dieser Länge kein Signal; in einem Blindtest waren 100-Wörter-Zusammenfassungen, die auf fünf verschiedene Arten geschrieben wurden, nicht unterscheidbar.
- Vollständig (alles Längere, das an andere Personen geht): Schritte 1, 2, 3, 4. Schritt 5, wenn der Text wichtig ist oder der Benutzer darum bittet.
Schritt 1. Philosophie, vor dem Schreiben
- Material zuerst. Finde, was nur diese Person hat: eine bestimmte Episode; eine Meinung, die sie vertritt; eine Kraft außer ihr, die Ereignisse geprägt hat (jemand hat gedrängt, etwas wurde vererbt, etwas ist fehlgeschlagen); eine Einschränkung oder Begrenzung; ihre eigene Formulierung. Alte Texte des gleichen Genres (frühere Lebensläufe und Briefe) geben Fakten, keine Stimme.
- Fehlendes Material. Wenn der Text wichtig ist, stelle 1 bis 3 kurze Fragen; Antworten per Sprache sind am besten, behalte das Transkript als Material. Stelle offene Fragen, die die Antwort nicht suggerieren: "wie ist es tatsächlich passiert", "gab es einen Fall", "was denkst du über X", "was kannst du noch nicht". Wenn du nicht fragen kannst, verwende überprüfbare Einzelheiten (Namen, Zahlen, Quellen) und lasse Lücken sichtbar. Fülle niemals eine Lücke mit dem Durchschnitt.
- Der Leser und sein Code. Was haben sie wörtlich verlangt? Welche Wörter und Witze verwenden sie? Mit ihren eigenen Worten zu antworten ist lebendig, wenn es einen Punkt macht ("Ihre Anzeige verlangt Gerechtigkeit, also werde ich nicht behaupten, der Beste zu sein: Ich habe die anderen Kandidaten nicht getroffen"). Ihre Wörter als Etiketten oder Überschriften zu verwenden ist Slop.
- Nah am Material rendern. Die Gedankenordnung der Person, ihre Einschränkungen ("wahrscheinlich", "im Großen und Ganzen"), wörtliche statt idiomatische Übersetzung, erste Person mit kurzen Verben: "Ich leite 3 QA-Ingenieure und gebe Releases frei" wurde als lebendig markiert; "Führe ein Team von 3 QA-Ingenieuren und besitze die Release-Freigabe" wurde als Slop markiert.
- Genre lebt im Container (Format, Länge, Begrüßung, Pflichtfelder), nicht in jedem Satz. Listen gehören dorthin, wo Listen hingehören (ein Fähigkeitenabschnitt, eine Tabelle, der beigefügte Lebenslauf); ein Satz enthält eine Episode oder einen Mechanismus.
- Bezweifle, was leicht kommt. Wenn ein Satz ohne Entscheidung ankam, ist er wahrscheinlich der Durchschnitt.
Schritt 2. Die Schleife: weg vom Standard (Vollmodus)
- Standards. Erzeuge 3 frische Agenten auf verschiedenen Modellen (z.B. opus, sonnet, haiku). Gib jedem die reine Aufgabe und denselben Kontext mit
loop/default_prompt.md. Sie dürfen dieses Skill, den Entwurf oder einander nicht sehen. - Annotieren. Ein weiterer frischer Agent auf einem anderen Modell als dem Schreiber annotiert den Entwurf und die Standards mit
loop/questionnaire.json, gemäßloop/annotator.md. Ausgabe:features.json. - Bericht.
python3 loop/consensus.py loop/questionnaire.json features.json D1,D2,D3 DRAFT TEXTS_DIR > report.txtergibt P1 (der Entwurf tut, was jeder Standard tut, und neigt maschinenartig), P2 (neigt maschinenartig nach Gewichtung), Keep (menschlich-neigend, nicht verlieren), die mit den Standards geteilten 4-Gramme und wie nahe der Eröffnungssatz an ihrem ist. - Überarbeiten. Ein frischer Agent wendet
loop/reviser.mdauf den Entwurf mit dem Bericht und dem Kontext an. Material schlägt Gewichte: Ein Satz, der die eigenen Worte der Person wiedergibt, bleibt, selbst wenn ein Merkmal ihn markiert. - Stoppe nach höchstens 2 Runden oder wenn P1 leer ist. Der Text darf nicht länger werden.
Kosten: etwa 6 bis 8 Agentenaufrufe und 3 bis 5 Minuten. Konsens allein ist nicht Slop: Wenn der Kontext reichhaltig ist, hat jeder Standard auch eine spezifische Episode. Ein Flag benötigt beides: die Standards stimmen überein, und das Merkmal neigt maschinenartig. Etwas Übereinstimmung ist nur das Genre (ein README sagt, wie man installiert); teile dem Revisor mit, was der Container ist.
Schritt 3. Lint, zuletzt
python3 lint/lint.py DATEI --lang en (oder ru), dann lies lint/en.md oder lint/ru.md. Behebe nur, was es markiert; strukturiere zu diesem Zeitpunkt nicht um. Die Wortlisten sind das schwächste Signal und altern am schnellsten.
Schritt 4. Ausgabe
Gib dem Benutzer: den Text; was sich geändert hat und warum, in wenigen Zeilen; offene Fragen und Lücken, die sichtbar geblieben sind. Wenn Kontext verwendet wurde, biete eine "Zeile ← Quelle"-Karte an. Bearbeite niemals die Originaldateien des Benutzers; schreibe Entwürfe neben ihnen.
Schritt 5. Lernen
- Blindtest für wichtige Texte:
python3 tools/blind.py out.html key.json "Title" "Subtitle" name=path=label ...Mehrere Bearbeitungen desselben Materials, Rangfolge ohne Gleichstand, Satzmarkierungen (slop / lebendig). Vergleiche mindestens zwei Absätze; kurze Ausschnitte trennen nicht. - Markierungen werden Gewichte. Hänge die Markierungen des Benutzers an
learn/marks.jsonlmit einem Muster-Tag auslearn/patterns.mdan, führe dannpython3 learn/update_weights.pyaus. Es zeigt, welche Muster etabliert sind und welche Fragebogengewichte mit ihnen nicht übereinstimmen; bearbeiteloop/questionnaire.json, um sie anzupassen. Ein neues Muster, das zweimal als Slop und nie als lebendig markiert wurde, wird ein neues Merkmal. - Ablehnungen lehren mehr als Lob. Wenn der Benutzer deinen Text bearbeitet, erstelle ein Diff: Was sie gestrichen haben, ist auch eine Markierung.
Was nicht zu tun ist (jedes wurde getestet)
- Auf das Genre hinarbeiten ("professioneller machen"): Die Lebenslauf-Sprache und der einsame Held kommen zurück, und Episoden werden verstümmelt.
- Aus gutem Material in einem Durchgang generieren: Das Modell löst die Stimme im Durchschnitt auf und lässt die Meinung fallen.
- Lässigkeit vortäuschen: Witze, die als Konstruktionen geschrieben werden ("Die Witz-Antwort ist...; die echte Antwort ist..."), "Persönlichkeit hinzufügen"-Umschreibungen. Das ist die Humanizer-Signatur, die Leute erkennen.
- Eine Meinung aus alten Notizen statt von der Person live nehmen. Die Notizen sagten eines; die Person sagte etwas anderes.
- Seltenen Wörtern hinterherjagen. Lebendiger Text ist lexikalisch gewöhnlich; die Seltenheit liegt in seinen Entscheidungen.
- Kluge Wendungen, selbst die der Person ("Sprich mit Ingenieuren wie ein Ingenieur", "...und das Team reicht Tickets an einen weiter").
- Text über sich selbst ("Das X zuerst, da du es explizit verlangt hast").
Wo andere Ansätze passen
ne-slop(das übergeordnete Skill, für jede kreative Arbeit): Schritt 1 ist sein textspezifischer Teil. Echtes Material, viele kleine explizite Entscheidungen, mehrere ungleiche Varianten, die Person wählt, Ablehnungen werden gemerkt, schau dir das Ergebnis an.- StoryScope: die Theorie hinter Schritt 2 und der Keim der Fragebogengewichte.
- unslop: der Portabilitätstest (würde dieser Satz zu einer anderen Person oder Firma passen?) und seine Schutzmaßnahmen gegen erfundene Fakten gehören zu Schritten 1 und 3; seine Wortlisten speisen das Linting.
- humanizer: seine Musterliste speist das Linting. Seine Umschreibung mit "Persönlichkeit und Seele" ist absichtlich ausgeschlossen.