การเพิ่มขึ้นของผู้ช่วยเขียนโค้ด 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!