วิธีทำ Vibe coding อย่างมีความรับผิดชอบในสภาพแวดล้อมโปรดักชัน - Vibe coding in prod | Code w/ Claude
(youtube.com)นี่คือการบรรยายของ Eric นักวิจัยด้าน coding agent จาก Anthropic ว่าจะนำ vibe coding (แนวทางที่มอบหมายการเขียนโค้ดให้ AI เป็นหลักทั้งหมด) ไปใช้ในสภาพแวดล้อมบริการจริงอย่างปลอดภัยได้อย่างไร เขาอธิบายว่าการให้ AI สร้างโค้ดจำนวนมากกับ vibe coding ไม่ใช่เรื่องเดียวกัน และตามคำนิยามของ Andrej Karpathy แก่นสำคัญคือ "ลืมไปเลยว่าโค้ดมีอยู่" ปัญหาตั้งต้นคือ ในสถานการณ์ที่ขนาดของงานที่ AI จัดการได้เพิ่มเป็นสองเท่าทุก 7 เดือน หากใช้ประโยชน์จากกระแสนี้ไม่ได้ ก็เลี่ยงที่จะเสียเปรียบในการแข่งขันได้ยาก
ข้อโต้แย้งหลัก
- หลักการของ vibe coding คือ "ลืมโค้ด แต่อย่าลืมผลิตภัณฑ์" เช่นเดียวกับที่เราไม่ได้อ่าน assembly ที่คอมไพเลอร์สร้างขึ้นทีละบรรทัด เขามองว่าควรโฟกัสที่การตรวจสอบคุณภาพและความถูกต้องของผลลัพธ์ มากกว่าตัวโค้ดที่ AI เขียนขึ้นเอง
- บทบาทของนักพัฒนาควรเปลี่ยนจากผู้ลงมือ implement เอง ไปเป็น product manager (PM) ของ Claude เหมือนตอนที่มอบหมายงานให้วิศวกรมือใหม่ แม้การรวบรวม requirement บริบทของ codebase และข้อจำกัดต่างๆ เพื่อส่งต่อให้ AI จะใช้เวลามากกว่า 15~20 นาที แต่การลงทุนนี้ช่วยเพิ่มอัตราความสำเร็จได้มาก
- vibe coding ควรโฟกัสที่ leaf node ของ codebase (ฟังก์ชันปลายทางที่ไม่มีโค้ดอื่นพึ่งพา) ส่วนโค้ดแกนหลักของสถาปัตยกรรมหรือโค้ดฐานรากที่โมดูลอื่นพึ่งพา ยังต้องให้มนุษย์เข้าใจอย่างลึกซึ้งและดูแลต่อไป
- การออกแบบให้ตรวจสอบได้เป็นสิ่งจำเป็น จากกรณีภายใน Anthropic ที่ใช้ Claude เขียนโค้ด reinforcement learning ขนาด 22,000 บรรทัดแล้ว merge เข้าโปรดักชัน พวกเขาออกแบบ stress test และ checkpoint สำหรับการตรวจสอบตามอินพุต/เอาต์พุต เพื่อยืนยันเสถียรภาพและความถูกต้องได้โดยไม่ต้องอ่านโค้ดทั้งหมด
ข้อจำกัดในปัจจุบัน
- หนี้ทางเทคนิค (tech debt) ยังไม่มีวิธีที่ดีพอในการวัดหรือยืนยันได้โดยไม่อ่านโค้ดโดยตรง นี่คือเหตุผลสำคัญที่สุดที่ทำให้ vibe coding ควรถูกจำกัดไว้กับ leaf node
- การที่คนที่ไม่ใช่นักพัฒนาจะใช้ vibe coding สร้างระบบโปรดักชันครอบคลุมไปถึงพื้นที่อ่อนไหวอย่างความปลอดภัยหรือการชำระเงินนั้นมีความเสี่ยง ต้องมีวิจารณญาณเชิงเทคนิคที่เพียงพอในการตั้งคำถามที่ถูกต้องเป็นพื้นฐานก่อน
จุดที่แตกต่าง
- สิ่งที่น่าสนใจคือเขาวางกรอบให้ vibe coding ไม่ใช่แค่กระแสชั่วคราว แต่เป็นการเปลี่ยนผ่านเชิงโครงสร้างของอุตสาหกรรมซอฟต์แวร์ และชี้ให้เห็นว่า "ปัญหาของการตรวจสอบผลลัพธ์โดยไม่ต้องรู้รายละเอียดการ implement" นั้นเป็นโจทย์ที่เก่าแก่พอๆ กับอารยธรรม ไม่ต่างจากกรณีที่ CTO บริหารผู้เชี่ยวชาญ หรือ CEO ตรวจสอบงานของนักบัญชี
นัยสำคัญ
- ทักษะที่คาดหวังจากวิศวกรซอฟต์แวร์กำลังย้ายจากความสามารถในการเขียนโค้ดทีละบรรทัด ไปสู่ความสามารถในการนิยาม requirement อย่างแม่นยำและตรวจสอบผลลัพธ์อย่างเป็นระบบ เมื่อพิจารณาจากความเร็วในการพัฒนาประสิทธิภาพของเครื่องมือ AI ยิ่งปรับตัวกับการเปลี่ยนผ่านนี้ได้เร็ว ก็ยิ่งได้เปรียบ
2 ความคิดเห็น
อย่าไปพูดเรื่องนั้นกับนักพัฒนาระดับล่างเลย ไปพูดกับพวกผู้บริหารระดับ C โน่น~~~
ตอนนี้พวกเราทุกคนก็เป็น PM กันหมดแล้ว