Vibe Coding (氛围编程): การมอบหมายโค้ดให้ AI ในช่วงเวลาหนึ่งก็เสมือนการยกมอบอนาคตในการดูแล - เรียนรู้ AI อย่างช้าๆ 162
คำพูดจากผู้แปล
- “氛围编程” (Vibe Coding) เป็นแนวคิดที่ทำให้เราทราบถึงการสร้างหนี้ทางเทคโนโลยีด้วยความเร็วกว่าที่ AI สามารถทำได้
- การเขียนโปรแกรม AI เป็นดาบสองคม: การทำโปรโตไทป์เป็นสิ่งที่ยอดเยี่ยม แต่เมื่อใช้ในโครงการหลักที่ต้องรักษาในระยะยาว นั่นคือการเริ่มต้นของหายนะ
- การให้คนที่ไม่เข้าใจเทคโนโลยีใช้ AI เพื่อพัฒนาผลิตภัณฑ์หลักก็เหมือนกับการมอบบัตรเครดิตที่ไม่มีขีดจำกัดให้เด็ก—สบายตาชั่วคราว แต่แลกมาด้วยหนี้ที่ไม่มีที่สิ้นสุดในอนาคต
- กุญแจสำคัญในการควบคุม AI ไม่ใช่การละทิ้งการคิด แต่เป็นการเพิ่มความสามารถในการ “สร้างทฤษฎี” คนต้องเป็นผู้ควบคุมเชือก ไม่ใช่ให้ AI เป็นผู้ควบคุมเรา
“氛围编程” คือการสร้างหนี้ทางเทคโนโลยี
สตีฟ คราวส์ (Steve Krouse)
ถึงแม้ว่าคนทั่วไปจะรู้สึกงงงวย แต่การที่ Andrej Karpathy สร้างคำว่า “氛围编程” (Vibe Coding) ขึ้นมา มีความหมายเพื่ออธิบายวิธีการเขียนโปรแกรมโดยใช้ AI ซึ่งในรูปแบบนี้ คุณ甚至 “รู้สึกไม่ได้ถึงการมีอยู่ของโค้ด”
โค้ดที่ค้างคา / หนี้ทางเทคโนโลยี
สำหรับโค้ดที่ไม่มีใครสามารถเข้าใจได้ เรามีคำหนึ่งเรียกมันว่า: โค้ดที่ค้างคา / หนี้ทางเทคโนโลยี
โค้ดค้างคานั้นเป็นสิ่งที่ทุกคนพูดถึงว่าไม่ดี แต่ปัญหาคือ โค้ดยังคงอยู่ตรงนั้น ไม่ต้องเพียงแค่ดูโค้ดก็สามารถเข้าใจได้หรือ?
ความเข้าใจนี้ผิดอย่างมาก โค้ดที่ไม่มีใครเข้าใจ นั่นคือหนี้ทางเทคโนโลยีที่แท้จริง การเข้าใจโค้ดที่เราไม่คุ้นเคยและทำการดีบักต้องใช้เวลามหาศาล ยิ่งไปกว่านั้น ในการเพิ่มฟีเจอร์ใหม่โดยไม่ให้เกิดบั๊กใหม่ นั่นคือสิ่งที่ยากยิ่งกว่า
การเขียนโปรแกรมนั้นมีเป้าหมายที่แท้จริงคือ การสร้างทฤษฎี ไม่ใช่การซ้อนทับโค้ด เราทุกคนรู้เรื่องนี้ดี ดังนั้นเราจึงมักจะบ่นเกี่ยวกับแผนกธุรกิจที่พยายามใช้จำนวนบรรทัดโค้ดในการวัดผลผลิตของนักพัฒนา
เมื่อคุณใช้ “氛围编程” คุณก็สร้างหนี้ทางเทคโนโลยีในอัตราที่รวดเร็วพอ ๆ กับที่ AI สร้างโค้ดได้ ด้วยเหตุนี้ “氛围编程” จึงเป็นตัวเลือกที่ สมบูรณ์แบบ สำหรับการพัฒนาโปรโตไทป์และโครงการชั่วคราว: เพราะในที่สุด โค้ดที่ต้องรักษานานกว่าจะกลายเป็นโค้ดค้างคา!
โปรแกรมต้นแบบกับโค้ดชั่วคราว
ตัวฉันเองเคยใช้ “氛围编程” ในการพัฒนาสิ่งเล็ก ๆ เช่น:
- คำนวณอัตราการเติบโตรายสัปดาห์
- ให้คะแนนเกม Connections ของ The New York Times
- ขอแต่งงานกับคู่หมั้นของฉัน
ฉันไม่ได้ตั้งใจจะพัฒนาสิ่งเหล่านี้อย่างต่อเนื่อง ดังนั้นการไม่เข้าใจโค้ดของพวกเขาจึงไม่ใช่ปัญหา นอกจากนี้ สิ่งเหล่านี้มีขนาดเล็ก ดังนั้นแม้ว่าสักวันหนึ่งฉันต้องย้อนกลับไปดูโค้ด เท่าที่หนี้ทางเทคโนโลยีก็มีจำกัด ด้วยวิธีนี้ ทำให้ฉันสามารถพัฒนาแอพได้เร็วกว่าวิธีการดั้งเดิมมาก และทุกอย่างก็ดูราบรื่น
“氛围编程” คือเรื่องของระดับ
“氛围编程” เป็นเรื่องของระดับ จุดสำคัญคือการที่คุณเข้าใจโค้ดลึกแค่ไหน คุณเข้าใจมากเท่าไร คุณก็จะไม่ “ทำตามความรู้สึก” มากขึ้น
การเสนอความต้องการเหมือนกัน แต่เมื่อวิศวกรขอให้พัฒนา “แอพเว็บที่มีฐานข้อมูลถาวร” กับคนที่ไม่มีพื้นฐานทางเทคนิคที่ขอ “ทำแอพ” (แต่แยกไม่ออกว่าแอพเว็บและแอพเนทีฟคืออะไร และไม่เข้าใจฐานข้อมูลถาวร) ระดับความ “มั่ว” ของคนแรกคือที่ต่ำกว่ามาก
มอบบัตรเครดิตให้เด็ก
สถานการณ์ที่เลวร้ายที่สุดคือการให้คนที่ไม่ใช่นักพัฒนาทำโปรเจกต์ขนาดใหญ่ที่จำเป็นต้องบำรุงรักษาในระยะยาวด้วย “氛围编程” เหมือนกับการมอบบัตรเครดิตให้เด็ก โดยไม่อธิบายให้เขาฟังว่าสิ่งที่เรียกว่า “หนี้” คืออะไร
คุณสามารถจินตนาการได้ว่า ในระยะเริ่มแรกมันน่าตื่นเต้นแค่ไหน: “โอ้พระเจ้า แค่ใช้การ์ดใบเล็กใบนี้ในร้าน ฉันสามารถเอาอะไรก็ได้ที่ฉันต้องการ!”
นี่มันคล้ายกับแนวคิดที่กำลังเป็นที่นิยมในปัจจุบัน: “AI สามารถทำได้ทุกอย่าง! ทุกคนเป็นนักพัฒนา! มาดูแอพที่ AI สร้างให้ฉัน!”
อย่างไรก็ตาม หนึ่งเดือนต่อมา บิลบัตรเครดิตจะส่งมาที่บ้านตามกำหนด: “ฉันจำเป็นต้องซื้อสิ่งเหล่านั้นจริง ๆ หรือ? ฉันจะจัดการกับเรื่องแย่ ๆ นี้ยังไง?”
นักพัฒนา “氛围编程” จะต้องเผชิญกับปัญหาเดียวกัน: “โค้ดของฉันล่ม! ไฟล์และโฟลเดอร์ตั้งจำนวนมากนี้มีไว้ทำไม? จะแก้ไขมันอย่างไร? เงิน 400 ดอลลาร์ที่ฉันใช้ให้ AI สร้างโค้ดสามารถคืนได้ไหม?”
ถ้าคุณไม่เข้าใจโค้ดเลย ทางเดียวที่เหลือคือให้ AI ช่วยซ่อมต่อ การทำแบบนี้จึงไม่ต่างอะไรจากการใช้บัตรเครดิตเพื่อชดใช้หนี้บัตรอื่น
ปี 2025 ทำอย่างไรเพื่อเขียนโปรแกรมร่วมกับ AI อย่างจริงจัง
ถ้าคุณตั้งใจจะสร้างโครงการที่ต้องบำรุงรักษาในระยะยาวในปี 2025 คำแนะนำของ Andrej คือสิ่งที่ถูกต้อง:
คุณต้องมองว่า AI คือผู้ฝึกงานรายใหม่ที่คุณต้องใช้เชือกสายสั้นผูกเขาไว้ ผู้ฝึกงานนี้มีพรสวรรค์ รู้เกี่ยวกับซอฟต์แวร์ได้ดี และเรียกได้ว่าเป็นสารานุกรมที่มีชีวิต แต่ในขณะเดียวกัน เขาก็มีอารมณ์ร้อนและพูดคุยในทางที่ไม่เป็นประโยชน์ อาจไม่มีความสามารถในการแยกแยะว่าโค้ดไหนที่ดี ดังนั้นคุณต้องเน้นว่า: ทำให้ช้า มีความระมัดระวัง ต้องระวังให้ดีกว่าที่เคย ต้องคว้าโอกาสทั้งหมดในการเรียนรู้จากประสบการณ์ ไม่ใช่ให้เขาดูแลงานทั้งหมด
— Andrej Karpathy, twitter
เราจะกอด AI ในการสร้างโปรเจกต์อย่างไร
ที่ Val Town เราได้บูรณาการ AI เข้ากับผลิตภัณฑ์ในหลายวิธี ตัวช่วย AI ของเรา Townie เปรียบเสมือนตัวแทนอัจฉริยะ สามารถอ่านเขียนโค้ด รันโปรแกรม ดูล็อก และทำการปรับปรุงอย่างต่อเนื่องจนกว่าจะเสร็จสิ้น
Townie คือเครื่องมือที่ยอดเยี่ยมสำหรับ “氛围编程” ฉันแนะนำให้กับเพื่อน ๆ ที่เข้าใจถึงข้อดีข้อเสียของมัน บางครั้งฉันใช้มันในการเขียนโปรแกรมด้วยความรวดเร็ว “氛围编程”; แต่เมื่อทำโปรเจกต์ที่ฉันให้ความสำคัญมาก ฉันจึงจำเป็นต้องดึงเชือกเพื่อให้มันทำการแก้ไขที่ “แม่นยำเหมือนมีดผ่าตัด” เท่านั้น ทั้งสองโหมดนี้น่าสนใจและมีประสิทธิภาพ
แวดวงการเขียนโปรแกรม AI ก้าวหน้าอย่างรวดเร็วและอนาคตก็ไม่สามารถคาดการณ์ได้ แต่ฉันเชื่อมั่นว่า “การสร้างทฤษฎี” ยังคงเป็นแกนหลักในการสร้างซอฟต์แวร์ที่ซับซ้อน ซึ่งหมายความว่า ความเชี่ยวชาญทางเทคนิคของเรายังมีความสำคัญอยู่! ในขณะเดียวกันฉันก็เชื่อมั่นว่า AI จะยังคงทำให้การเขียนโปรแกรมเป็นประสบการณ์ที่ดีในทางที่ไม่คาดคิด
อย่างไรก็ตาม หากคุณมีเพื่อนที่ไม่มีพื้นฐานทางเทคนิคไปร่วมเล่นเงินเพื่อไล่ตาม “แอพมูลค่าหมื่นล้าน” ด้วย “氛围编程” อย่ารีรอที่จะแชร์บทความนี้ให้พวกเขา “氛围编程” จะไม่สามารถนำพาพวกเขาไปสู่ความสำเร็จได้ พวกเขาจะต้องเรียนรู้การดูโค้ดด้วยสายตาของตนเอง 😱 และในที่สุดจะตระหนักถึงความจริงที่โหดร้าย: แทนที่จะซ่อมระบบที่ไม่มีใครเข้าใจ จงเริ่มต้นใหม่ สร้างฐานข้อมูลใหม่ที่มีโครงสร้างชัดเจนจะดีกว่า
บทความนี้เป็นเวอร์ชั่นที่กระชับจากการพูดเมื่อเดือนที่แล้ว โดยหัวข้อการพูดคือ บทบาทของสมองมนุษย์ในการเขียนโปรแกรม ขอบคุณคู่หมั้นของฉัน Emily ที่ฟังฉันพูดคุยเกี่ยวกับหัวข้อเหล่านี้มาหลายเดือน และช่วยฉันถ่ายวิดีโอการพูด ขอบคุณ Malte และ Rippling ที่จัดงานพูดนี้
ขอบคุณ Geoffrey Litt, Jimmy Koppel, Max McDonnell, Tom MacWright, Charmaine Lee, Brent Jackson, และ Dan Shipper ที่ให้ข้อคิดเห็นเกี่ยวกับบทความนี้ ขอบคุณ Simon Willison และ Andrej Karpathy ที่ทำให้เสียงที่มีเหตุผลขึ้นมาในวงการ AI ที่มีการยกย่องในทางที่น่าตื่นเต้นและมุมมองที่มืดมน
แหล่งต้นฉบับ: https://blog.val.town/vibe-code