ชุมชนนักพัฒนาซอฟต์แวร์กำลังมีการถกเถียงกันอย่างรุนแรงเกี่ยวกับเครื่องมือเขียนโค้ดที่ขับเคลื่อนด้วย AI โดยนักพัฒนาแบ่งฝ่ายกันอย่างชัดเจนว่าเทคโนโลยีเหล่านี้ช่วยเพิ่มหรือทำลายคุณภาพของโค้ด การอภิปรายได้ทวีความรุนแรงขึ้นรอบแนวคิดของ vibe coding - คำที่ใช้อธิบายการพัฒนาที่ได้รับความช่วยเหลือจาก AI ซึ่งโปรแกรมเมอร์พึ่งพาโมเดลภาษาอย่างหนักในการสร้างโค้ด
ระดับประสบการณ์เป็นตัวกำหนดประสิทธิภาพของเครื่องมือ AI
รูปแบบที่ชัดเจนได้เกิดขึ้นจากการอภิปรายในชุมชน คือ คุณค่าของเครื่องมือเขียนโค้ด AI ดูเหมือนจะเชื่อมโยงโดยตรงกับประสบการณ์ของนักพัฒนา นักพัฒนาที่มีประสบการณ์รายงานว่าได้รับประโยชน์ด้านผลิตภาพอย่างมาก เมื่อใช้ผู้ช่วย AI ในขณะที่มือใหม่มักจะประสบปัญหากับผลลัพธ์ที่ไม่ดี สิ่งนี้สร้างความขัดแย้งที่น่าสนใจที่คนที่ต้องการความช่วยเหลือมากที่สุดกลับได้รับประโยชน์น้อยที่สุดจากเครื่องมือเหล่านี้
ชุมชนสังเกตว่านักพัฒนาที่มีประสบการณ์สามารถประเมินโค้ดที่สร้างโดย AI ได้ดีกว่า สามารถตรวจจับปัญหาที่อาจเกิดขึ้น และให้คำสั่งที่มีประสิทธิภาพมากกว่า ในขณะเดียวกัน นักพัฒนาระดับเริ่มต้นอาจยอมรับข้อเสนอแนะจาก AI ที่มีข้อบกพร่องโดยไม่รู้ตัวว่ามีปัญหา ซึ่งอาจสร้างหนี้ทางเทคนิคและช่องโหว่ด้านความปลอดภัย
ระดับประสบการณ์ของนักพัฒนาและประสิทธิภาพของเครื่องมือ AI:
- โปรแกรมเมอร์มือใหม่: พบว่าเครื่องมือ AI มีประโยชน์สำหรับงานพื้นฐาน
- นักพัฒนาระดับกลาง: มักจะวิพากษ์วิจารณ์คุณภาพของโค้ด AI และความกังวลเรื่องการบำรุงรักษา
- นักพัฒนาระดับสูง: รายงานผลผลิตที่เพิ่มขึ้นอย่างมีนัยสำคัญเมื่อใช้เป็นผู้ช่วย
- ผู้เชี่ยวชาญในสาขา: สามารถแนะนำ AI ได้อย่างมีประสิทธิภาพและตรวจจับข้อผิดพลาดในโค้ดที่สร้างขึ้น
คุณภาพของโค้ดยังคงเป็นความกังวลหลัก
นักพัฒนาหลายคนแสดงความหงุดหงิดกับคุณภาพของโค้ดที่สร้างโดย AI โดยเฉพาะสำหรับงานที่ซับซ้อน ข้อร้องเรียนทั่วไป ได้แก่ การขาดการปรับปรุงประสิทธิภาพ การปฏิบัติที่ล้าสมัย การตัดสินใจด้านสถาปัตยกรรมที่ไม่ดี และความล้มเหลวในกรณีขอบ อย่างไรก็ตาม ประสบการณ์แตกต่างกันอย่างมากขึ้นอยู่กับโมเดล AI ที่ใช้ เทคนิคการสั่งงาน และโดเมนการเขียนโปรแกรมเฉพาะ
โค้ดที่สร้างโดย AI โดยทั่วไปจะอยู่ในระดับเดียวกับคนอย่าง QA หรือ sysadmin ที่ไม่ได้เขียนโค้ดเป็นงานหลัก
นักพัฒนาบางคนรายงานความสำเร็จกับโมเดลใหม่อย่าง Claude Sonnet และ GPT-4 โดยเฉพาะเมื่อให้บริบทและแผนการดำเนินงานที่ละเอียด กุญแจสำคัญดูเหมือนจะเป็นการปฏิบัติต่อ AI เป็นผู้ช่วยมากกว่าการทดแทนการตัดสินใจของมนุษย์
ปัญหาคุณภาพโค้ดของ AI ที่พบบ่อย:
- ขาดการปรับปรุงประสิทธิภาพขั้นพื้นฐานและแนวปฏิบัติที่ดี
- ใช้เวอร์ชันที่ล้าสมัยซึ่งมีช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น
- ขาดการพิจารณาด้านการออกแบบและสถาปัตยกรรม
- ล้มเหลวในสถานการณ์ที่ซับซ้อนและกรณีขอบเขต
- สร้างโซลูชันที่ยืดยาวหรือซับซ้อนเกินไป
การเปรียบเทียบกับ Fast Fashion จุดประกายการอภิปราย
การเปรียบเทียบระหว่างการเขียนโค้ด AI และ fast fashion ได้รับการตอบรับจากนักพัฒนาหลายคน เช่นเดียวกับที่ fast fashion ทำให้ตลาดเต็มไปด้วยเสื้อผ้าราคาถูกและใช้แล้วทิ้ง นักวิจารณ์กังวลว่าเครื่องมือ AI จะสร้างซอฟต์แวร์คุณภาพต่ำจำนวนมากที่ยากต่อการบำรุงรักษาหรือแก้ไขข้อบกพร่อง ความกังวลนี้มีความเกี่ยวข้องโดยเฉพาะเมื่อพิจารณาว่าซอฟต์แวร์มักจะมีอายุการใช้งานนานกว่าที่ตั้งใจไว้ โดยต้นแบบมักจะกลายเป็นระบบที่ใช้งานจริง
อย่างไรก็ตาม ผู้สนับสนุนโต้แย้งว่าการเปรียบเทียบนี้มองข้ามศักยภาพของ AI สำหรับโปรเจกต์ส่วนตัวและการสร้างต้นแบบอย่างรวดเร็ว นักพัฒนาหลายคนใช้เครื่องมือ AI สำเร็จในการสร้างยูทิลิตี้ที่กำหนดเองและสำรวจไอเดียอย่างรวดเร็ว โดยยอมรับคุณภาพโค้ดที่ต่ำกว่าเพื่อแลกกับความเร็วและความสะดวก
ความรู้เฉพาะด้านพิสูจน์แล้วว่าสำคัญ
ฉันทามติของชุมชนเน้นว่าความเชี่ยวชาญเฉพาะด้านยังคงจำเป็นเมื่อทำงานกับเครื่องมือเขียนโค้ด AI นักพัฒนาที่เข้าใจปัญหาในพื้นที่ของตนสามารถแนะนำผู้ช่วย AI และตรวจจับข้อผิดพลาดได้ดีกว่า ในขณะที่คนที่ขาดความรู้เฉพาะด้านมักจะได้โซลูชันที่ไม่ทำงานหรือไม่เหมาะสม
สิ่งนี้นำไปสู่การทำนายเกี่ยวกับการกลับมาของวิธีการพัฒนา waterfall ซึ่งข้อกำหนดรายละเอียดและการวางแผนสถาปัตยกรรมกลายเป็นสิ่งสำคัญสำหรับความสำเร็จของ AI โทษของการวางแผนล่วงหน้าอย่างละเอียดจะลดลงเมื่อการแก้ไขเส้นทางไม่ต้องการชั่วโมงการพัฒนาของมนุษย์มากนัก
มองไปข้างหน้า
เมื่อเครื่องมือเขียนโค้ด AI ยังคงพัฒนาต่อไป ชุมชนนักพัฒนาต้องเผชิญกับคำถามเกี่ยวกับมาตรฐานวิชาชีพและเมตริกคุณภาพโค้ด การถกเถียงสะท้อนความกังวลที่กว้างขึ้นเกี่ยวกับการรักษาฝีมือการพัฒนาซอฟต์แวร์ในขณะที่ยอมรับเทคโนโลยีที่เพิ่มผลิตภาพ ว่าการเขียนโค้ด AI จะกลายเป็น fast fashion ของซอฟต์แวร์หรือเครื่องมืออันทรงพลังสำหรับนักพัฒนาที่มีประสบการณ์ อาจขึ้นอยู่กับว่าอุตสาหกรรมจะจัดการกับความท้าทายด้านคุณภาพและการฝึกอบรมเหล่านี้อย่างไร
การอภิปรายเผยให้เห็นว่าเครื่องมือเขียนโค้ด AI ไม่ได้มีประโยชน์หรือเป็นอันตรายโดยสากล - คุณค่าของมันขึ้นอยู่กับวิธีการใช้และใครเป็นผู้ใช้เป็นหลัก เมื่อเทคโนโลยีเหล่านี้เติบโต การหาสมดุลที่เหมาะสมระหว่างผลิตภาพและคุณภาพน่าจะยังคงเป็นความท้าทายหลักสำหรับชุมชนนักพัฒนาซอฟต์แวร์
อ้างอิง: vibe coding is the fast fashion industry of software engineering