นักพัฒนาเผยจุดอ่อนที่ซ่อนอยู่ของเครื่องมือ AI สำหรับเขียนโค้ด: มันสร้างโซลูชันที่ผิดอย่างมั่นใจ

ทีมชุมชน BigGo
นักพัฒนาเผยจุดอ่อนที่ซ่อนอยู่ของเครื่องมือ AI สำหรับเขียนโค้ด: มันสร้างโซลูชันที่ผิดอย่างมั่นใจ

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

เครื่องมือ AI เก่งเรื่องความเร็ว แต่ติดขัดเรื่องทิศทาง

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

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

แอปพลิเคชันเครื่องมือ AI สำหรับการเขียนโค้ดที่ใช้กันทั่วไป:

  • Granola: การแปลงเสียงเป็นข้อความสำหรับเซสชันการวิจัยผู้ใช้
  • Visual Electric: การสร้างภาพสต็อกที่หลากหลาย
  • ChatGPT: การตรวจสอบโค้ดและปรับปรุงเนื้อหา
  • Cursor: การพัฒนาเว็บไซต์และต้นแบบ
  • Custom agents: การเขียนเนื้อหาเฉพาะแบรนด์

ปัญหาการตกแต่งเกินจำเป็นในโค้ดที่สร้างโดย AI

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

เครื่องมือเหล่านี้ดูเหมือนจะมองหาสิ่งที่ฉันเรียกว่าโซลูชันที่สมบูรณ์แบบเป็นความพยายามแรกเสมอ และหลายคนจะเรียกสิ่งนั้นว่าการตกแต่งเกินจำเป็น

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

ปัญหาคุณภาพโค้ดของ AI:

  • การ "ตกแต่งเกินจำเป็น" ด้วยความซับซ้อนที่ไม่จำเป็น
  • โซลูชันที่ซับซ้อนเกินไปสำหรับปัญหาง่ายๆ
  • คอมเมนต์ที่เน้น "วิธีการ/สิ่งที่ทำ" แทนที่จะเป็น "เหตุผล"
  • การแนะนำแนวทางที่ไม่เหมาะสมอย่างมั่นใจ
  • ขาดการตัดสินใจในการออกแบบอย่างมีเจตนา

การใช้ AI เชิงกลยุทธ์ต้องการความเชี่ยวชาญของมนุษย์

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

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

อนาคตเป็นของการร่วมมือระหว่างมนุษย์กับ AI

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

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

อ้างอิง: AI will happily design the wrong thing for you