Vibe Coding คืออะไรจริง ๆ
Vibe coding หมายถึงการเขียนซอฟต์แวร์โดยการอธิบายเจตนาให้กับโมเดล AI และปรับเปลี่ยนผลลัพธ์ แทนที่จะพิมพ์บรรทัดทีละบรรทัด
คำว่า "vibe coding" แพร่กระจายอย่างรวดเร็วในปี 2024-2025 เพราะมันตั้งชื่อให้กับสิ่งที่นักพัฒนาจำนวนมากทำไปอย่างเงียบ ๆ แล้ว: อธิบายสิ่งที่พวกเขาต้องการเป็นภาษาอังกฤษธรรมชาติให้กับโมเดลเช่น GPT-4, Claude หรือเครื่องมือเช่น Cursor หรือ GitHub Copilot แล้วปล่อยให้มันสร้างโค้ดจริง ๆ ส่วนใหญ่ โปรแกรมเมอร์ยังอยู่ในวงกระบวนการ แต่วงกระบวนการนั้นดูแตกต่างจากการเขียนโค้ดแบบดั้งเดิม
นิยามจริง ๆ
Andrej Karpathy บัญญัติศัพท์นี้ โดยอธิบายเวิร์กโฟลว์ที่คุณ "อ่อนไหวต่อความรู้สึก" อย่างเต็มที่ — คุณสร้างพรอมต์ ยอมรับคำแนะนำ รันโค้ด ดูว่าอะไรขาด และสร้างพรอมต์อีกครั้ง คุณไม่ได้อ่านทุกบรรทัดของ diff แบบทีละบรรทัด คุณควบคุมโดยผลลัพธ์: แอปทำสิ่งที่ต้องการหรือไม่ ทดสอบผ่านหรือไม่ หน้าแสดงผลถูกต้องหรือไม่ ทักษะเปลี่ยนจากการเขียนไวยากรณ์ไปเป็นการอธิบายเจตนาอย่างชัดเจน และการจำเพาะเจาะจงว่าเมื่อใดที่ผลลัพธ์ผิด
นี่แตกต่างจากการใช้อัตโนมัติให้เสร็จสิ้น Copilot-style inline suggestions ยังคงสมมติว่าคุณเขียนฟังก์ชันด้วยตัวคุณเองพร้อมความช่วยเหลือในการเสร็จสิ้นบรรทัด Vibe coding สมมติว่าโมเดลเขียนฟังก์ชัน ไฟล์ บางครั้งทั้งฟีเจอร์ และคุณกำลังตรวจสอบและเปลี่ยนทิศทางแทนที่จะสร้างจากศูนย์
เซสชั่นจริงมีลักษณะอย่างไร
vibe-coding loop ทั่วไปกับเครื่องมือเช่น Cursor หรือ Replit's Agent mode มีลักษณะดังนี้:
- พรอมต์: "เพิ่ม rate limiter ให้กับ Express API นี้ 100 requests ต่อ 15 นาทีต่อ IP ส่งกลับ 429 พร้อมด้วย JSON error body"
- โมเดลแก้ไข
middleware/rateLimit.jsเชื่อมต่อลงในapp.jsอาจดึงexpress-rate-limit - คุณรัน
npm testหรือกระทบ endpoint ด้วยcurlในลูปเพื่อตรวจสอบว่า 429 ถูกทำให้ทำงานจริง - มีบางสิ่งผิด — limiter รีเซ็ตเมื่อแต่ละครั้งที่ deploy เพราะมันอยู่ใน-memory คุณพูดอย่างนั้น
- โมเดลแทนที่ด้วย Redis-backed store เพิ่ม
ioredisdependency อัปเดตไฟล์ docker-compose - คุณทดสอบอีกครั้ง มันใช้ได้ คุณ commit
ไม่มีบรรทัดใดของ middleware นั้นถูกพิมพ์ด้วยมือ แต่มีการตัดสินใจ 6-7 ข้อถูกตัดสินใจโดยมนุษย์: limit ควรเป็นเท่าไร เก็บหน้าแรกในหน่วยความจำผิดสำหรับการผลิต ไฟล์ docker-compose ต้องการการอัปเดตเช่นกัน
ที่มันทำงานได้ดี
Vibe coding มีความแข็งแกร่งในการทำงาน boilerplate-heavy: CRUD endpoints form validation test scaffolding config files glue code ระหว่าง API สองตัวที่คุณเข้าใจแล้ว มันก็ดีสำหรับ prototyping — สร้างเดมของไอเดียที่ทำงานได้ใน 1 ชั่วโมงแทน 1 วัน แล้วตัดสินใจว่าคุ้มค่าที่จะสร้างอย่างถูกต้องหรือไม่
มันเร็วจริง ๆ สำหรับโปรแกรมเมอร์แต่ละคนและทีมเล็ก ๆ ที่จัดส่งเครื่องมือภายในหรือ MVP ที่คุณต้องการจ่ายสำหรับบั้ก ความเสี่ยงต่ำ และความเร็วในการวนซ้ำสำคัญกว่าความบริสุทธิ์ของสถาปัตยกรรม
ที่มันล้มเหลว
รูปแบบการล้มเหลวที่ผู้คนไม่พูดถึงเพียงพอ: โมเดลสร้างโค้ดที่รันแต่ผิดอย่างลึกซึ้งในวิธีที่ไม่ปรากฏจนกว่า SQL query ที่สร้างขึ้นมาอาจใช้ได้สำหรับหลักการหลัก แต่มีความเสี่ยงต่อการ inject เพราะการเชื่อมต่อสตริงดูเหมือนเป็นสิ่งที่ดีสำหรับโมเดล การตรวจสอบสิทธิ์ที่สร้างขึ้นมาอาจผ่านการทดสอบ แต่ข้ามการตรวจสอบบทบาทหนึ่งบนเส้นทาง หากคุณไม่ได้อ่านโค้ด คุณจะไม่จับได้ — คุณจะเห็นการทดสอบผ่านและจัดส่งมันเท่านั้น
สิ่งนี้มีความสำคัญมากกว่าในโค้ด security-sensitive เกือบทุกที่อื่น Simon Willison และคนอื่น ๆ ชี้ให้เห็นว่าโครงการ vibe-coded ที่มีข้อมูลผู้ใช้จริงต้องการความเข้มงวดในการตรวจสอบเดียวกับรหัสอื่น ๆ โต้แย้งว่าคนที่ "เขียน" มันอาจไม่สามารถอธิบายสิ่งที่มันทำบรรทัดต่อบรรทัด
ระบบที่ซับซ้อนที่มีสถานะมากมายโดยนัย — concurrency distributed transactions อะไรก็ตามที่มีบั้ก timing ที่ลึกซึ้ง — ก็ไม่เหมาะสม โมเดลมักจะสร้างโค้ดที่ดูเหมือนจริงสำหรับกรณีเหล่านี้ที่ล้มเหลวในวิธีที่ยากต่อการแก้ไขจุดบกพร่องอย่างแม่นยำเพราะไม่มีใครแม้แต่มนุษย์หรือโมเดลเต็มไปด้วยเคส edge ที่ค่อนข้างโมเดล
ทักษะที่สำคัญจริง ๆ ตอนนี้
หากคุณกำลัง vibe coding ทักษะที่มีค่าไม่ใช่ความเร็วในการพิมพ์ มันคือ specification Vague prompts ได้รับโค้ด vague buggy Prompts ที่เฉพาะเจาะจง — ด้วยชื่อไลบรารีที่แน่นอน expectation การจัดการข้อผิดพลาด และเคส edge ถูกเรียกออก — ได้รับผลลัพธ์ที่ดีขึ้นมาก ทักษะที่สำคัญที่สุดที่สองคือการอ่านโค้ดอย่างรวดเร็วเพียงพอเพื่อจับสิ่งที่ผิด ซึ่งหมายความว่าคุณยังคงต้องเข้าใจภาษาและโดเมนแม้ว่าคุณไม่ได้พิมพ์ทุกตัวอักษร
ถือว่าโค้ดที่สร้างโดย AI เป็นวิธีที่คุณจะถือว่า pull request จากโปรแกรมเมอร์ junior ที่เร็ว แต่บางครั้งมีความมั่นใจมากเกินไป: มีประโยชน์ มักถูกต้อง แต่ควรค่าแก่การตรวจสอบจริง ๆ ก่อนที่จะแตะการผลิต
ต้องการเจาะลึกกว่านี้เกี่ยวกับการเขียนโค้ดด้วยเครื่องมือ AI โดยไม่สูญเสียการควบคุมคุณภาพ ตรวจสอบส่วน AI และ Python ของ Korra Studio สำหรับ walkthroughs ที่ใช้ได้จริง
เขียนด้วยความช่วยเหลือของ AI ตรวจสอบและเผยแพร่โดย Michal Pilch (CISSP), Korra Studio
นี่คือบันทึกหนึ่งจากฐานความรู้ของ Korra Studio — แพลตฟอร์มจับคู่หัวข้อแต่ละหัวข้อกับการฝึกสอนแบบ 1-to-1
เริ่มใช้งานฟรีarrow_forward