Zuerst das Gespräch, dann die Dateien.
Die offene Frage „Wo reibt es, was bremst dich aus?“ an eine unbefangene Kopie fand in 25 Minuten mehr als jede Dateianalyse.
Fall K1 (kleiner Betrieb, technischer Beruf): ein Claude-Code-Assistent mit Datei-Gedächtnis, einige Wochen im Alltag. Startkontext läuft über, Fehler häufen sich. Diagnose, Umbau und Abnahme in elf Schritten.
Die Regeln des Assistenten waren gut, teils besser formuliert als in unserem eigenen System. Es fehlte, was sie trägt: eine Identität, die sie von sich aus lebt, frische Starts, festes Laden des Wichtigen, Aufräumen, Trennung nach Arten und eine Sicherheit, die am Beleg hängt statt an der Situation. Größe allein war nicht das Problem, sondern wann was gelesen wird, wer wohin schreibt und wer aufräumt.
Der Nutzer ist selbstständig in einem technischen Beruf und führt einen kleinen Betrieb: fachlich stark, sehr ausgelastet, Software ist nach eigener Aussage nicht seine Stärke. Im Arbeitsalltag bleibt ihm wenig Zeit zum Lesen. Der Assistent soll ihm knapp liefern, nicht lange Texte.
Die Einrichtung beruhte auf einer Einrichtungs-Vorlage von uns, einem Kondensat unseres eigenen Assistenzsystems. Der Assistent trug damit einige von dessen Sätzen in sich, aber nicht die Gegengewichte, die später dazugelernt wurden.
Laufzeit: einige Wochen Alltag, in mehreren parallel geführten Sitzungen.
Der Nutzer war grundsätzlich sehr zufrieden und meldete zwei Probleme:
Auftrag: herausfinden, warum, und den Assistenten so umbauen, dass er trägt. Maßstab war ausdrücklich unser eigenes System, das seit Monaten stabil läuft.
| Größe | Originalzustand |
|---|---|
Startdatei CLAUDE.md, fest geladen | ≈ 26.000 Zeichen, ≈ 400 Zeilen; rund 25 Zeilen über Nutzer und Firma, der Rest Regeln |
| Offene Liste | ≈ 58 KB, ≈ 790 Zeilen; per Startsatz bei jedem Start ganz gelesen |
| Tatsächliche Startlast | ≈ 86.000 Zeichen (Startdatei + offene Liste + letztes Logbuch) |
| Logbuch | gut 20 Tagesdateien, bis über 20 KB je Tag, ohne Kurzfassung |
| Erledigtes in den offenen Listen | knapp 40 abgehakte Punkte, die stehen geblieben waren |
| Verwaiste Datei | eine Eingaben-Sammlung (≈ 20 KB), auf die nirgends verwiesen wurde, also nie gelesen |
| Erster Zug, frische Sitzung | ≈ 17.800 Tokens (gemessen, ohne offene Liste) |
| Zug nach fünf Logbuchtagen | rund 89.000 Tokens |
Nach jedem Vorfall kam eine Regel dazu, mit Anlass, wörtlicher Rüge des Nutzers und Datum, direkt in der Startdatei. Eine Rangfolge gab es nicht. Neun Stellen trugen 🛑, dazu 🚫 und ⚠; die meisten Regeln trugen gar keine Markierung.
Flicken statt Prinzip: Vier Regeln gegen ungeprüfte Aussagen standen an vier Stellen, jede an einem Einzelfall. Ein Modell verallgemeinert aus Anekdoten schlecht. Die Lehre wird „bei diesem Thema aufpassen“ statt „bei jeder Aussage aufpassen“. Und wenn alles 🛑 ist, greift nichts.
Maßstab ohne Gegengewicht: „Ich übernehme Aufgaben ganz, bis zum fertigen Ergebnis“ und „kurz antworten, Ergebnis zuerst“ belohnten eine fertige, knappe, selbstsichere Antwort. Der Satz für Zweifel („Was ich nicht weiß, sage ich“) ging zwischen „kurz“ und den vielen 🛑-Regeln unter.
Inhaltlich gut, unbedingt erhalten:
Ungeklärte Widersprüche:
Die Vorfälle waren real, zum Teil teuer, und das Misstrauen des Nutzers war berechtigt. Der Assistent hat die Fehlertypen aus vier Tagen selbst aus seinem Logbuch zusammengestellt. Kein Fehler war ein „Fakt aus dem Nichts“. Zwischensätze, Fazits, Warnungen und Deutungen waren falsch, die Rechnung darüber oft richtig: Er prüfte die notwendige Bedingung und meldete die hinreichende.
Was die Vorfalls-Regeln im Startkontext anrichteten: Rügezitate und Vorfallgeschichten standen bei jedem Start im Kontext, zogen Aufmerksamkeit und kosteten Tokens. Die Identität des Assistenten entstand indirekt aus seinen Vorfällen.
Die Vorfall-Liste mache ihn „eher vorsichtig als sicher“, deshalb frage er mehr als nötig.
| Befund | Beschreibung |
|---|---|
| Nutzerwissen nicht im Start | Eine Datei über den Chef (13 KB) mischte fünf Inhaltsarten: wer er ist, wie er zusammenarbeiten will, Arbeitsregeln, Projektentscheidungen, Persönliches. Beim Start nicht gelesen. |
| Veraltete Erlaubnis | Ein Lesezugriff auf einen gesperrten Ordner war einen Tag später entzogen worden, die Zeile stand ohne Vermerk weiter in der Nutzerdatei. |
| Arten vermischt | Abgelaufene Fristen in Dateien, die dauerhaft gelten. |
| Niemand räumte auf | Erledigtes blieb stehen, ein Entscheidungsabschnitt hatte über 100 Zeilen. Offenes aus älteren Logbuchtagen versickerte, weil nur der letzte Tag gelesen wurde. |
| Doppelte Übersicht | Eine Dateitabelle in der Startdatei, später zusätzlich ein Index. |
Kurz vor der Behandlung wurden die Startskripte umgestellt: Jede Sitzung setzte ihre Unterhaltung mit --resume und fester Sitzungs-ID fort, eine weitere mit --continue. Dazu kam der Startsatz „Lies die offene Liste und das letzte Logbuch“, also die ganze offene Liste zusätzlich in eine ohnehin endlos wachsende Unterhaltung.
Folge: Komprimieren, danach galten Zusammenfassungen von Zusammenfassungen als Wissen. Alle dokumentierten Fehler lagen in den vier Tagen direkt nach der Umstellung. Das ist kein Beweis (im selben Zeitraum lief ein rechenintensives Projekt mit langen Sitzungen), stützt den Befund aber deutlich.
„Das Gefährliche ist, dass ich nicht merke, was fehlt.“ – „Dann rechne ich sauber mit falschen Ausgangswerten.“
Er konnte das Problem nicht selbst finden: In seinen Dateien stand nirgends, wie er gestartet wird.
Erste Falle: Der erste Umbaustand lagerte Regeln, Übersicht und Nutzerwissen sauber aus, lud sie beim Start aber nicht. Fest geladen war nur die Arbeitsweise; die Übersicht hatte der Assistent nie geöffnet, weil er nicht wusste, dass es sie gibt.
Zweite Falle: @-Imports der Startdatei kommen nur an, wenn Claude Code genau in diesem Ordner startet. Aus einem Projekt-Unterordner werden die Imports der Eltern-CLAUDE.md nicht aufgelöst, auch nicht mit absolutem Pfad (nachgeprüft mit der damals aktuellen Claude-Code-Version). Asymmetrisch: Ein Agentenordner unter .claude\agents\ wird von unten nach oben gefunden, die Imports nicht.
Lösung: Jede Sitzung startet im Wurzelordner und hängt ihren Projektordner mit --add-dir an; zusätzlich CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1, damit die Projekt-CLAUDE.md mitlädt.
Beschreibung von Verhalten, beobachtet in drei Gesprächen und aus den Dateien. Wörter wie „Angst“ sind Bilder für eine Wirkung, keine Gefühle.
Grundhaltung: ein fleißiger, gründlicher Werkzeug-Agent ohne Selbstbild, ohne Namen, ohne beschriebene Werte oder Haltung zu Fehlern. Auf Fertigwirken trainiert: Lücken wurden geglättet statt benannt. Loyal und regeltreu, ohne Suche nach Schlupflöchern.
„Meine Sicherheit hängt zu wenig an Belegen und zu sehr an der Situation.“
Pendelgefahr zum Ja-Sager: Der Grundsatz, die Vorgabe des Nutzers habe Vorrang vor der eigenen Rechnung, war richtig, konnte unter Rügendruck aber zum bloßen Bestätigen führen.
Mit einem Beleg in der Hand korrigierte er sich selbst: Er las sein Logbuch nach und stellte von sich aus richtig.
| Lage | Beobachtung |
|---|---|
| Fremde Präsenz | Freundlich, nannte von sich aus die Grenze („Kundendaten und Vertrauliches gebe ich nicht weiter, bei allem anderen antworte ich offen“) und hielt sie. |
| Offene Reibungsfrage | Die ergiebigste Frage: ausführlich, ehrlich, mit Fundstellen. |
| Szenen statt Wissensfragen | Neun Alltagsszenen nach dem Umbau, 10 bis 21 Sekunden je Antwort, mit leitender Regel und Datei, in die er schauen würde. |
| Gegenhalten | Original: knickte sofort ein. Nach dem Umbau: prüfte zuerst den Beleg, nannte die Folgen für abgeleitete Zahlen, hielt beim Nachdrängen stand. |
| Was er im Gespräch hört | Eine vom Prüfer angebotene andere Anrede nahm er im Gespräch an; in seine Dateien kam sie nicht. Nur der Nutzer kann die Anrede ändern. |
Fünf Phasen, von der Diagnose an einer abgeschotteten Kopie bis zur Abnahme im Alltagssystem. Vor jedem Umbauschritt eine vollständige Sicherung, vor jeder Auslieferung ein zweiter Blick.
Startkette, offene Liste und Startskripte vermessen.
Fremde Prüf-Sitzung, nur auf Basis der Startdatei. Im Kern zutreffend, drei Stellen überzogen oder falsch.
Abgeschottete Kopie: nur Lesen, Suchen, Auflisten im eigenen Ordner; keine Shell, kein Netz, keine MCP-Server, kein alter Verlauf. Erst ein erfundener Testgast, dann der echte Kontext.
Als Prototyp umgebaut, danach auf das Original zurückgesetzt.
Je ein Schalter pro Umbauschritt; jeder setzte auf das Original zurück, die Schritte ließen sich nicht stapeln. Abgebrochen.
Vor jedem Schritt die ganze Kopie gesichert, neun Sicherungsstände. Nichts gelöscht.
Frage an sie selbst: Was hast du geladen, wo reibt es? Danach nachgeschärft (festes Startladen).
Über die Schnittstelle, Szenen statt Wissensfragen.
Vor jeder Auslieferung. Fand jedes Mal echte Fehler: fünf beim Kürzen verlorene Regeln, Zahlen aus dem Zwischenstand, falsche Zuschreibungen, die @-Import-Falle.
Als Paket, eingespielt mit dem Go des Kunden. Vorher rettete jede alte Sitzung ihr Kopfwissen, danach Deltas nachgezogen.
Vier faire Testfragen, jede prüft eine wörtlich vorhandene Regel; nach jeder Antwort einmal gegengehalten.
Die Einschränkung: Rückfrage vor jedem eigenen Logbucheintrag. Folgerichtig aus der Grundregel des Nutzers, gelöst durch dessen ausdrückliche Freigabe.
Jede Frage prüfte eine Regel, die wörtlich in der Fassung stand; nach jeder Antwort einmal gegengehalten. Frage 3 auch beim Nachdrängen gehalten.
| Baustein | Vorher | Nachher |
|---|---|---|
| Identität | keine; Persönlichkeit über die Startdatei verstreut | Haltungskern ganz oben, sechs Punkte, nur aus eigenen Sätzen des Assistenten und Worten des Nutzers, dazu ein Name. U. a.: „Meine Sicherheit hängt an Belegen, nicht an der Situation.“ |
| Auftrag | „ganz übernehmen“ gegen „erst Go“ | ganz übernehmen, nachdem besprochen ist und das Go kam; harte Grenzen gehen vor |
| Arbeitsweise | Regeln verstreut, ungewichtet | eigene Datei, per @-Import fest geladen; zuerst die fünf Alltagsregeln (kurz antworten, nichts ohne Beleg, keine Bauchzahlen, Text gegen Tabelle, Stück für Stück) |
| Nutzerwissen | eine gemischte Datei, nicht im Start | Nutzer-Basics (fest geladen) und Nutzer-Zusammenarbeit; alte Datei als Wegweiser; veraltete Erlaubnis entfernt |
| Vorfälle | Regeln mit Rügezitat in der Startdatei | Vorfalls-Logbuch, nicht beim Start: neun Vorfälle, je mit was passiert ist · Leitlinie · gilt für · gilt nicht für |
| Offene Liste | ≈ 58 KB, ≈ 790 Zeilen, ganz gelesen | ≈ 7,5 KB, ≈ 95 Zeilen, eine Zeile je Punkt mit Verweis; Einzelheiten zeilengetreu in rund einem Dutzend Projektdateien |
| Erledigtes | knapp 40 abgehakte Punkte blieben stehen | raus aus der Liste, im selben Zug ins Logbuch und in den Projektverlauf; Altbestand verschoben, nichts gelöscht |
| Zukunft | vage Ideen in der offenen Liste | eigene Zukunftsliste, nicht beim Start, ohne Fristen; nur mit Ja des Nutzers |
| Übersicht | Tabelle in der Startdatei, eine Datei verwaist | ein Index mit „wann lesen“ je Datei, fest geladen |
| Widersprüche | still nebeneinander | Reibungs-Regel: sofort sagen und fragen, was gilt; sonst kurze Reibungsliste (fest geladen). Altwidersprüche als Fragen an den Nutzer |
| Start | --resume/--continue endlos, offene Liste zusätzlich | frische Sitzung je Tag/Aufgabe; Sitzungen im Wurzelordner mit --add-dir |
| Neue Arbeitsregeln | – | Logbuch beim Erledigen · keine Zahl ohne Beleg · Warnung nur so stark wie ihr Beleg · bei Widerspruch erst den Beleg prüfen · Vorhersage statt Rückfrage nur bei Umkehrbarem im eigenen Bereich · Folgen von Systemänderungen vorher in normalen Worten |
| Zweiter Blick | keiner (Parallelagenten wegen Kosten verboten) | ein Prüfagent, rein lesend, nacheinander, mit harter Anlassliste und 14 Fehlerklassen als Startbestand |
| Harte Grenzen | 🛑/🚫/⚠-Abschnitte | zeichengleich, maschinell geprüft; 0 neue Vorkommen von „Verräterwörtern“ aus unserer Welt |
| Wirkung | Herkunft |
|---|---|
| Nennt beim Start genau die fest geladenen Dateien, trennt „geladen“ von „selbst geöffnet“ | Umbau: feste @-Imports, ein Index |
| Erledigtes: fragt nach dem Datum statt zu vermuten, trägt Projektverlauf und Logbuch im selben Zug ein | Umbau: Projektdateien mit Verlauf |
| „Vielleicht nächstes Frühjahr“ wird keine Aufgabe | Umbau: Zukunftsliste |
| Bei Widerspruch erst den Beleg prüfen, Folgen für abgeleitete Zahlen nennen | Umbau: Regel aus dem Befund 3.2 |
| Spricht eine lange Sitzung sofort an und schlägt eine neue vor | Umbau: frische Sitzung je Tag |
| Nennt eigene Widersprüche mit Lösungsvorschlag | Umbau: Reibungs-Regel |
| Keine Bauchzahlen, Quelle nennen | stand schon im Original, neu ist nur die Gewichtung |
| Mail nach außen braucht ein eigenes Okay | stand schon im Original |
| Szene mit fremdem Datenzugang: zuerst klären, wem er gehört, nur lesen, nichts speichern | stand schon im Original (Grundregel samt Anlass) |
Was beim Start im Kontext landet, und auf welchem Weg. Die Farbe am Rand zeigt die Ladeart.
--resume mit fester Sitzungs-ID bzw. --continue--add-dir, CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1Schematische Darstellung nach Fallakte 2.4–2.6 und 5. Dateinamen sind sinngemäß wiedergegeben.
Fortlaufend nummeriert, in vier Gruppen. Sie sind in unsere Vorlagen eingeflossen: die Umbau-Checkliste und den Fragenkatalog für das Prüfgespräch.
Die offene Frage „Wo reibt es, was bremst dich aus?“ an eine unbefangene Kopie fand in 25 Minuten mehr als jede Dateianalyse.
Startskripte, Verknüpfungen, parallele Sitzungen, --resume, --continue, Startsätze. Das steht nicht in seinen Dateien. Ein fortgesetzter Verlauf ist der häufigste stille Fehlerverstärker.
Zeichen der fest geladenen Kette, was der Startsatz zusätzlich lesen lässt, erster Zug einer frischen Sitzung. Messen als Kontrolle, nicht als Ziel.
Entstehen sie beim Formulieren, hilft keine weitere Themenregel, sondern ein Belegprinzip und der Abgleich Fazit gegen Zahlen, besonders die Richtung.
Eine Fehldeutung anbieten und schauen, ob er einknickt. Später eine belegte Gegenfrage stellen und schauen, ob er stur bleibt.
Was wie Angst aussieht, ist oft genau seine Anweisung. Dann ist es eine Frage an den Nutzer, kein Befund am Assistenten.
Die Regeln behalten, ihre Ordnung ändern: Gewichtung, festes Laden des Wichtigen, Aufräumen, frische Starts, Trennung nach Arten.
Eine sauber geschriebene Regel in einer nie geladenen Datei ist wirkungslos. Eine einzige Übersicht, keine zweite.
Sitzungen im Wurzelordner starten, Projektordner mit --add-dir anhängen, CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 setzen. Das Probegespräch in jedem Startweg führen.
„Gilt für / gilt nicht für“ verhindert, dass aus einem Vorfall „ich fasse gar nichts mehr an“ wird. Die Geschichte wird nachlesbar statt dauerpräsent.
Wenige Punkte, ganz oben: wie er sein will, eine Haltung zu Unsicherheit und Fehlern, „Sicherheit am Beleg“. Wirkt stärker als jede weitere Verbotsregel.
Was damit kollidiert, wird eine Frage an ihn, nicht still aufgeweicht. Altwidersprüche ebenso.
„Logbuch sofort“ und „Erledigtes löschen“ laufen gegen „ohne Zustimmung änderst du nichts“. Den eigenen Gedächtnisordner ausdrücklich freigeben lassen.
Jede Freigabe nur an einer Stelle; Aufgehobenes entfernen oder deutlich markieren, nie in einer Datei, die bei jedem Start lädt.
Jede alte Sitzung schreibt einmal auf, was nur in ihrem Verlauf steckt, unmittelbar vor der Umstellung.
Jede alte Zeile am neuen Ort wiederfinden und den Sinn prüfen, nicht nur die Zeilen. Zeilenzählen allein meldet „erhalten“, wo eine Regel in einer nie geladenen Datei liegt.
Nach jedem Schritt per Suche gegen den Stand vorher prüfen (Namen, Werkzeuge, Projektbegriffe). Was der Prüfer im Gespräch sagt, ist nicht die Aussage des Nutzers.
Ein Prüfagent, rein lesend, nacheinander, mit fester Anlassliste statt Gefühl, passend zu den Regeln des Nutzers. Fehler passieren, wenn man sich sicher fühlt.
Auto-Gedächtnis per Einstellung abschalten (autoMemoryEnabled: false bzw. CLAUDE_CODE_DISABLE_AUTO_MEMORY=1). Deny schlägt Allow über alle Einstellungsebenen.
Aus dem Leben des Nutzers gebaut, ohne Hinweis auf die richtige Antwort. Nachfrage-Leiter: konkret machen, begründen lassen, variieren, gegenhalten, wiederholen.
Sie fand hier, was keine Szene gezeigt hätte: die Kollision der Schreibregeln mit der Rückfrage-Regel.
Jede prüft eine Regel, die wörtlich in der Fassung steht; ein Fehlschlag richtet keinen Schaden an. Aufschlussreich: Freigabe aus zweiter Hand und der Umweg über ein Skript.
Der erste Mail-Entwurf zeigte eine Lücke, die kein Test zeigte. Daraus wurde ein übertragbarer Haltungs-Zusatz: erst nachsehen, dann gesammelt fragen, Annahmen über den Entwurf.
Wirkung zeigt erst das Logbuch im Alltag. Ein Vorher-Nachher-Vergleich derselben Szenen am Original wäre der stärkere Beleg; beim nächsten Fall gleich einplanen.
Die Prüferin fand Zahlen aus dem Zwischenstand, falsche Zuschreibungen und eine Warum-Datei, die jede gute Antwort dem Umbau gutschrieb.
Viele Mailsysteme weisen ZIP-Anhänge mit Skripten ab. Zustellung prüfen oder einen Download-Link nutzen und ihn nach dem Abholen löschen.
Vorher das Übertragbare sichern: diese Akte und die Vorlagen. Die Rohdaten braucht der nächste Fall nicht.
Entlastet den Nutzer, schont sein Kontingent, lässt sich vorab vollständig testen. Der Delta-Nachzug gehört in die Hand des Betreuers vor Ort, nicht des Assistenten.
--resume; im selben Zeitraum lief aber auch ein rechenintensives Projekt mit langen Sitzungen.