Vibe coding คืออะไรกันแน่
Vibe coding คือ การสร้างซอฟต์แวร์ด้วยการสื่อความตั้งใจ (intent) เป็นภาษาธรรมชาติ แล้วปล่อยให้ AI สร้างส่วนที่ทำงานจริง (implementation) ในขณะที่คุณคอยกำกับทิศทาง ตรวจสอบ และปรับแก้อย่างต่อเนื่องเป็นวงรอบแน่นๆ
มันไม่ใช่:
- การยอมรับโค้ดที่ถูกสร้างขึ้นมาโดยไม่เข้าใจมันเลย
- การแทนที่วิจารณญาณทางวิศวกรรมด้วยความรู้สึกล้วนๆ
- ปุ่มวิเศษที่แปลงประโยคหนึ่งประโยคให้กลายเป็นผลิตภัณฑ์ที่พร้อมส่งมอบ
มัน คือ:
- การปฏิบัติต่อโมเดลเหมือนวิศวกรรุ่นน้องที่เร็ว รู้เยอะ แต่มั่นใจในตัวเองมากไปหน่อย
- การใช้ความสนใจของคุณไปกับสถาปัตยกรรม ความถูกต้อง และรสนิยม (taste) แทนที่จะไปกับไวยากรณ์
- การทำซ้ำ (iterate) ในเวลาไม่กี่นาทีกับสิ่งที่เคยใช้เวลาหลายชั่วโมง
โมเดลความคิดที่ใช้ได้ผลที่สุดคือ: คุณคือหัวหน้าทีมเทคนิค (tech lead) ส่วน AI คือทีมของคุณ หัวหน้าทีมเทคนิคที่ดีไม่ได้เขียนโค้ดทุกบรรทัดเอง พวกเขากำหนดทิศทาง วางข้อจำกัด ตรวจงานที่ทีมส่งมาขออนุมัติ (ในวงการซอฟต์แวร์ ชุดการเปลี่ยนแปลงที่เสนอมานี้เรียกว่า ) และจับไอเดียแย่ๆ ก่อนที่มันจะถูกปล่อยออกไป คุณกำลังทำแบบเดียวกัน — แค่ด้วยความเร็วระดับบทสนทนา
สองเส้นทางนี้เริ่มต้นจากโค้ดที่ถูกสร้างขึ้นชุดเดียวกัน แต่จบลงที่จุดที่ต่างกันมาก:
generated code
│
┌─────────┴─────────┐
▼ ▼
┌───────────┐ ┌───────────┐
│ READ │ │ BLIND │
│ + UNDER- │ │ COPY │
│ STAND │ │ (paste) │
└─────┬─────┘ └─────┬─────┘
▼ ▼
can explain looks fine
can defend until it
can fix it breaks
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ YOU │ │ YOU │
│ SHIPPED │ │ GAMBLED │
└─────────┘ └─────────┘
มีคำหนึ่งในคำนิยามข้างต้นที่แบกน้ำหนักไว้ทั้งหมด นั่นคือ เข้าใจ (understand) แนวทางทั้งหมดนี้ตั้งอยู่บนกฎเพียงข้อเดียว — เข้าใจสิ่งที่คุณส่งมอบ คุณไม่จำเป็นต้องพิมพ์โค้ดเอง แต่คุณต้องอธิบายมันได้ ปกป้องมันได้ในการรีวิว และแก้ไขมันได้ตอนตีสองเมื่อมันปลุกคุณขึ้นมาด้วยการแจ้งเตือน ถ้าคุณทำไม่ได้ แปลว่าคุณไม่ได้ทำ vibe code จริงๆ คุณแค่พนันแล้วโชคดี ช่องว่างระหว่างสองสิ่งนี้คือหัวข้อทั้งหมดของหนังสือเล่มนี้