1 คะแนน โดย GN⁺ 2024-01-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ผลการวิจัยเกี่ยวกับ GitHub Copilot พบ 'แรงกดดันขาลง' ต่อคุณภาพโค้ด

  • งานวิจัยใหม่เกี่ยวกับผลกระทบของ GitHub Copilot ที่ขับเคลื่อนด้วย AI ต่อการพัฒนาซอฟต์แวร์เผยให้เห็นผลลัพธ์ในด้านลบ
  • เอกสารไวท์เปเปอร์ "Coding on Copilot" ของ GitClear ศึกษาโดยเปรียบเทียบคุณภาพและความสามารถในการบำรุงรักษาของโค้ดที่มี AI ช่วยกับโค้ดที่มนุษย์เขียน
  • ผลการวิจัยพบแนวโน้มที่น่ากังวลต่อการบำรุงรักษาโค้ด และคาดว่าในปี 2024 ปริมาณการเปลี่ยนแปลงโค้ดจะเพิ่มขึ้นเป็นสองเท่าเมื่อเทียบกับปี 2021 ก่อนการนำ AI มาใช้

เปรียบเทียบกับงานวิจัยของ GitHub

  • งานวิจัยอื่น ๆ โดยเฉพาะงานวิจัยของ GitHub ในปี 2022 พบว่านักพัฒนาที่ใช้ GitHub Copilot ทำงานเสร็จได้เร็วขึ้นอย่างมาก
  • งานวิจัยของ GitHub วัดผลเชิงบวก เช่น ผลิตภาพที่เพิ่มขึ้น ความพึงพอใจของนักพัฒนาที่สูงขึ้น และการประหยัดพลังงานทางความคิด
  • งานวิจัยของ GitClear ตรวจสอบการเปลี่ยนแปลงขององค์ประกอบโค้ดเมื่อใช้ AI และชี้ให้เห็นสิ่งที่ผู้นำด้านเทคนิคควรระวังในปี 2024

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2024-01-29
ความคิดเห็นจาก Hacker News
  • ผู้ใช้รายหนึ่งระบุว่าได้ยกเลิกการสมัครแล้ว เพราะต้องใช้แรงทางความคิดมากเกินไปกับการแก้ข้อผิดพลาดของโค้ด โดยเฉพาะเมื่อแก้ปัญหาซับซ้อนที่เกี่ยวกับ SQL มันแทบไม่มีประโยชน์เลย เขาบอกว่าการเขียนสิ่งที่ต้องการด้วยตัวเองง่ายกว่า และกังวลว่านักพัฒนามือใหม่อาจถูกเครื่องมือที่ไม่มีประสิทธิภาพแบบนี้กดทับ
  • ผู้ใช้อีกรายกล่าวว่าใช้ GPT-4 แล้วช่วยเพิ่มประสิทธิภาพการพัฒนาแอปพลิเคชัน PHP CRUD ได้อย่างมาก โค้ดที่สร้างจากคำสั่งง่าย ๆ เข้าใจง่ายและส่วนใหญ่ใช้งานได้ทันที อีกทั้งยังช่วยรับฟังความต้องการของผู้ใช้และช่วยแก้ปัญหาได้ เขาเน้นว่า GPT-4 ให้ความช่วยเหลือที่คุ้มค่าด้วยต้นทุนต่ำ แต่ถ้าไม่รู้พื้นฐานก็จะใช้งานได้ไม่ดีนัก
  • ผู้ร่วมถกเถียงคนหนึ่งตั้งคำถามกับวิธีวิทยาที่ใช้เปรียบเทียบกิจกรรมการคอมมิตในปี 2023 กับปีก่อน ๆ โดยวิจารณ์ว่าการวิเคราะห์การถดถอยที่อิงข้อมูลเพียง 4 จุดข้อมูลและไม่ได้คำนึงถึงผลกระทบของ Copilot นั้นไม่น่าเชื่อถือ
  • ผู้ใช้อีกรายชี้ว่าปัจจุบันเทคโนโลยีถูกใช้เพื่อการเติบโตของตลาดและภาครัฐ แต่บ่อยครั้งก็เป็นการแก้ปัญหาด้วยการพอกทับลงบน abstraction ที่ไม่สมบูรณ์ เขามองว่าจำเป็นต้องมีการเปลี่ยนแปลงเชิงคุณภาพ และกังวลว่า LLMs (Large Language Models) กำลังกระตุ้นข้อผิดพลาดของมนุษย์ที่พยายามบรรลุเป้าหมายโดยไม่ลงแรงอย่างแท้จริง
  • นักพัฒนาคนหนึ่งอธิบายเวิร์กโฟลว์ของตนว่า หาก Copilot สามารถให้โค้ดที่ทำงานได้ตั้งแต่ขั้นต้นแบบ ก็อาจทำให้ข้ามกระบวนการส่วนใหญ่ที่จำเป็นต่อการทำความเข้าใจปัญหาอย่างเพียงพอและจัดโครงสร้างได้อย่างถูกต้องไปได้ เขามองว่า Copilot อาจมีประโยชน์มากในช่วงท้ายของการพัฒนา แต่ไม่ควรคาดหวังผลลัพธ์เกินกว่าสิ่งที่ป้อนให้มัน
  • นักพัฒนามือใหม่คนหนึ่งรู้สึกว่าผู้ช่วยอย่าง Codeium มักทำให้เสียสมาธิ และกังวลว่าตนเองอาจไม่ได้เรียนรู้วิธีการเขียนโค้ดของตัวเอง เครื่องมืออย่าง Phind ช่วยให้เข้าใจปัญหาได้ แต่ Codeium มักใช้งานไม่ได้บ่อยครั้งจนสร้างความไม่สะดวก
  • ผู้เขียนงานวิจัยแสดงความตื่นเต้นที่มีการให้ความสนใจระยะยาวต่อคุณภาพโค้ด เขาระบุว่าการเพิ่มขึ้นของโค้ดที่ซ้ำกันและการลดลงของการย้ายโค้ดในปี 2023 เป็นผลลัพธ์ที่ไม่คาดคิด และหวังว่าทีมพัฒนาและผู้สร้างผู้ช่วย AI จะนำตัวชี้วัดและแรงจูงใจที่ให้ความสำคัญกับโค้ดที่นำกลับมาใช้ใหม่ได้มากกว่าโค้ดที่เพิ่มเข้ามาใหม่มาใช้
  • ผู้ใช้รายหนึ่งบอกว่าใช้ ChatGPT สร้างโคลนของ Yourls บนพื้นฐาน Django/Python แต่กลับไม่ได้พิจารณาฟีเจอร์ติดตามทราฟฟิกอย่างเหมาะสม เขาเปรียบเทียบว่าเครื่องมือ AI ทำงานเหมือนนักพัฒนามือใหม่ แต่สร้างความผิดพลาดได้เร็วกว่าอย่างมาก
  • มีการชี้ว่ากระแสต้านหลักการ DRY (Don't Repeat Yourself) เกิดขึ้นอยู่ก่อนแล้ว และนักพัฒนารุ่นใหม่บางส่วนมีทัศนคติต่อโค้ดที่แตกต่างอย่างมาก โดยมีท่าทีดูแคลนต่อ design patterns รวมถึงหลักการ DRY และ SOLID
  • สุดท้าย ผู้ใช้คนหนึ่งรู้สึกว่า Copilot พยายามทำตัวฉลาดเกินไปจนมักให้ผลลัพธ์ที่ผิด เขาอยากให้ Copilot เป็น IntelliSense ที่ฉลาด แต่ในความเป็นจริงมันกลับทำตัวเหมือน pair programmer ที่โง่กว่า เขาวิจารณ์ว่าหลายคนกำลังนำมันไปใช้กับ business logic และคิดว่าผลิตภัณฑ์ก็กำลังมุ่งไปในทิศทางนั้น