Skip to main content
File Checkpointing verfolgt Dateiänderungen, die während einer Agent-Sitzung durch die Tools Write, Edit und NotebookEdit vorgenommen werden, und ermöglicht es Ihnen, Dateien in jeden vorherigen Zustand zurückzusetzen. Möchten Sie es ausprobieren? Springen Sie zum interaktiven Beispiel. Mit Checkpointing können Sie:
  • Unerwünschte Änderungen rückgängig machen, indem Sie Dateien in einen bekannten guten Zustand zurücksetzen
  • Alternativen erkunden, indem Sie zu einem Checkpoint zurückkehren und einen anderen Ansatz versuchen
  • Von Fehlern wiederherstellen, wenn der Agent fehlerhafte Änderungen vornimmt
Nur Änderungen, die durch die Tools Write, Edit und NotebookEdit vorgenommen werden, werden verfolgt. Änderungen, die durch Bash-Befehle vorgenommen werden (wie echo > file.txt oder sed -i), werden vom Checkpoint-System nicht erfasst.

Wie Checkpointing funktioniert

Wenn Sie File Checkpointing aktivieren, erstellt das SDK Sicherungen von Dateien, bevor diese durch die Tools Write, Edit oder NotebookEdit geändert werden. Benutzermeldungen im Response-Stream enthalten eine Checkpoint-UUID, die Sie als Wiederherstellungspunkt verwenden können. Checkpointing funktioniert mit diesen integrierten Tools, die der Agent zum Ändern von Dateien verwendet:
File Rewinding stellt Dateien auf der Festplatte in einen vorherigen Zustand wieder her. Es setzt das Gespräch selbst nicht zurück. Der Gesprächsverlauf und der Kontext bleiben nach dem Aufrufen von rewindFiles() (TypeScript) oder rewind_files() (Python) intakt.
Das Checkpoint-System verfolgt:
  • Dateien, die während der Sitzung erstellt wurden
  • Dateien, die während der Sitzung geändert wurden
  • Den ursprünglichen Inhalt geänderter Dateien
Wenn Sie zu einem Checkpoint zurückspulen, werden erstellte Dateien gelöscht und geänderte Dateien auf ihren Inhalt an diesem Punkt zurückgesetzt.

Checkpointing implementieren

Um File Checkpointing zu verwenden, aktivieren Sie es in Ihren Optionen, erfassen Sie Checkpoint-UUIDs aus dem Response-Stream und rufen Sie rewindFiles() (TypeScript) oder rewind_files() (Python) auf, wenn Sie Dateien wiederherstellen müssen. Das folgende Beispiel zeigt den vollständigen Ablauf: Aktivieren Sie Checkpointing, erfassen Sie die Checkpoint-UUID und Session-ID aus dem Response-Stream, und setzen Sie die Sitzung später fort, um Dateien zurückzuspulen. Jeder Schritt wird unten im Detail erläutert. Die Beispiele in diesem Abschnitt verwenden die Eingabeaufforderung „Refactor the authentication module”. Führen Sie sie in einem Projekt aus, das ein Authentifizierungsmodul enthält, oder ändern Sie die Eingabeaufforderung, um Dateien zu benennen, die in Ihrem Projekt vorhanden sind, damit Sie Dateiänderungen beobachten und sehen können, wie das Zurückspulen sie wiederherstellt.