~/VibeHandbook
PDF ฟรี

บท 19 · 02

เมื่อไรควรปล่อยให้มันรัน vs. บังคับทิศทางด้วยตัวเอง

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

  • รัศมีความเสียหาย (blast radius) ถ้าสิ่งนี้ผิดพลาด จะเสียหายมากแค่ไหน? การจัดรูปแบบโค้ดทั้งโปรเจกต์มีรัศมีความเสียหายเล็ก การย้ายฐานข้อมูล ( migration) หรือการเปลี่ยนตรรกะการยืนยันตัวตน (auth logic) มีรัศมีใหญ่ ยิ่งรัศมีใหญ่เท่าไร ยิ่งต้องบังคับทิศทางด้วยมือมากเท่านั้น
  • ความสามารถในการย้อนกลับ (reversibility) คุณสามารถยกเลิกมันได้ในราคาถูกหรือไม่? งานบน ใหม่ที่มี working tree สะอาดสามารถย้อนกลับได้ — git restore . แล้วมันก็หายไป งานที่ลบข้อมูล ส่งอีเมล เรียกเก็บเงินบัตร หรือ push ไปยังระบบจริง (production) ไม่สามารถย้อนกลับได้ อย่าปล่อยให้เอเจนต์รันโดยไม่มีคนดูแลกับสิ่งใดที่คุณเอากลับคืนไม่ได้
  • ความสามารถในการตรวจสอบ (verifiability) คุณบอกได้ไหมว่าผลลัพธ์ถูกต้อง? ถ้า "เสร็จแล้ว" หมายถึงชุดทดสอบสีเขียวหรือหน้าเว็บที่ใช้งานได้จริงต่อหน้าคุณ คุณตรวจสอบได้ในไม่กี่วินาที และเอเจนต์ก็เหมาะสมมาก แต่ถ้า "เสร็จแล้ว" ขึ้นอยู่กับการตัดสินใจที่ละเอียดอ่อน — การคำนวณเงิน กฎความปลอดภัย เงื่อนไขการแข่งขันของกระบวนการ (race conditions) — คุณจะตรวจสอบด้วยการเช็กเร็วๆ ไม่ได้ คุณต้องอยู่ใกล้ๆ

วิธีง่ายๆ ในการรวมทั้งสามข้อเข้าด้วยกัน: ปล่อยให้มันรันเมื่องานย้อนกลับได้และผลลัพธ์ตรวจสอบได้ในราคาถูก บังคับทิศทางด้วยมือเมื่อไม่ใช่ นำกฎจากบทเรื่องการสร้างฟีเจอร์มาใช้ต่อ — ยิ่งรัศมีความเสียหายใหญ่ ขั้นตอนยิ่งต้องเล็ก — แล้วเพิ่มกฎคู่กันของมัน: ยิ่งรัศมีความเสียหายใหญ่ ยิ่งต้องผูกสายจูงให้แน่นขึ้น

อยากได้แบบออฟไลน์?

ดาวน์โหลดหนังสือทั้งเล่มเป็น PDF หรือ EPUB — ฟรี