Skip to main content

Checkpointing

ติดตาม ย้อนกลับ และสรุปการแก้ไขไฟล์และการสนทนาของ Claude เพื่อจัดการ session state

Claude Code ติดตามการแก้ไขไฟล์ของ Claude โดยอัตโนมัติขณะที่คุณทำงาน ช่วยให้คุณ undo การเปลี่ยนแปลงและย้อนกลับไปยัง state ก่อนหน้าได้อย่างรวดเร็วหากมีบางอย่างผิดพลาด

วิธีที่ checkpoints ทำงาน

ขณะที่คุณทำงานกับ Claude checkpointing จะบันทึก state ของ code ก่อนการแก้ไขทุกครั้งโดยอัตโนมัติ safety net นี้ช่วยให้คุณดำเนินงานขนาดใหญ่ได้อย่างมั่นใจ เพราะรู้ว่าคุณสามารถกลับไปยัง code state ก่อนหน้าได้เสมอ

การติดตามอัตโนมัติ

Claude Code ติดตามการเปลี่ยนแปลงทั้งหมดที่ทำโดย file editing tools ของมัน:

  • ทุก user prompt สร้าง checkpoint ใหม่
  • Checkpoints คงอยู่ข้าม sessions เพื่อให้เข้าถึงได้ในการสนทนาที่ resume
  • ถูกทำความสะอาดอัตโนมัติพร้อมกับ sessions หลัง 30 วัน (ปรับแต่งได้)

Rewind และ Summarize

รัน /rewind หรือกด Esc สองครั้งเมื่อ prompt input ว่างเปล่า เพื่อเปิด rewind menu

note

หาก prompt input มีข้อความ การกด Esc สองครั้งจะล้างข้อความนั้นแทนที่จะเปิด menu ข้อความที่ล้างจะถูกบันทึกไว้ใน input history กด Up เพื่อเรียกกลับหลังจากเสร็จสิ้นใน rewind menu

rewind menu แสดงรายการแต่ละ prompt ที่คุณส่งระหว่าง session เลือกจุดที่คุณต้องการดำเนินการ จากนั้นเลือก action:

  • Restore code and conversation: ย้อนกลับทั้ง code และการสนทนาไปยังจุดนั้น
  • Restore conversation: ย้อนกลับไปยัง message นั้นขณะที่คง code ปัจจุบันไว้
  • Restore code: ย้อนกลับการเปลี่ยนแปลงไฟล์ขณะที่คงการสนทนาไว้
  • Summarize from here: บีบอัดการสนทนาจากจุดนี้เป็นต้นไปเป็น summary เพื่อประหยัด context window
  • Summarize up to here: บีบอัดการสนทนาก่อนจุดนี้เป็น summary โดยคง messages ล่าสุดไว้
  • Never mind: กลับไปยังรายการ messages โดยไม่เปลี่ยนแปลงอะไร

หลังจาก restore การสนทนาหรือเลือก Summarize from here prompt ดั้งเดิมจาก message ที่เลือกจะถูก restore ใน input field เพื่อให้คุณส่งซ้ำหรือแก้ไขได้

Restore เทียบกับ Summarize

ตัวเลือก restore ย้อนกลับ state โดย undo การเปลี่ยนแปลง code, conversation history หรือทั้งสอง ตัวเลือก summarize บีบอัดส่วนหนึ่งของการสนทนาเป็น AI-generated summary โดยไม่เปลี่ยนไฟล์บน disk:

  • Summarize from here: messages ก่อน message ที่เลือกคงอยู่ครบถ้วน message ที่เลือกและทุกอย่างหลังจากนั้นถูกแทนที่ด้วย summary ใช้เพื่อทิ้ง side discussion ขณะที่คง early context ไว้
  • Summarize up to here: messages ก่อน message ที่เลือกถูกแทนที่ด้วย summary message ที่เลือกและทุกอย่างหลังจากนั้นคงอยู่ ใช้เพื่อบีบอัด early setup discussion ขณะที่คง recent work ไว้

ในทั้งสองกรณี messages ต้นฉบับจะถูกเก็บไว้ใน session transcript

note

Summarize คงคุณอยู่ใน session เดิมและบีบอัด context หากคุณต้องการแยก branch และลองวิธีอื่นขณะที่คง original session ไว้ ให้ใช้ fork แทน (claude --continue --fork-session)

Use cases ที่พบบ่อย

Checkpoints มีประโยชน์เป็นพิเศษเมื่อ:

  • สำรวจทางเลือก: ลอง implementation approaches ต่างๆ โดยไม่สูญเสีย starting point
  • กู้คืนจากข้อผิดพลาด: undo การเปลี่ยนแปลงที่ทำให้เกิดบั๊กหรือทำให้ฟังก์ชันเสียหายอย่างรวดเร็ว
  • วนซ้ำฟีเจอร์: ทดลองกับตัวเลือกต่างๆ โดยรู้ว่าสามารถ revert ไปยัง working states ได้
  • เพิ่ม context space: สรุป verbose debugging session จากกึ่งกลางเป็นต้นไป ขณะที่คง initial instructions ไว้

ข้อจำกัด

การเปลี่ยนแปลงจาก Bash commands ไม่ถูกติดตาม

Checkpointing ไม่ติดตามไฟล์ที่แก้ไขโดย bash commands ตัวอย่างเช่น หาก Claude Code รัน:

rm file.txt
mv old.txt new.txt
cp source.txt dest.txt

การเปลี่ยนแปลงไฟล์เหล่านี้ไม่สามารถ undo ผ่าน rewind ได้ เฉพาะการแก้ไขไฟล์โดยตรงผ่าน file editing tools ของ Claude เท่านั้นที่ถูกติดตาม

การเปลี่ยนแปลงภายนอกไม่ถูกติดตาม

Checkpointing ติดตามเฉพาะไฟล์ที่ถูกแก้ไขภายใน current session การเปลี่ยนแปลงด้วยตนเองที่คุณทำกับไฟล์ภายนอก Claude Code และการแก้ไขจาก concurrent sessions อื่นๆ โดยปกติแล้วไม่ถูกบันทึก

ไม่ใช่ทดแทน version control

Checkpoints ออกแบบมาสำหรับ session-level recovery แบบรวดเร็ว สำหรับ version history ถาวรและการทำงานร่วมกัน:

  • ใช้ version control (เช่น Git) ต่อไปสำหรับ commits, branches และ long-term history
  • Checkpoints เสริมแต่ไม่แทนที่ version control ที่เหมาะสม
  • คิดว่า checkpoints เป็น "local undo" และ Git เป็น "permanent history"

ดูเพิ่มเติม

  • Interactive mode - Keyboard shortcuts และการควบคุม session
  • Commands - การเข้าถึง checkpoints โดยใช้ /rewind
  • CLI reference - ตัวเลือก command-line