การศึกษาล่าสุดที่ตรวจสอบผลกระทบในโลกแห่งความเป็นจริงของ Large Language Models ( LLMs ) ต่อประสิทธิภาพของนักพัฒนาได้จุดประกายการถกเถียงอย่างรุนแรงในชุมชนโปรแกรมเมอร์ งานวิจัยนี้เผยผลลัพธ์ที่น่าประหลาดใจซึ่งท้าทายความกระตือรือร้นอย่างแพร่หลายต่อเครื่องมือเขียนโค้ดที่ขับเคลื่อนด้วย AI
ผลการศึกษาขัดแย้งกับความคิดเห็นของนักพัฒนา
การศึกษานี้วัดการเปลี่ยนแปลงประสิทธิภาพที่แท้จริงเมื่อนักพัฒนาใช้เครื่องมือเขียนโค้ด LLM ในการทำงานประจำวัน ก่อนเข้าร่วมการศึกษา นักพัฒนาคาดการณ์ว่าจะเห็นการเพิ่มประสิทธิภาพประมาณ 20% แม้หลังจากเสร็จสิ้นการศึกษาแล้ว พวกเขายังคงมีความเชื่อนี้ อย่างไรก็ตาม การวัดผลที่แท้จริงกลับแสดงการสูญเสียประสิทธิภาพ 19% แทน
ความแตกต่างอย่างสิ้นเชิงระหว่างการรับรู้และความเป็นจริงนี้ได้ทำให้เกิดคำถามร้ายแรงเกี่ยวกับวิธีที่นักพัฒนาประเมินประสิทธิภาพของตนเองเมื่อใช้เครื่องมือ AI การศึกษาชี้ให้เห็นว่าแม้นักพัฒนาจะรู้สึกมีประสิทธิภาพมากขึ้นเมื่อใช้ LLMs แต่พวกเขาอาจประเมินเวลาที่ประหยัดได้จากการสร้างโค้ดสูงเกินไป ขณะที่ประเมินเวลาที่ใช้ในการแก้ไขข้อผิดพลาดและตรวจสอบโค้ดที่ AI สร้างขึ้นต่ำเกินไป
การเปรียบเทียบผลการศึกษา
- การคาดการณ์ของนักพัฒนา (ก่อนการศึกษา): เพิ่มผลิตภาพ +20%
- ความเชื่อของนักพัฒนา (หลังการศึกษา): เพิ่มผลิตภาพ +20%
- ผลลัพธ์ที่วัดได้จริง: ผลิตภาพลดลง -19%
- การคาดการณ์ของนักเศรษฐศาสตร์/ผู้เชี่ยวชาญ ML: เพิ่มผลิตภาพ +40%
ชุมชนแบ่งแยกเรื่องประสิทธิผลของ LLM
ชุมชนโปรแกรมเมอร์ยังคงแบ่งแยกอย่างลึกซึ้งเกี่ยวกับคุณค่าของเครื่องมือเขียนโค้ด LLM ผู้สนับสนุนโต้แย้งว่าเครื่องมือเหล่านี้เป็นเลิศในงานเฉพาะเจาะจงเช่น การสร้างโครงสร้างการทดสอบ การตรวจสอบโค้ด และการสร้างต้นแบบอย่างรวดเร็ว พวกเขาชี้ไปที่กรณีการใช้งานที่ LLMs สามารถตรวจจับข้อบกพร่องที่ผู้ตรวจสอบมนุษย์อาจพลาดได้ เช่น ตรรกะของ feature flag ที่กลับด้านซึ่งจะไม่ทำให้การทดสอบล้มเหลว
อย่างไรก็ตาม นักวิจารณ์เน้นย้ำถึงข้อกังวลพื้นฐานเกี่ยวกับความเข้าใจโค้ดและการพัฒนาทักษะ พวกเขาโต้แย้งว่าการตรวจสอบโค้ดที่ AI สร้างขึ้นนั้นยากกว่าการเขียนโค้ดตั้งแต่เริ่มต้นโดยธรรมชาติ เนื่องจากกระบวนการเขียนนั้นเองสร้างความเข้าใจในระบบ
มีความแตกต่างระหว่างการเขียนโค้ด และการให้โค้ดถูกเขียนขึ้น LLMs เป็นสิ่งที่สอง
กรณีการใช้งานเครื่องมือเขียนโค้ด LLM (ที่ชุมชนระบุ)
- มีประสิทธิภาพสำหรับ: การสร้างโครงสร้างการทดสอบ, การตรวจสอบโค้ด, การตรวจจับข้อผิดพลาด, การสร้างต้นแบบอย่างรวดเร็ว, การสร้างเอกสารประกอบ
- มีประสิทธิภาพน้อยกว่าสำหรับ: สถาปัตยกรรมระบบที่ซับซ้อน, การแก้ปัญหาใหม่ๆ, ความเข้าใจฐานโค้ดอย่างลึกซึ้ง
- ข้อกังวล: ทักษะที่เสื่อมถอย, คุณภาพของโค้ด, การพึ่งพาระบบอัตโนมัติมากเกินไป
ปัญหาใช้หรือเสีย
ข้อกังวลสำคัญที่เกิดขึ้นจากการอภิปรายมุ่งเน้นไปที่การเสื่อมสลายของทักษะ ผู้ใช้ LLM อย่างหนักรายงานว่าความสามารถในการเขียนโค้ดของพวกเขาเสื่อมถอยลงตามเวลา ตามหลักการใช้หรือเสียของสมอง สิ่งนี้สะท้อนถึงวิธีที่การใช้เครื่องคิดเลขส่งผลต่อทักษะคณิตศาสตร์ หรือวิธีที่การนำทาง GPS ส่งผลกระทบต่อความสามารถในการใช้เหตุผลเชิงพื้นที่
ความกังวลขยายไปเกินกว่าการสูญเสียทักษะส่วนบุคคลไปสู่ผลกระทบต่ออุตสาหกรรมในวงกว้าง หากนักพัฒนาพึ่งพาเครื่องมือ AI มากเกินไป พวกเขาอาจสูญเสียความเข้าใจเชิงลึกที่จำเป็นสำหรับการแก้ปัญหาที่ซับซ้อนและการตัดสินใจด้านสถาปัตยกรรมระบบ
เมตริกคุณภาพเทียบกับปริมาณ
การถกเถียงยังได้เน้นย้ำถึงปัญหาเกี่ยวกับวิธีการวัดประสิทธิภาพในการพัฒนาซอฟต์แวร์ การศึกษาบางชิ้นอ้างถึงการเพิ่มขึ้นของบรรทัดโค้ด ( LOC ) เป็นหลักฐานของการปรับปรุงประสิทธิภาพ แต่สมาชิกชุมชนโต้แย้งเมตริกนี้อย่างแรง พวกเขาโต้แย้งว่าโค้ดมากขึ้นไม่จำเป็นต้องหมายถึงซอฟต์แวร์ที่ดีกว่าหรือมีค่ามากกว่า และการมุ่งเน้นที่ LOC ละเลยคุณภาพโค้ด ความสามารถในการบำรุงรักษา และความถูกต้อง
การอภิปรายเผยให้เห็นความไม่เห็นด้วยพื้นฐานเกี่ยวกับสิ่งที่ถือว่าเป็นการพัฒนาซอฟต์แวร์ที่มีประสิทธิผล ไม่ว่าจะเป็นความเร็วในการสร้างโค้ดหรือคุณภาพและความเข้าใจของผลิตภัณฑ์สุดท้าย
มองไปข้างหน้า
ขณะที่เครื่องมือเขียนโค้ด LLM ยังคงพัฒนาต่อไป ชุมชนเผชิญกับการตัดสินใจที่สำคัญเกี่ยวกับการบูรณาการและการนำมาใช้ ในขณะที่นักพัฒนาบางคนยอมรับเครื่องมือเหล่านี้สำหรับงานเฉพาะ คนอื่นๆ กังวลเกี่ยวกับผลที่ตามมาในระยะยาวสำหรับการพัฒนาทักษะและคุณภาพโค้ด การถกเถียงที่กำลังดำเนินอยู่สะท้อนถึงคำถามที่กว้างขึ้นเกี่ยวกับบทบาทของ AI ในงานสร้างสรรค์และเทคนิค และว่าการเพิ่มระบบอัตโนมัติจะแปลงเป็นผลลัพธ์ที่ดีขึ้นเสมอหรือไม่
อ้างอิง: I Don't Want to Code With LLM's