แผนการย้อนกลับ (Rollback Plan) สำหรับ AI Agent: ยกเลิกการกระทำที่ผิดพลาดก่อนที่ผู้ใช้จะหมดความเชื่อมั่น

AI Agent ที่เชื่อถือได้ไม่จำเป็นต้องสมบูรณ์แบบ แต่มันต้องรู้วิธีที่จะหยุด อธิบายความผิดพลาด และกู้คืนสถานะได้

หาก Agent ของคุณอัปเดตฟิลด์ใน CRM ผิด หรือส่งการชำระเงินซ้ำ การลองใหม่ (retry) เพียงอย่างเดียวไม่สามารถแก้ไขความเสียหายได้ คุณจำเป็นต้องมีแผนการย้อนกลับ (rollback plan) ก่อนที่จะเผชิญกับเหตุการณ์จริง

เมื่อ Agent เปลี่ยนจากการแชทไปสู่การทำงานจริง พวกมันเริ่มมีการเปลี่ยนแปลงสถานะ (mutate state) สิ่งนี้ทำให้การ rollback กลายเป็นฟีเจอร์ของผลิตภัณฑ์ ไม่ใช่แค่เพียงงานหลังบ้าน (backend task) อีกต่อไป

รูปแบบความล้มเหลวที่พบบ่อย:

  • Agent ใช้ ID ของเรคคอร์ดผิด
  • การ retry ทำให้เกิดการกระทำซ้ำสองครั้ง
  • การเปลี่ยนโมเดลทำให้วิธีการทำงานของเครื่องมือเปลี่ยนไป
  • เวิร์กโฟลว์กลับมาทำงานต่อด้วยหน่วยความจำเก่า
  • ลำดับขั้นตอนที่ทำไม่สำเร็จทำให้ข้อมูลไม่สอดคล้องกัน (inconsistent)

วิธีการสร้างเลเยอร์สำหรับการกู้คืน (recovery layer):

  1. ใช้ Action Ledger อย่าพึ่งพาแค่ logs เพียงอย่างเดียว ให้สร้าง ledger ที่บันทึกทุกการเปลี่ยนแปลงสถานะ ทุกการเรียกใช้เครื่องมือ (tool call) จะต้องมีการสร้างรายการบันทึกทั้งก่อนและหลังการทำงาน นี่คือแหล่งข้อมูลที่ถูกต้องที่สุด (source of truth) สำหรับการกู้คืน

  2. จัดประเภทการกระทำของคุณ การกระทำแต่ละอย่างไม่เหมือนกัน

  • Read-only: ไม่ต้องมีการ rollback
  • Internal updates: กู้คืนค่าก่อนหน้าจาก snapshot
  • External reversible: ลบเหตุการณ์หรืออัปเดตสถานะ (สิ่งที่ย้อนกลับได้จากภายนอก)
  • External irreversible: ใช้การชดเชย (compensation) แทนการยกเลิก (undo) จริงๆ สำหรับอีเมลหรือการชำระเงิน คุณไม่สามารถ "ดึงอีเมลกลับ" ได้ คุณต้องส่งข้อความแก้ไขหรือทำการคืนเงินแทน (สิ่งที่ย้อนกลับไม่ได้จากภายนอก)
  1. บังคับใช้ Idempotency โมเดลไม่ได้บังคับใช้ idempotency แต่ระบบ runtime ของเครื่องมือคุณต้องทำ ใช้ idempotency keys เพื่อให้แน่ใจว่าหาก Agent ลองทำงานซ้ำ จะไม่เกิดผลกระทบข้างเคียง (side effects) ที่ซ้ำซ้อน

  2. ใช้ Saga Pattern สำหรับเวิร์กโฟลว์ที่ยาวนาน ทุกการกระทำไปข้างหน้า (forward action) จำเป็นต้องมีการกระทำเพื่อชดเชย (compensating action)

  • สร้างงาน? การชดเชยคือการลบหรือยกเลิกงานนั้น
  • อัปเดตฟิลด์? การชดเชยคือการกู้คืนค่าเดิม
  • ส่งอีเมล? การชดเชยคือการส่งข้อความแก้ไข
  1. ใช้ Checkpoints เลิกสั่งให้โมเดล "พยายามนึกว่าเราทำถึงไหนแล้ว" หลังจากระบบล่ม ให้ใช้ checkpoints เพื่อจัดเก็บสถานะปัจจุบัน, การกระทำที่เสร็จสิ้นแล้ว และงานที่ค้างอยู่ ระบบควรโหลด checkpoint เพื่อกลับมาทำงานต่อได้

  2. สร้าง Recovery Queue เมื่อขั้นตอนการตรวจสอบล้มเหลว ให้ย้ายงานไปยัง recovery queue วิธีนี้จะช่วยให้คุณสามารถกลับมาทำงานต่อ, ทำการชดเชย หรือปิดงานนั้นได้ สำหรับข้อผิดพลาดที่มีความเสี่ยงสูง ให้ขออนุมัติจากมนุษย์เสมอ

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

สร้างแผนการ rollback ของคุณก่อนที่จะเกิดเหตุการณ์จริงครั้งแรก

Source: https://dev.to/jackm-singularity/ai-agent-rollback-plan-undo-bad-actions-before-users-lose-trust-4927

Optional learning community: https://t.me/GyaanSetuAi