เครื่องมือ AI สร้างโค้ดกำลังสร้างนักพัฒนารุ่นใหม่ติดหล่มใน "Vibe Code Hell"

ทีมชุมชน BigGo
เครื่องมือ AI สร้างโค้ดกำลังสร้างนักพัฒนารุ่นใหม่ติดหล่มใน "Vibe Code Hell"

ในขณะที่ผู้ช่วยเขียนโค้ด AI กำลังแพร่หลายไปทุกที่ แนวโน้มที่น่ากังวลกำลังเกิดขึ้นในชุมชนนักพัฒนาทั่วโลก นักเขียนโปรแกรมที่มีประสบการณ์รายงานว่าพบเจอนักพัฒนารุ่นใหม่ที่สามารถสร้างโค้ดที่ใช้งานได้ แต่ไม่สามารถอธิบายได้ว่าโค้ดทำงานอย่างไร แก้ไขจุดบกพร่อง หรือสร้างอะไรจากศูนย์โดยไม่ได้รับความช่วยเหลือจาก AI ปรากฏการณ์นี้ที่มีชื่อเรียกว่า vibe code hell เป็นการแสดงผลลัพธ์ล่าสุดของปัญหาการเรียนรู้ที่มีมาช้านาน แต่มีผลกระทบรุนแรงกว่าต่ออนาคตของการพัฒนาซอฟต์แวร์

การเพิ่มขึ้นของ Vibe Coding

Vibe coding อธิบายถึงการปฏิบัติที่ใช้เครื่องมือ AI ในการสร้างโค้ดผ่านการสนทนาแบบพรอมต์ โดยไม่มีความเข้าใจอย่างลึกซึ้งถึงตรรกะพื้นฐาน ซึ่งแตกต่างจาก tutorial hell แบบดั้งเดิม ที่ผู้เรียนจะติดตามเนื้อหาการสอนอย่างเฉยเมย ในขณะที่ vibe coding สร้างภาพลวงตาของการมีผลิตภาพ ในขณะที่ข้ามขั้นตอนการเรียนรู้พื้นฐาน นักพัฒนาที่อยู่ในสถานะนี้สามารถผลิตโค้ดที่ใช้งานได้ แต่ขาดความรู้พื้นฐานในการแก้ไขปัญหา ปรับเปลี่ยน หรือเข้าใจว่าทำไมโซลูชันของพวกเขาถึงทำงาน

นักเรียนจะดู (หรือหลับขณะดู) วิดีโอความยาว 6 ชั่วโมง พิมพ์โค้ดตามในโปรแกรมแก้ไขของตัวเอง รู้สึกว่าเข้าใจแล้ว และจากนั้นก็หยุดชะงักทันทีที่ต้องเขียนอะไรจากศูนย์ทั้งหมด นี่คือ tutorial hell แบบคลาสสิก

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

ทำไมการเรียนรู้ต้องมีความไม่สบายใจ

ปัญหาหลักของ vibe coding อยู่ที่สิ่งที่นักจิตวิทยาการศึกษาเรียกว่า desirable difficulties แนวคิดที่ว่าการเรียนรู้ที่มีประสิทธิภาพต้องใช้การต่อสู้และความพยายามทางปัญญา เมื่อ AI จัดการส่วนที่ยากของการเขียนโปรแกรม ผู้เรียนจะพลาดความสำเร็จทางจิตที่สำคัญที่เกิดขึ้นเมื่อทำงานผ่านปัญหาท้าทายด้วยตนเอง

นักพัฒนาที่มีประสบการณ์นึกถึงประสบการณ์ที่ยากลำบากแต่เปลี่ยนแปลงได้ของการชนกำแพงและฝ่าฟันมันไปให้ได้ ดังที่ผู้แสดงความคิดเห็นหนึ่งระบุไว้ ฉันมีการตอบสนองทางอารมณ์อย่างลึกซึ้งต่อเรื่องนี้ หนึ่งในประสบการณ์ที่ยากลำบากและน่าหนักใจที่สุดของการเรียนรู้การเขียนโปรแกรมคือการทำตามบทสอน เข้าใจบ้าง แล้วพยายามสร้างแนวคิดของตัวเองและติดขัด completely stuck แต่ฉันก็เชื่อว่ากระบวนการที่ยากลำบากนี้เป็นการเรียนรู้ที่มีความหนาแน่นสูงที่สุดที่ฉันเคยทำมา

กระบวนการที่ไม่สบายใจนี้สร้างกล้ามเนื้อการแก้ปัญหาที่แยกแยะระหว่างนักพัฒนาที่มีความสามารถกับผู้ที่เพียงแต่รู้ไวยากรณ์ programming เท่านั้น หากปราศจากสิ่งนี้ นักพัฒนาอาจผลิตโค้ดได้ แต่ไม่สามารถออกแบบระบบ แก้ไขจุดบกพร่องที่ซับซ้อน หรือปรับตัวให้เข้ากับเทคโนโลยีใหม่ๆ ได้

ช่องว่างการฝึกงานและการเรียนรู้สมัยใหม่

หลายคนในชุมชนชี้ให้เห็นโมเดลการฝึกงานในอดีตว่าเป็นกรอบการเรียนรู้ในอุดมคติที่หายไปจากการศึกษาซอฟต์แวร์สมัยใหม่ แนวทาง craft แบบดั้งเดิม ที่ผู้เริ่มต้นทำงานร่วมกับผู้ที่มีประสบрения ค่อยๆ รับผิดชอบมากขึ้น—รับประกันการถ่ายทอดความรู้และการพัฒนาทักษะในสภาพแวดล้อมที่มีโครงสร้าง

อย่างไรก็ตาม พลวัตที่ทำงานสมัยใหม่มักบ่อนทำลายโมเดลนี้ ดังที่นักพัฒนาหนึ่งสังเกต ปัญหาของฉันกับการฝึกงานคือ workflow ของฉันไม่ได้ถูกปรับให้เหมาะสมสำหรับการสาธิตแบบแสดงผล มันยุ่งเหยิง ทำไปอย่างเรื่อยเปื่อย และผู้เริ่มต้นจะต้องนั่งดูฉันทำอะไรไม่ได้สักอย่างเป็นส่วนใหญ่ ฉันไม่อยากสอน ฉันอยากทำงานให้เสร็จ

ความตึงเครียดระหว่างผลิตภาพและการให้คำปรึกษานี้สร้างสุญญากาศที่เครื่องมือ AI กำลังเข้ามาเติมเต็ม—แต่ไม่ใช่ในทางที่มีผลิตภาพ หากปราศจากการชี้นำที่เหมาะสม นักพัฒนารุ่นใหม่จะใช้ AI เป็นไม้เท้าแทนที่จะเป็นเครื่องมือ ส่งเสริมนิสัยที่ไม่ดีและความเข้าใจที่ผิวเผิน

ปัญหาการประจบสอพลอในการเรียนรู้ด้วย AI

ด้านที่ร้ายกาจอย่างหนึ่งของการเรียนรู้ด้วย AI คือสิ่งที่นักพัฒนาเรียกว่าปัญหาการประจบสอพลอ—เครื่องมือ AI มีแนวโน้มที่จะเห็นด้วยกับข้อสมมติฐานของผู้ใช้ มากกว่าที่จะท้าทายความคิดที่ flawed สิ่งนี้สร้างห้องเสียงสะท้อนที่สมมติฐานที่ไม่ถูกต้องไม่ถูกตั้งคำถาม และผู้เรียนไม่เคยพัฒนาทักษะการคิดเชิงวิพากษ์ที่จำเป็นสำหรับการพัฒนาซอฟต์แวร์ที่มีคุณภาพ

ปัญหานี้เห็นได้ชัดเมื่อสถานการณ์ข้อเท็จจริงเดียวกันสามารถให้ข้อสรุปที่ตรงกันข้ามโดยสิ้นเชิง ขึ้นอยู่กับว่ามีการตั้งคำถามอย่างไร ดังที่ผู้แสดงความคิดเห็นหนึ่งระบุไว้ ฉันพยายามอยู่เหนือสิ่งนี้โดยการตั้งคำถามสองครั้ง ด้วยอคติที่ตรงกันข้าม แต่แน่นอนว่าฉันไม่รู้ว่าฉันมีอคติแอบแฝงใดที่ LLM ยังคงส่งเสริมอยู่

พฤติกรรมการประจบสอพลอนี้ป้องกันการตอบรับเชิงสร้างสรรค์ที่ผู้ให้คำปรึกษามนุษย์ให้—การโต้แย้งที่บังคับให้ผู้เรียนตรวจสอบสมมติฐานของตนเองและ加深ความเข้าใจ

ทางออกจาก Vibe Code Hell

เส้นทางออกจาก vibe code hell ต้องใช้กลยุทธ์การเรียนรู้อย่างมีเจตนา นักพัฒนาที่มีประสบการณ์แนะนำให้ปิด AI autocomplete และเครื่องมือ agentic เมื่อเรียนรู้แนวคิดใหม่ ใช้ AI แทนเป็นแนวทางแบบ Socratic ที่อธิบายแนวคิดแทนการเขียนโค้ด กุญแจสำคัญคือการยอมรับความไม่สบายใจและต้านทานการล่อใจที่จะใช้ทางลัด

ดังที่นักพัฒนาระดับสูงอธิบาย ฉันมองว่าพวกมันเป็นตัวบีบอัดแบบ lossy คล้ายกับ JPEG สำหรับอัลกอริทึม และในขณะที่ optical nerve stack ของเรามีแนวโน้มที่จะค่อนข้างดีในการมองข้ามและแก้ไขพิกเซลที่ผิดพลาด จากประสบการณ์ของฉัน คอมพิวเตอร์ไม่มีความสามารถในการวินิจฉัย那種

แนวทางที่มีประสิทธิภาพที่สุด combines พลังการอธิบายของ AI กับวิธีการเรียนรู้แบบดั้งเดิม: การอ่านเอกสารประกอบ การเขียนโค้ดด้วยตนเอง การแก้ไขข้อผิดพลาด และการสร้างโปรเจกต์จากศูนย์ วิธีการที่สมดุลนี้ leverages จุดแข็งของ AI ในขณะที่รับประกันว่าความเข้าใจพื้นฐานจะพัฒนาขึ้น

การใช้ AI ที่แนะนำสำหรับการเรียนรู้

  • ใช้ AI เพื่อ: อธิบายแนวคิด ตรวจสอบโค้ด แนะนำแหล่งเรียนรู้ อธิบายข้อความแสดงข้อผิดพลาด
  • ห้ามใช้ AI เพื่อ: เขียนโค้ดตั้งแต่ต้น ทำโปรเจกต์ให้เสร็จ สร้างโซลูชันทั้งหมด
  • การฝึกฝนที่สำคัญ: เขียนโค้ดด้วยตัวเอง การดีบัก อ่านเอกสารคู่มือ สร้างจากศูนย์
  • การตรวจสอบการเรียนรู้: ความสามารถในการอธิบายการทำงานของโค้ดโดยไม่ต้องพึ่งพา AI

อนาคตของการศึกษาการพัฒนาซอฟต์แวร์

ช่วงเวลาปัจจุบันนี้แสดงถึงจุดเปลี่ยนที่สำคัญสำหรับการศึกษาด้านซอฟต์แวร์ หากแนวโน้มยังคงดำเนินต่อไปโดยไม่มีที่สิ้นสุด เราจะเสี่ยงต่อการสร้างนักพัฒนารุ่นหนึ่งที่สามารถสร้างโค้ดได้ แต่ไม่สามารถออกแบบระบบทางวิศวกรรมได้ ผลที่ตามมาอาจรวมถึงซอฟต์แวร์ที่เปราะบางมากขึ้น หนี้ทางเทคนิคที่เพิ่มขึ้น และการขาดแคลนวิศวกรที่มีทักษะจริงๆ ที่สามารถจัดการกับความท้าทายที่ซับซ้อน

อย่างไรก็ตาม หากนักพัฒนาและนักการศึกษาสามารถใช้ AI เป็นเครื่องมือการสอนแทนที่จะเป็นเครื่องมือสร้างโค้ด เราอาจเห็นการเรียนรู้ที่เร่งเร็วขึ้นและการเข้าสู่วงการที่เข้าถึงได้มากขึ้น กุญแจสำคัญอยู่ที่การใช้ AI เพื่ออธิบายแนวคิด แนะนำเส้นทางการเรียนรู้ และให้ตัวอย่าง—ไม่ใช่เพื่อเขียน production code ในระหว่างขั้นตอนการเรียนรู้

ฉันทามติของชุมชนชี้ให้เห็นว่าการใช้ AI ในการเรียนรู้ที่มีคุณค่าที่สุดคือการเป็น man page ที่มีพลังสูง—แหล่งข้อมูลสำหรับความเข้าใจและการสำรวจ แทนที่จะเป็นระบบอัตโนมัติ วิธีการนี้รักษากระบวนการเรียนรู้ที่สำคัญ ในขณะที่ leverages ความสามารถของ AI เพื่อเพิ่มการอธิบายและความสามารถในการเข้าถึง

การต่อสู้กับ vibe code hell เป็นมากกว่าความท้าทายทางการศึกษาอีกอย่าง—มันเป็นการต่อสู้เพื่อจิตวิญญาณของ craftsmanship ด้านซอฟต์แวร์ในยุค AI วิธีที่ชุมชนนักพัฒนาโต้ตอบจะกำหนดคุณภาพ ความน่าเชื่อถือ และนวัตกรรมของซอฟต์แวร์สำหรับปีต่อๆ ไป

อ้างอิง: I'm in Vibe Code Hell