Kontext-Vergiftung
Erfahre, was Kontext-Vergiftung ist, wie du sie in einer Bob-Shell-Sitzung erkennst und wie du durch das Starten einer neuen Sitzung oder bessere Kontext-Hygiene wieder auf Kurs kommst.
Über Kontext-Vergiftung
Kontext-Vergiftung tritt auf, wenn falsche oder irrelevante Informationen in das Kontextfenster gelangen und im Transkript verbleiben. Bob behandelt die Informationen bei Folgeprompts als Tatsache. Antworten werden ungenau. Tool-Aufrufe werden unzuverlässig. Das Arbeitsziel geht verloren.
Dies unterscheidet sich von einer einzelnen schlechten Antwort. Die schlechten Daten sitzen in Messages (oder kamen durch ein Datei-Lesen, einen Befehlsausgabe-Einfügevorgang oder einen veralteten Kommentar hinein). Bob sendet sie bei jedem Prompt erneut, bis du zurücksetzt oder eine neue Sitzung startest.
Informationen dazu, wie das Fenster sich füllt und wann eine neue Sitzung gestartet werden sollte, findest du unter Kontextfenster-Verwaltung.
Symptome
Du hast es wahrscheinlich mit Kontext-Vergiftung zu tun, wenn du Folgendes bemerkst:
- Schlechtere Ausgabe: Vorschläge wiederholen sich, schweifen ab oder passen nicht mehr zum Repository.
- Falsche Tool-Nutzung: Tool-Schritte im Transkript stimmen nicht mehr mit dem überein, was du angefordert hast.
- Feststeckende mehrstufige Arbeit: Lange Multi-Prompt-Abläufe wiederholen sich oder kommen ins Stocken.
- Kurzlebige Korrekturen: Ein korrigierender Prompt hilft einmal, aber dann kehrt das Problem zurück.
- Tool-Verwirrung: Bob verwendet Tools falsch, obwohl sich Tool-Definitionen nicht geändert haben.
Wenn Messages bereits groß ist, prüfe zunächst deine Token-Nutzung. Vergiftung und ein überfülltes Fenster treten oft zusammen auf.
Häufige Ursachen
| Ursache | Was passiert |
|---|---|
| Falsche Fakten in der Sitzung | Bob stellt etwas Falsches fest. Spätere Gespräche behandeln es als Tatsache in Messages. |
| Veralteter oder falscher Repository-Text | Veraltete Kommentare, README-Fragmente oder generierte Docs führen Datei-Lesevorgänge in die Irre. |
| Übermäßig große Einfügungen | Logs oder Snippets mit Rauschen, Abschneidungen oder versteckten Zeichen landen in Messages. |
| Kondensierung | Bob fasst ältere Messages zusammen. Nützliche Details verschwinden. Was übrig bleibt, kann die Sitzung dominieren. |
| Irrelevanter Kontext | Nicht verwandte Dateien, alte Pläne oder ein früheres Arbeitsziel befinden sich noch im Transkript. |
Sobald schlechter Kontext in Messages ist, bleibt er bei jedem nachfolgenden Prompt bestehen. Bob ignoriert plausiblen Text nicht zuverlässig, nur weil er falsch ist.
Einschränkungen von Korrektiv-Prompts
Das Einfügen von Tool-Definitionen, Regeln oder einem strengen Korrektiv-Prompt in die Unterhaltung kann das Problem für ein oder zwei Gespräche maskieren. Der vergiftete Messages-Verlauf ist jedoch weiterhin vorhanden. Die nächste themenfremde Frage kann denselben Fehler wieder auslösen.
Die zuverlässige Lösung ist eine neue Sitzung: Beende die Sitzung und starte bob erneut, um neu zu beginnen. Dadurch werden vergiftete Messages gelöscht, während Regeln und Projektdateien auf der Festplatte erhalten bleiben.
Wiederherstellung
- Starte eine neue Sitzung, indem du die Sitzung beendest und
boberneut ausführst. Dadurch werden vergiftete Messages gelöscht, während Regeln und Projektdateien auf der Festplatte erhalten bleiben. - Weniger einfügen. Sende nur die Log-Zeilen oder Fehler, die Bob benötigt. Große Mengen erhöhen Messages und führen zu mehr Risiko.
- Das Arbeitsziel aufteilen. Verwende separate Sitzungen für nicht zusammenhängende Schritte, damit ein veraltetes Transkript nicht übertragen wird.
- Tool-Ausgabe prüfen. Wenn ein Tool Müll zurückgibt, stoppe und starte eine neue Sitzung, anstatt Bob darauf aufbauen zu lassen in Messages.
- Tests über Text vertrauen. Wenn Kommentare und Code nicht übereinstimmen, weise Bob auf ausführbare Prüfungen hin. Dies ist dieselbe Empfehlung wie bei Best Practices für das Kontextfenster.
Prävention
Die meiste Prävention ergibt sich aus guter Kontext-Hygiene:
- Das Arbeitsziel vor der Repository-Erkundung eingrenzen (Kontextfenster-Verwaltung).
AGENTS.mdund Regeln kurz und operativ halten.- Dateien und Logs bei Bedarf hinzufügen, nicht im Voraus.
- Zurücksetzen, wenn Messages ohne Fortschritt wächst.
Für repository-weite Lesevorgänge verwende Subagenten, damit die Sitzung Subagenten-Ergebnisse sieht, nicht jeden Tool-Schritt in Messages.