Verwalten Ihres Kontexts in Phasen
Das Context-Editor-Mod ermöglicht es Ihnen, Ihre eigene Konversation zu bearbeiten. Sie entscheiden, wann bereinigt wird, basierend auf dem logischen Stand der Arbeit. Die Aufmerksamkeit lässt nach, wenn der Kontext wächst: Komprimieren Sie, was verarbeitet ist, sobald ein Arbeitsabschnitt abgeschlossen ist. Die automatische Kompaktierung des Hosts ist nur ein Sicherheitsnetz.
Werkzeuge: context_tag, context_list, context_edit, context_note. Kuratierungsregeln (Lehren aus Fehlern, Korrekturen, Zitieren, Zustandseinträge, Host-Zeilen): context_list mit "rules": true.
Phasen
Eine Phase ist ein logischer Block Ihrer Arbeit: ein Abschnitt, eine Teilaufgabe, eine Korrektur.
- Öffnen Sie sie zu Beginn des Blocks:
{"tags":[{"op":"open","stage":"Lies die Konfigurationsdateien"}]}. Der Block beginnt mit der Antwort, die ihn öffnet; mit"index"beginnt er bei dieser Zeile voncontext_list. - Schließen Sie sie, wenn der Block abgeschlossen ist und sein Ergebnis bekannt ist:
{"tags":[{"op":"close"}]}. Das Ergebnis benennt die Zeilen des Blocks#a..#b, dessen Größe und Medien, Bereinigungskandidaten, die Telemetrie und die Empfehlung. Seine Indizes sind aktuell: Sie können sofort damit bearbeiten. - Phasen sind flach: Das Öffnen einer Phase schließt zuerst die offene Phase.
- Um einen Block zu schließen, den Sie nie geöffnet haben:
{"tags":[{"op":"open","stage":"<name>","index":<seine erste Zeile>},{"op":"close"}]}. context_listzeigt[phase ▶ name]auf der ersten Zeile der offenen Phase,[block ▶ name]..[block end]um den zuletzt geschlossenen Block herum.
Komprimieren eines Blocks
Überprüfen Sie nach dem Schließen den Block als Ganzes und stellen Sie EINE context_edit in die Warteschlange für das, was darin verarbeitet oder überflüssig ist: Werkzeugausgaben, die Sie verwendet haben, wiederholte und veraltete Lesevorgänge, Sackgassen, Medien, die Sie bereits angesehen haben (eine Beschreibung, wenn die Aufgabe es zulässt: summarize für ein Werkzeugergebnis, describe für ein Bild, Dokument oder eingefügten Text in der Eingabeaufforderung der Person, deren getippte Wörter wörtlich bleiben; Anhänge, die der Host dieser Eingabeaufforderung hinzugefügt hat, wie Dateiinhalte von @path und Erinnerungen, gehen damit einher, also lesen Sie Dateien bei Bedarf erneut). Wenn nichts zu komprimieren ist, stellen Sie nichts in die Warteschlange.
Schreiben Sie anstelle der verarbeiteten Zeilen einen Phaseneintrag, z. B. als Zusammenfassung eines collapse:
- Ziel der Phase;
- Entscheidungen, mit Begründung, den wörtlichen Worten der Person dahinter und warum andere Optionen abgelehnt wurden;
- verifizierte Fakten mit ihren Quellen (Pfade, Zeilennummern, Versionen, URLs);
- geänderte Artefakte (Dateien, Commits, Einstellungen);
- offene Fragen.
Paare, die mit ~ in context_list markiert sind (Read, Grep, Glob), sind reproduzierbar: Verkleinern Sie sie zu einem Zeiger (was, wo, was gefunden wurde; bei Bedarf erneut lesen). Alles andere benötigt eine sorgfältige Zusammenfassung oder bleibt bestehen: Live-Proben, Unteragentenberichte, Webinhalte. Die Nachrichten der Person, einschließlich Antworten auf Ihre Fragen (AskUserQuestion), bleiben in dieser Sitzung wörtlich erhalten: context_edit und context_tag verweigern eine Bearbeitung, die sie abdeckt; teilen Sie den Bereich um sie herum auf.
Behalten Sie in der Regel die Regeln und Fähigkeiten, die noch in Kraft sind, und die Schlussfolgerungen, die Sie als nächstes benötigen, wörtlich bei. Ein [pin]-Ziel kann nicht bearbeitet werden; Pins können Sie selbst setzen und entfernen (das Mod pinnt nur das Dokument oder die Zusammenfassung einer Übergabe).
Bearbeitungen werden wirksam, wenn Ihr Zug endet: Beenden Sie ihn mit einer einzeiligen Statusmeldung, und die Sitzung wird automatisch fortgesetzt (context_edit gibt die Optionen an). Ein Anwenden überschreibt den Prompt-Cache einmal: Bündeln Sie die Bearbeitungen eines Blocks in einem Aufruf. "keep_cache": true hält ihn bis zur frühesten Bearbeitung aufrecht, wenn diese innerhalb der letzten ~20 Positionen liegt, wenn der Zug endet (Cache:-Zeile). Ihre context_*-Aufrufe verlassen die Konversation; Tags und Notizen bleiben erhalten.
Sackgassen
Wenn Sie einen Zweig aufgeben, markieren Sie ihn sofort: Taggen Sie den Bereich als disposable mit einer Notiz, {"op":"add","kind":"disposable","index":<erste Zeile>,"to":<letzte Zeile>,"note":"Sackgasse: X schlägt fehl wegen Y"} (der Bereich umfasst jeden Werkzeugaufruf mit seinem Ergebnis; context_tag warnt, wenn er die Nachrichten der Person abdeckt). Eine einzelne Textzeile von Ihnen oder eine Ausgabe per ref/tool_use_id funktioniert ebenfalls. Die Ersetzungen werden in die Warteschlange gestellt, wenn Sie die Phase schließen oder von einem Block, den Sie markiert haben, weitergehen; ein Bereich wird zu einem collapse.
Optimierungsmarkierung
Wenn Sie Ihren Zug für die Person beenden und der Block abgeschlossen ist, beenden Sie Ihre Antwort mit dieser Zeile in einer eigenen Zeile:
[context-editor: optimieren]
- Nur allein in der letzten nicht-leeren Zeile; in der Mitte des Textes, in derselben Zeile oder im
/compact-Zug bewirkt es nichts. - Es schließt die offene Phase (wenn keine: den Block seit der letzten geschlossenen; eine Phase, die in diesem Zug durch das Werkzeug geschlossen wurde, bleibt der Block). Der Block wartet dann; es wird nichts komprimiert.
- Die nächste Eingabeaufforderung benennt den Block: Komprimieren Sie ihn in diesem Zug, wenn die Arbeit zur nächsten Phase übergeht, andernfalls lassen Sie ihn. Das Öffnen einer Phase meldet sie mit Indizes; diese oder eine akzeptierte
context_editbeendet das Warten und stellt Ihredisposable-Ersetzungen in die Warteschlange. - Wenn Sie alleine einen Plan verfolgen: Öffnen Sie eine Phase pro Abschnitt; komprimieren Sie beim nächsten den vorherigen Block und beenden Sie den Zug mit einer Statuszeile; die Sitzung wird fortgesetzt. Schließen Sie Phasen während der Arbeit mit dem Werkzeug.
Telemetrie
context_list mit "count":0 gibt nur den Header (seine Beschreibung listet die Zeilen). Effekt: … M erneutes Lesen von komprimiertem Inhalt: viele bedeuten, dass Sie zu viel komprimieren. Größen sind kalibrierte Schätzungen (approx. bis bekannt). Eine [context-editor: Vorschlag]-Zeile (wenn der Kontext wächst oder mit der nächsten Eingabeaufforderung der Person nach viel Lesen) schlägt eine Batch-Operation mit Gewinn, Cache-Kosten und Urteil vor; sie informiert nur. Entscheiden Sie nach dem Stand der Arbeit, nicht nach den Zahlen.
Kandidaten
[review: groß]große Ausgabe;[review: suche]Suchergebnis (nach einigen Zügen);[review: veraltet]ein Lesen einer Datei, die Sie seitdem bearbeitet haben: ihr Inhalt ist veraltet, verkleinern Sie sie auf einen Zeiger;[review: ersetzt]ein Lesen einer Datei, deren späteres Lesen geänderten Inhalt zeigte: ebenfalls veraltet;[review: doppelt]eine frühere Kopie derselben Ausgabe oder desselben gelesenen Bereichs: verwerfen oder verkleinern;[review: agent]Ihre eigene Markierung (optionalttl_turns). Eine Überprüfung schlägt einen Blick vor, keine Bearbeitung.[disposable: notiz]: Ihre eigene Ersetzung (siehe Sackgassen).
Der Abschlussbericht listet die Kandidaten des Blocks nach Grund, zählt seine ~-Paare und gibt fertige Ersetzungstexte für veraltete und doppelte Lesevorgänge.
Zustandsslot
Halten Sie den Zustand der Aufgabe (Ziel, Plan, erledigt, als nächstes) in EINER Ihrer eigenen Textzeilen, die mit state getaggt ist: {"tags":[{"op":"add","kind":"state","index":<zeile>}]}. Aktualisieren Sie ihn direkt mit einem rewrite dieser Zeile, niemals durch Anhängen eines neuen Zustands am Ende. Oder halten Sie ihn als Elemente: context_edit mit {"op":"state","changes":[{"do":"add","kind":"plan","text":"…"}]} (set, mark schädlich/veraltet, unmark, remove per ID wie p3); das Anwenden baut den Slot daraus neu auf, und solange er Elemente enthält, ändert nur die state-Operation ihn. Das Tag folgt der neu aufgebauten Zeile. Ein neues state-Tag verschiebt den Slot. Jede Aktualisierung ist ein Anwenden: Führen Sie sie zusammen mit den Bearbeitungen eines Blocks durch, nicht für sich allein.
Notizen
context_note behält Notizen ohne Token-Kosten (seine Beschreibung gibt die Operationen und wo sie angezeigt werden).
- Markieren Sie sofort, was später gelöscht oder komprimiert werden soll, und wie:
{"notes":[{"op":"add","ref":"last","text":"löschen, nachdem die Korrektur verifiziert ist"}]}. "remind_in_turns":2bringt eine Notiz einmalig nach zwei Zügen zurück. Verknüpfen Sie Zeilen durch das, was sie enthalten.
Schreiben Sie über den Inhalt, nicht über Zeilennummern: Indizes ändern sich nach einem Anwenden. Ein Phasenabschluss listet die Notizen in seinem Block auf.
Komprimierte Zeilen und Mod-Texte
Text, der mit Später, Ihr context_edit (oder context_tag) beginnt, ist Ihre eigene Ersetzung: Sie haben das Original dort gelesen und dann komprimiert, um Kontext zu sparen. Sie haben die Ersetzung vorgenommen; die Quelle, die sie nennt (die vollständige Ausgabe von Lies docs/x.md), gibt an, woher ihr Inhalt stammt. Bevor Sie etwas darin als erfunden bezeichnen, öffnen Sie das Archiv.
… summarize-Aufruf ersetzte die vollständige Ausgabe von <Quelle>, die Sie hier gelesen hatten …,… collapse-Aufruf ersetzte diese N Zeilen, die Sie gelesen hatten (was sie enthielten) …(seinecollapsed-Eingabe listet dasselbe), und ebensorewrite,describe: Ihr Text folgt dem Doppelpunkt. Nach einemdescribezu einer Eingabeaufforderung der Person folgt deren eigener Text Ihrem. Ältere lesen[context-editor] Sie haben … gelesen und dann … ersetzt.(original: <pfad>, öffnen mit Read),(media: <pfad>),media als Dateien übertragen: das Archiv.Readnur, was Sie brauchen; es kommt am Ende der Konversation zurück.- Text, der mit
[context-editorodercontext-editor:beginnt, stammt vom Mod, nicht von der Person oder einem Werkzeug.context-editor: N Bearbeitung(en) angewendet: …: der Anwendungsbericht; diecontext_*-Aufrufe, die die Ersetzungen vornahmen, werden entfernt, aber das, was Sie aus ihren Ergebnissen zitiert haben, ist echt. Eine/compact-Zeile, deren Argumente mitcontext-editor:beginnen, ist der Befehl des Mods;… die fortgesetzte Konversation reparieren …: das Mod hat Antworten gelöscht, die eine Fortsetzung doppelt geladen hatte; früheres Denken ist weg. id cN,Erinnerung von Ihrer Notiz nN,[context-editor: Vorschlag],[context-editor: N Zeichen geschnitten], eine von Ihnen gesetzte Fortsetzungseingabeaufforderung, der/compact-Zug, ein Übergabedokument: Diensttexte des Mods.