~/VibeHandbook
PDF ฟรี

บท 15 · 09

เมื่อรั้วกั้นความปลอดภัยกรีดร้อง: คัดแยกก่อนแก้

รั้วกั้นความปลอดภัยจะมีประโยชน์ก็ต่อเมื่อคุณตอบสนองต่อมันอย่างถูกต้อง และรูปแบบความล้มเหลวก็คาดเดาได้: build ขึ้นสีแดง คุณตื่นตระหนกเล็กน้อย แล้ววาง error ไปให้ AI พร้อมคำว่า "แก้ที" บางครั้งมันก็ได้ผล แต่บ่อยครั้งมันสร้างการแก้ไขที่ทำให้ข้อความสีแดงหายไป โดยไม่ได้แก้ปัญหาที่แท้จริง — AI อาจทำให้เทสต์อ่อนลง ขยายชนิดข้อมูลให้กว้างขึ้น หรือห่อการเรียกที่ล้มเหลวไว้ใน try/catch ที่กลืนปัญหาไปเงียบ ๆ

ก่อนที่คุณจะปล่อยให้มัน "แก้" อะไรก็ตาม ให้ใช้เวลาสิบวินาทีคัดแยกก่อน จริง ๆ แล้วความล้มเหลวของรั้วกั้นความปลอดภัยมีแค่สามแบบ:

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

คำสั่งที่ช่วยให้ AI ซื่อสัตย์คือการบังคับให้มันวินิจฉัยก่อนที่จะเปลี่ยนแปลงอะไร:

The test "never discounts below zero" is failing.
First, tell me WHY it fails — what does the code do now vs. what
the test expects. Then tell me which is correct: the code or the
test. Do NOT change anything until I confirm.

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

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

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