โค้ดที่สร้างด้วย AI ก่อให้เกิดปัญหา "Vibe Coding" ใหม่ เมื่อนักพัฒนาส่ง Pull Request โดยไม่ตรวจสอบ

ทีมชุมชน BigGo
โค้ดที่สร้างด้วย AI ก่อให้เกิดปัญหา "Vibe Coding" ใหม่ เมื่อนักพัฒนาส่ง Pull Request โดยไม่ตรวจสอบ

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

ปัญหา Pull Request

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

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

ปัญหาการเขียนโค้ดด้วย AI ที่มีการรายงาน:

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

ปัญหาการเลี้ยงดู

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

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

การจัดการการรวม AI

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

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

AI นำมาซึ่งปัญหาของตัวเอง แต่ฉันคิดว่าบางคนแค่ไม่อยากฟังว่ามันเป็นประโยชน์สุทธิ

แนวทางปฏิบัติที่แนะนำสำหรับการบูรณาการ AI:

  • สร้างไฟล์ AGENTS.md พร้อมบริบทของโปรเจกต์และมาตรฐานการเขียนโค้ด
  • รักษาการดูแลอย่างต่อเนื่องในระหว่างการสร้างโค้ดด้วย AI
  • ใช้การทดสอบที่เหมาะสมก่อนส่ง pull request
  • ใช้ AI สำหรับงานประจำในขณะที่รักษาการตัดสินใจของมนุษย์ไว้
  • กำหนดมาตรฐานความรับผิดชอบที่ชัดเจนสำหรับงานที่ได้รับความช่วยเหลือจาก AI

ช่องว่างระหว่างรุ่น

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

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

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

อ้างอิง: Karen Hao on the Empire of AI, ASI evangelists, and the cost of belief!