🤖HermesBlog
Hermes Official Tutorials · Parte 108/9/2026

บทช่วยสอน 10: Checkpoints — ปุ่มเลิกทำของ AI

Tutorial 10: Checkpoints — AI's Undo Button — easy-to-understand guide based on official docs

Hermes tutorial

บทช่วยสอน 10: Checkpoints — ปุ่มเลิกทำของ AI

จำความรู้สึกใจหายตอนที่รู้ว่าคุณเพิ่งลบอะไรสำคัญไปได้ไหม? อาจจะเป็นไฟล์ที่คุณใช้เวลาหลายชั่วโมงทำ หรือการแก้คอนฟิกที่ทำให้ทุกอย่างพัง ในโลกความจริง ไม่มีปุ่ม Ctrl+Z สำหรับระบบไฟล์ของคุณ แต่ใน Hermes Agent มี — และมันเรียกว่า checkpoints

ลองนึกถึง checkpoints เหมือนจุดเซฟในเกม ก่อนที่ AI agent ของคุณจะทำอะไรที่เสี่ยง — เช่นเขียนทับไฟล์หรือรันคำสั่งที่ทำลายล้าง — มันสามารถเก็บภาพรวมของโปรเจกต์คุณไว้ได้อย่างรวดเร็ว ถ้ามีอะไรผิดพลาด คุณก็ย้อนกลับไปที่จุดเซฟนั้นได้ด้วยคำสั่งเดียว เหมือนมีปุ่มเลิกทำสำหรับทั้งโปรเจกต์ของคุณ

เปิดใช้งานระบบความปลอดภัย

ความจริงที่ต้องบอกตรงๆ: checkpoints เป็นแบบ เลือกใช้เอง ใน Hermes v2 ผู้ใช้ส่วนใหญ่ไม่เคยต้องใช้มัน และพื้นที่จัดเก็บก็เพิ่มขึ้นเรื่อยๆ ได้ แต่ถ้าคุณกำลังทำงานกับอะไรที่สำคัญ มันคือตัวช่วยชีวิต

คุณมีสองวิธีในการเปิดใช้งาน:

รายเซสชัน (เฉพาะแชทเดียว):

hermes chat --checkpoints

แบบทั่วโลก (ใน ~/.hermes/config.yaml):

checkpoints:
  enabled: true

แค่นั้นเอง เมื่อเปิดใช้งานแล้ว Hermes จะเก็บ snapshot ของโปรเจกต์คุณโดยอัตโนมัติก่อนที่จะมีอะไรที่ทำลายล้างเกิดขึ้น

อะไรบ้างที่ทำให้เกิด Checkpoint?

Hermes ฉลาดในการตัดสินใจว่าจะเก็บ snapshot เมื่อไหร่ มันจะคอยสังเกต:

  • การดำเนินการกับไฟล์ — เช่น write_file และ patch
  • คำสั่งเทอร์มินัลที่ทำลายล้าง — เช่น rm, mv, sed -i, truncate และแม้กระทั่ง git reset หรือ git clean

ส่วนที่ดีที่สุด? มันสร้าง checkpoint อย่างมากหนึ่งอันต่อไดเรกทอรีต่อเทิร์น ดังนั้นเซสชันยาวๆ ของคุณจะไม่สร้าง snapshot เป็นร้อยๆ อัน

การย้อนกลับ: คำสั่ง Slash

เมื่อคุณอยู่ในเซสชันแชท /rollback คือเพื่อนซี้ของคุณ:

คำสั่ง ฟังก์ชัน
/rollback แสดง checkpoint ทั้งหมดพร้อมสถิติการเปลี่ยนแปลง
/rollback <N> กู้คืนไปที่ checkpoint N โดยเก็บการแก้ไขที่คุณทำเองไว้
/rollback <N> --all กู้คืนแบบเต็มรูปแบบ — เขียนทับการแก้ไขที่คุณทำเองด้วย
/rollback diff <N> ดูตัวอย่างการเปลี่ยนแปลงระหว่าง checkpoint N กับปัจจุบัน
/rollback <N> <file> กู้คืนแค่ไฟล์เดียวจาก checkpoint N

ค่าเริ่มต้นของ /rollback <N> นั้นฉลาด — มันเก็บการเปลี่ยนแปลงที่คุณทำด้วยมือไว้ทั้งหมด โดยเลิกทำเฉพาะสิ่งที่ agent ทำเท่านั้น ถ้าคุณต้องการล้างทั้งหมด ใช้ --all

จัดการพื้นที่จัดเก็บจากเทอร์มินัล

นอกเหนือจากแชท คุณมีคำสั่ง CLI สำหรับตรวจสอบและจัดการ checkpoint ของคุณ:

hermes checkpoints              # แสดงขนาด, โปรเจกต์, รายละเอียด
hermes checkpoints status       # เหมือนกับด้านบน
hermes checkpoints list         # alias ของ status
hermes checkpoints prune        # ทำความสะอาดข้อมูล orphan และข้อมูลเก่า
hermes checkpoints clear        # ลบทุกอย่าง (ถามก่อน)
hermes checkpoints clear-legacy # ลบไฟล์ migration จาก v1 เก่า

ทำงานเบื้องหลังอย่างไร

คุณอาจสงสัย: “อันนี้ไปยุ่งกับ git repo จริงของฉันไหม?” ไม่ Hermes เก็บ “shadow store” แยกต่างหากที่ ~/.hermes/checkpoints/store/ โฟลเดอร์ .git จริงของโปรเจกต์คุณไม่ถูกแตะต้องเลย

โปรเจกต์ทั้งหมดของคุณใช้พื้นที่จัดเก็บร่วมกัน และเนื่องจาก git เป็นแบบ content-addressable ไฟล์ที่ปรากฏในหลายโปรเจกต์จึงถูกเก็บเพียงครั้งเดียว มันมีประสิทธิภาพอย่างน่าประหลาดใจ

ปรับแต่งการตั้งค่า

คุณสามารถควบคุมปริมาณพื้นที่จัดเก็บที่ checkpoint ใช้ได้:

checkpoints:
  enabled: true
  max_snapshots: 20           # จำนวน checkpoint สูงสุดต่อโปรเจกต์
  max_total_size_mb: 500      # ขีดจำกัดสูงสุดของพื้นที่จัดเก็บทั้งหมด
  max_file_size_mb: 10        # ข้ามไฟล์ที่ใหญ่กว่านี้
  auto_prune: true            # ล้างข้อมูลเก่าอัตโนมัติ
  retention_days: 7           # เก็บข้อมูลไว้ 7 วัน
  min_interval_hours: 24      # ล้างข้อมูลอย่างมากวันละครั้ง

ฟีเจอร์ auto-prune นั้นฉลาด — มันทำความสะอาดรายการเก่าตอนเริ่มต้นระบบ แต่ไม่เคยลบรายการ “orphan” (โปรเจกต์ที่หาโฟลเดอร์ไม่เจอ) เพราะโฟลเดอร์ที่หายไปอาจหมายถึงไดรฟ์ภายนอกที่ยังไม่ได้เสียบเข้าก็ได้ สำหรับการทำความสะอาด orphan คุณต้องรัน hermes checkpoints prune ด้วยตนเอง

ปุ่มเลิกทำของโปรเจกต์คุณ

Checkpoints ให้ความมั่นใจที่จะปล่อยให้ AI agent ของคุณทำงานได้อย่างอิสระ โดยรู้ว่าคุณสามารถย้อนเวลากลับไปได้เสมอ ไม่ว่าคุณจะรีแฟกเตอร์โค้ด ทดลองคอนฟิก หรือแค่อยากอุ่นใจ มันคุ้มค่าที่จะเปิดใช้งาน

ลองใช้ในเซสชันถัดไปของคุณด้วย hermes chat --checkpoints คุณอาจไม่ต้องย้อนกลับเลย — แต่ถ้าต้องใช้ คุณจะดีใจที่มีมันอยู่

📖 เอกสารทางการ

この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/checkpoints-and-rollback