การศึกษาพบความหงุดหงิดของนักพัฒนาซอฟต์แวร์ต่อโค้ดไร้คุณภาพจาก AI ถือเป็นโศกนาฏกรรมของทรัพยากรส่วนรวมในวงการพัฒนาซอฟต์แวร์
การศึกษาล่าสุดจาก GitClear ได้ทำการวิเคราะห์ข้อมูลคอมมิท (commit) บน GitHub กว่า 12.4 ล้านรายการ จากช่วงเดือนมกราคมถึงสิงหาคม พ.ศ. 2567 โดยเปรียบเทียบกับข้อมูลในปีก่อนหน้า พบว่ามีแนวโน้มการเพิ่มขึ้นของโค้ดที่สร้างโดยเครื่องมือปัญญาประดิษฐ์ (AI) ซึ่งมักมีคุณภาพต่ำและถูกเรียกว่า “AI slop” หรือโค้ดขยะจาก AI สถิติชี้ให้เห็นว่าการใช้งาน AI ส่งผลกระทบเชิงลบต่อกระบวนการพัฒนาซอฟต์แวร์ โดยเฉพาะอย่างยิ่งในแง่ของการเพิ่มขึ้นของ “churn” หรืออัตราการแก้ไขโค้ดใหม่ซ้ำ ซึ่งสูงถึง 29% เมื่อเทียบกับโค้ดที่มนุษย์เขียนเอง
วิธีการตรวจจับโค้ดจาก AI
ทีมวิจัยจาก GitClear ใช้ฮิวริสติก (heuristic) หลายประการในการระบุโค้ดที่สร้างโดย AI โดยไม่ต้องพึ่งพาเครื่องมือตรวจจับภายนอก วิธีการหลัก ได้แก่
- การวิเคราะห์ churn ใน diff: โค้ดจาก AI มักถูกเขียนทับหรือลบออกภายในไม่กี่วัน เนื่องจากมีปัญหาคุณภาพ เช่น ฟังก์ชันที่ไม่สมบูรณ์หรือโครงสร้างที่ซับซ้อนเกินจำเป็น สถิติพบว่า 40% ของ churn ในช่วงต้นปี 2567 มาจากโค้ด AI เทียบกับ 4% ในปี 2566
- รูปแบบคอมเมนต์ที่ผิดปกติ: คอมเมนต์จาก AI มักยาวเกินไป ไม่เกี่ยวข้อง หรือซ้ำซาก เช่น การอธิบายโค้ดพื้นฐานในลักษณะที่มนุษย์ไม่ค่อยทำ
- โครงสร้างโค้ดที่เป็นสูตรสำเร็จ: AI สร้างโค้ดที่มี pattern คล้ายกันมาก เช่น การนำเข้าไลบรารีที่ไม่จำเป็นหรือการจัดการ error ที่ไม่เหมาะสม
การวิเคราะห์ครอบคลุม repository ทั้งแบบสาธารณะและเอกชน โดยพบว่าโปรเจกต์โอเพ่นซอร์สได้รับผลกระทบหนักหน่วงกว่า เนื่องจากนักพัฒนาที่หลากหลายมาร่วมมือกัน
โศกนาฏกรรมของทรัพยากรส่วนรวมในพัฒนาซอฟต์แวร์
การศึกษานี้เปรียบเทียบปัญหา AI slop กับ “tragedy of the commons” หรือโศกนาฏกรรมของทรัพยากรส่วนรวม ซึ่งเป็นแนวคิดทางเศรษฐศาสตร์ที่อธิบายว่าการใช้ทรัพยากรส่วนรวมเพื่อผลประโยชน์ส่วนบุคคลนำไปสู่ความเสียหายรวม ในบริบทของซอฟต์แวร์:
- ผลประโยชน์ส่วนบุคคล: นักพัฒนาระดับเริ่มต้น (junior developers) ใช้ AI เพื่อเร่งความเร็วในการส่งมอบงาน สามารถสร้างโค้ดได้เร็วขึ้นหลายเท่าโดยไม่ต้องเข้าใจลึกซึ้ง
- ความเสียหายส่วนรวม: นักพัฒนาระดับอาวุโส (senior developers) ต้องเสียเวลาในการตรวจสอบ แก้ไข และทำความสะอาดโค้ดขยะ ส่งผลให้ codebase โดยรวมเสื่อมโทรม เพิ่ม technical debt และลดประสิทธิภาพทีม
Matt Feldman ผู้ร่วมก่อตั้ง GitClear กล่าวว่า “AI slop กำลังกลายเป็นปัญหาใหญ่ในอุตสาหกรรม เรากำลังเห็นการเพิ่มขึ้นของโค้ดที่ไม่มีประโยชน์ซึ่งต้องถูกลบออกทันที มันเหมือนกับการทิ้งขยะในทุ่งหญ้าส่วนรวม” สถิติยืนยันว่าอัตราการ churn จาก AI สูงถึง 174 บรรทัดต่อคอมมิท เทียบกับ 86 บรรทัดในโค้ดมนุษย์
ผลกระทบเชิงปริมาณ
| ตัวชี้วัด | ปี 2566 | ปี 2567 (ม.ค.-ส.ค.) | การเปลี่ยนแปลง |
|---|---|---|---|
| % churn จาก AI | 4% | 40% | +1,000% |
| Churn ต่อคอมมิท (บรรทัด) | 143 | 151 | +6% |
| % repo ที่มี AI slop | - | 50% ของ top 1% repo | - |
ข้อมูลจาก 79,000 repository ชั้นนำ พบว่า repository ที่มีดาวมากที่สุดครึ่งหนึ่งมี AI slop อย่างน้อยหนึ่งครั้ง แม้แต่โปรเจกต์ขนาดใหญ่ก็ไม่รอดพ้น โดยเฉพาะในภาษา JavaScript/TypeScript ที่ AI ถูกใช้บ่อย
แนวโน้มและข้อเสนอแนะ
การใช้งาน AI เพิ่มขึ้นอย่างรวดเร็ว โดยเดือนกรกฎาคม 2567 มีการตรวจพบ AI slop ใน 28% ของคอมมิทใหม่ เทียบกับ 6% ในเดือนมกราคม 2566 ทีม GitClear แนะนำให้:
- ใช้เครื่องมือตรวจจับ AI ใน CI/CD pipeline
- ส่งเสริมวัฒนธรรม code review ที่เข้มงวด
- ฝึกอบรมนักพัฒนาให้ใช้ AI เป็นเครื่องมือเสริม ไม่ใช่แทนที่ทักษะ
อย่างไรก็ตาม ผู้วิจัยเตือนว่าปัญหานี้อาจรุนแรงขึ้น หากไม่มีการควบคุม เนื่องจาก AI กำลังกลายเป็นมาตรฐานในกระบวนการพัฒนา
การศึกษานี้เน้นย้ำถึงความจำเป็นในการจัดการผลข้างเคียงของ AI อย่างรอบคอบ เพื่อรักษาคุณภาพ codebase ในระยะยาว โดยไม่ปฏิเสธประโยชน์ของเทคโนโลยีนี้
(จำนวนคำประมาณ 720 คำ)
This Article is sponsored by Gnoppix AI (https://www.gnoppix.org)