Dictionary · เครื่องมือและสภาพแวดล้อม · 85 / 291

Checkpoint

จุดบันทึกสภาพโค้ดที่ระบบเก็บอัตโนมัติก่อนทุกคำสั่ง ใช้ย้อนกลับเมื่องานหลุดทาง แต่ไม่ครอบคลุมทุกการเปลี่ยนแปลง

Checkpoint คือจุดบันทึกสภาพไฟล์ที่ claude-code เก็บไว้ให้อัตโนมัติ โดยบันทึกสภาพโค้ดก่อนทุกคำสั่งที่เราพิมพ์เข้าไป จุดประสงค์คือให้เรากล้ามอบงานใหญ่ที่แตะหลายไฟล์ได้ เพราะรู้ว่าย้อนกลับไปจุดเดิมได้เสมอถ้าผลลัพธ์ไม่เข้าท่า ระบบเก็บภาพไฟล์ไว้สำหรับ 100 checkpoint ล่าสุดของแต่ละ session และบันทึกไปพร้อมกับบทสนทนา จึงย้อนกลับได้แม้จะปิดแล้วกลับมาเปิดต่อภายหลัง โดยค่าเริ่มต้นจะถูกลบพร้อม session หลังผ่านไป 30 วัน

วิธีใช้คือพิมพ์ /rewind หรือกด Esc สองครั้งตอนช่องพิมพ์ว่าง แล้วจะมีรายการคำสั่งทั้งหมดที่เราเคยพิมพ์ใน session นั้นให้เลือก เมื่อเลือกจุดที่ต้องการแล้วมีทางเลือกหลายแบบ คือย้อนทั้งโค้ดและบทสนทนา ย้อนเฉพาะบทสนทนาโดยเก็บโค้ดปัจจุบันไว้ ย้อนเฉพาะโค้ดโดยเก็บบทสนทนาไว้ หรือสั่งย่อบทสนทนาตั้งแต่จุดนั้นเป็นต้นไปเพื่อคืนพื้นที่ context-window ทางเลือกสองข้อแรกที่เกี่ยวกับโค้ดจะปรากฏเฉพาะเมื่อจุดที่เลือกมีการแก้ไฟล์ที่ระบบติดตามไว้จริง

ส่วนที่ต้องรู้ให้ชัดที่สุดคือขอบเขตที่ checkpoint ครอบคลุมไม่ถึง เพราะเข้าใจผิดตรงนี้แล้วเสียงานได้จริง อย่างแรกคือการเปลี่ยนแปลงที่เกิดจากคำสั่ง shell ไม่ถูกติดตาม ถ้า AI รันคำสั่งลบ ย้าย หรือคัดลอกไฟล์ผ่าน bash การกระทำนั้นย้อนกลับด้วย rewind ไม่ได้ ระบบติดตามเฉพาะการแก้ไฟล์ที่ทำผ่านเครื่องมือแก้ไฟล์ของมันเอง อย่างที่สองคือการแก้ไฟล์ที่ subagent ทำอยู่นอกขอบเขต checkpoint ของ session หลักในกรณีส่วนใหญ่ ต้องใช้ git ย้อนแทน อย่างที่สามคือไฟล์ที่เราแก้เองนอกเครื่องมือหรือที่ session อื่นแก้พร้อมกันจะไม่ถูกจับ และอย่างที่สี่คือไฟล์ที่เป็น symlink หรือ hard link จะถูกข้ามตอนย้อน พร้อมขึ้นคำเตือนว่าข้ามไปกี่ไฟล์ เอกสารสรุปหลักไว้ชัดว่า checkpoint ออกแบบมาเพื่อการกู้คืนระดับ session ไม่ใช่ตัวแทนของ version control ให้คิดว่า checkpoint คือปุ่ม undo ส่วน git คือประวัติถาวร

ตัวอย่างจากบทสนทนาจริง

นักพัฒนา: "เมื่อกี้ผมให้ AI ทำ refactor ใหญ่แล้วมันพังหมดเลยครับ ผมกด rewind ย้อนกลับแล้วแต่บางไฟล์ยังหายอยู่ ทำไมครับ"

หัวหน้าทีม: "น่าจะเป็นไฟล์ที่มันลบหรือย้ายด้วยคำสั่ง shell ครับ checkpoint ติดตามเฉพาะการแก้ไฟล์ที่ทำผ่านเครื่องมือแก้ไฟล์ของมันเอง ส่วนอะไรที่ทำผ่าน bash เช่น rm หรือ mv จะย้อนไม่ได้เลย อันนี้ต้องใช้ git กู้ ซึ่งเป็นเหตุผลว่าทำไมผมย้ำเสมอว่าให้ commit ก่อนเริ่มงานใหญ่ทุกครั้ง checkpoint คือ undo ระดับ session ส่วน git คือตาข่ายจริงครับ"

ระวังสับสนกับ

  • compaction : compaction คือการย่อบทสนทนาให้สั้นลงเพื่อคืนพื้นที่บริบท ซึ่งเป็นเรื่องของความจำ ส่วน checkpoint เป็นเรื่องของสภาพไฟล์บนดิสก์ เมนู rewind มีทางเลือกสั่งย่อบทสนทนาอยู่ด้วยจึงทำให้สองเรื่องนี้ปนกันได้ง่าย
  • clearing : clearing คือการล้างบทสนทนาเพื่อเริ่มใหม่ ซึ่งไม่แตะไฟล์เลย ส่วน checkpoint เก็บไว้เพื่อให้ย้อนไฟล์กลับได้ ถ้าเผลอล้างบทสนทนาไปแล้ว เมนู rewind ยังมีทางกลับไปยัง session ก่อนหน้าให้เลือกอยู่
  • handoff : handoff คือการส่งต่อบริบทให้ session ถัดไปทำงานต่อ ซึ่งมองไปข้างหน้า ส่วน checkpoint มองย้อนหลัง คือกลับไปยังสภาพก่อนหน้าที่เคยดีอยู่

ดูคำนี้ใน Knowledge Atlas →

■ ไม่อยากพลาดของใหม่

อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย

เพิ่มเพื่อนใน LINE →
QR เพิ่มเพื่อน LINE ของ TRAINIAC AIคอมพิวเตอร์สแกนด้วยมือถือได้เลย

API keyConnector