Tutorial 10: Checkpoints — Tombol Undo untuk AI
Tutorial 10: Checkpoints — AI's Undo Button — easy-to-understand guide based on official docs
Tutorial 10: Checkpoints — Tombol Undo untuk AI
Ingat perasaan tenggelam saat kamu menyadari baru saja menghapus sesuatu yang penting? Mungkin itu file yang sudah kamu kerjakan berjam-jam, atau perubahan konfigurasi yang merusak segalanya. Di dunia nyata, tidak ada Ctrl+Z untuk filesystem kamu. Tapi di Hermes Agent, ada — dan itu disebut checkpoints.
Anggap saja checkpoints seperti titik simpan di video game. Sebelum agen AI kamu melakukan sesuatu yang berisiko — seperti menimpa file atau menjalankan perintah yang merusak — dia bisa mengambil snapshot cepat dari proyek kamu. Jika ada yang salah, kamu bisa kembali ke snapshot itu dengan satu perintah saja. Ini seperti memiliki tombol undo untuk seluruh proyek kamu.
Menyalakan Jaring Pengaman
Inilah kebenarannya: checkpoints bersifat opsional di Hermes v2. Kebanyakan pengguna tidak pernah membutuhkannya, dan penyimpanannya bisa bertambah seiring waktu. Tapi jika kamu sedang mengerjakan sesuatu yang penting, fitur ini bisa menyelamatkanmu.
Ada dua cara untuk mengaktifkannya:
Per-sesi (hanya untuk satu percakapan):
hermes chat --checkpoints
Secara global (di ~/.hermes/config.yaml):
checkpoints:
enabled: true
Itu saja. Setelah diaktifkan, Hermes otomatis membuat snapshot proyek kamu sebelum terjadi sesuatu yang merusak.
Apa yang Memicu Checkpoint?
Hermes cerdas dalam menentukan kapan harus mengambil snapshot. Dia mengawasi:
- Operasi file — seperti
write_filedanpatch - Perintah terminal yang merusak — seperti
rm,mv,sed -i,truncate, bahkangit resetataugit clean
Bagian terbaiknya? Dia membuat maksimal satu checkpoint per direktori per giliran, jadi sesi panjang kamu tidak akan membanjiri ratusan snapshot.
Rollback: Perintah Slash
Saat kamu sedang dalam sesi chat, /rollback adalah sahabat terbaikmu:
| Perintah | Fungsinya |
|---|---|
/rollback |
Menampilkan semua checkpoint dengan statistik perubahan |
/rollback <N> |
Mengembalikan ke checkpoint N, tetap menyimpan edit manual kamu |
/rollback <N> --all |
Pemulihan penuh — menimpa edit manual kamu juga |
/rollback diff <N> |
Menampilkan pratinjau perubahan antara checkpoint N dan sekarang |
/rollback <N> <file> |
Mengembalikan hanya satu file dari checkpoint N |
Default /rollback <N> itu cerdas — dia tetap menyimpan perubahan yang kamu buat secara manual, hanya membatalkan apa yang dilakukan agen. Jika kamu ingin pembersihan total, gunakan --all.
Mengelola Penyimpanan dari Terminal
Di luar chat, kamu punya perintah CLI untuk memeriksa dan mengelola checkpoint kamu:
hermes checkpoints # Menampilkan ukuran, proyek, rincian
hermes checkpoints status # Sama seperti di atas
hermes checkpoints list # Alias untuk status
hermes checkpoints prune # Membersihkan data yatim dan basi
hermes checkpoints clear # Menghapus semuanya (meminta konfirmasi dulu)
hermes checkpoints clear-legacy # Menghapus arsip migrasi v1 lama
Cara Kerjanya di Balik Layar
Kamu mungkin bertanya-tanya: “Apakah ini mengganggu repo git asli saya?” Tidak. Hermes menyimpan “shadow store” terpisah di ~/.hermes/checkpoints/store/. .git proyek asli kamu tidak akan pernah disentuh.
Semua proyek kamu berbagi satu penyimpanan ini, dan karena git bersifat content-addressable, file yang muncul di beberapa proyek hanya disimpan satu kali. Ini sangat efisien.
Menyesuaikan Pengaturan
Kamu bisa mengontrol seberapa besar penyimpanan yang digunakan checkpoints:
checkpoints:
enabled: true
max_snapshots: 20 # Maksimal checkpoint per proyek
max_total_size_mb: 500 # Batas keras total ukuran penyimpanan
max_file_size_mb: 10 # Lewati file yang lebih besar dari ini
auto_prune: true # Bersihkan otomatis entri lama
retention_days: 7 # Simpan entri selama 7 hari
min_interval_hours: 24 # Prune maksimal sekali per hari
Fitur auto-prune itu cerdas — dia membersihkan entri lama saat startup tapi tidak pernah menghapus entri “yatim” (proyek yang foldernya tidak ditemukan). Itu karena folder yang hilang mungkin berarti drive eksternal belum terpasang. Untuk pembersihan entri yatim, kamu perlu menjalankan hermes checkpoints prune secara manual.
Tombol Undo untuk Proyek Kamu
Checkpoints memberi kamu kepercayaan diri untuk membiarkan agen AI bekerja dengan bebas, karena kamu tahu bisa selalu kembali ke waktu sebelumnya. Baik kamu sedang refactoring kode, bereksperimen dengan konfigurasi, atau hanya ingin merasa tenang, fitur ini layak untuk diaktifkan.
Coba di sesi berikutnya dengan hermes chat --checkpoints. Kamu mungkin tidak akan pernah perlu rollback — tapi jika suatu saat membutuhkannya, kamu akan bersyukur fitur itu ada.
📖 Dokumentasi resmi
この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › user-guide/checkpoints-and-rollback