ในขณะที่เครื่องมือปัญญาประดิษฐ์ถูกนำมาใช้ในขั้นตอนการทำงานของการพัฒนาซอฟต์แวร์มากขึ้นเรื่อย ๆ แนวโน้มที่ไม่คาดคิดก็กำลังปรากฏขึ้นจากสนามจริง แม้ผู้บริหารด้านเทคโนโลยีจะยกย่องว่า AI เป็นตัวเพิ่มผลิตภาพขั้นสุด แต่กลับมีนักพัฒนาจำนวนมากรายงานประสบการณ์ที่ตรงกันข้าม นั่นคือจำนวนบั๊กที่เพิ่มขึ้น การส่งมอบฟีเจอร์ที่ช้าลง และภาระหนี้ทางเทคนิคที่สะสมมากขึ้น ช่องว่างระหว่างข้อความระดับ cooperate กับความเป็นจริงของนักพัฒนานี้ได้จุดประเด็นการถกเถียงอย่างร้อนแรงว่าจริง ๆ แล้ว AI กำลังเพิ่มคุณภาพของซอฟต์แวร์หรือเพียงเร่งการผลิตโค้ดที่มีข้อบกพร่อง
ภาพลวงตาด้านผลิตภาพ
ทั่วทั้งชุมชนออนไลน์ของนักพัฒนา เริ่มมีรูปแบบที่สอดคล้องกันปรากฏให้เห็น นั่นคือทีมที่นำผู้ช่วยโค้ดดิ้งแบบ AI มาใช้กำลังเผชิญกับผลลัพธ์ที่ไม่คาดคิด แทนที่จะทำให้การพัฒนามีประสิทธิภาพมากขึ้น หลายคนรายงานว่าโค้ดที่สร้างโดย AI จำเป็นต้องผ่านการทดสอบอย่างกว้างขวางและต้องแก้ไขหลายรอบ ซึ่งในที่สุดก็ทำให้เส้นเวลาการส่งมอบช้าลง คำสัญญาในการสร้างต้นแบบอย่างรวดเร็วกำลังมาปะทะกับความจริงของการสะสมหนี้ทางเทคนิค
จากประสบการณ์ของผม ตั้งแต่นักพัฒนาในทีมเราเริ่มใช้เครื่องมือ AI จำนวนบั๊กก็เพิ่มขึ้นอย่างมาก การส่งมอบฟีเจอร์ช้าลงอย่างเห็นได้ชัดเนื่องจากการต้องทดสอบหลายรอบหลังการแก้ไข
ความรู้สึกนี้สะท้อนไปทั่วทีมพัฒนาที่กำลังทดลองบูรณาการ AI เข้ามาใช้ เครื่องมือที่สัญญาจะขจัดงานซ้ำซากมักสร้างงานดูแลด้านเทคนิครูปแบบใหม่ผ่านข้อผิดพลาดเล็กน้อย สมมติฐานที่ไม่ถูกต้อง และโค้ดที่ดูสมเหตุสมผลแต่กลับทำงานผิดพลาดภายใต้เงื่อนไขการทำงานจริง
ผลกระทบที่รายงานจากเครื่องมือเขียนโค้ดด้วย AI:
- จำนวนบั๊กที่เพิ่มขึ้นในวงจรการพัฒนา
- ระยะเวลาการส่งมอบฟีเจอร์ที่ยาวนานขึ้นเนื่องจากต้องมีรอบการทดสอบเพิ่มเติม
- หนี้ทางเทคนิคที่สูงขึ้นจากโค้ดที่สร้างโดย AI ซึ่งต้องการการแก้ไข
- ภาระการกำกับดูแลที่เพิ่มขึ้นสำหรับนักพัฒนาอาวุโส
- ผลลัพธ์ที่หลากหลายต่อผลิตภาพโดยรวมแม้จะมีการสร้างโค้ดที่รวดเร็ว
การแลกเปลี่ยนระหว่างคุณภาพกับความเร็ว
ปัญหาหลักดูเหมือนจะเป็นความตึงเครียดพื้นฐานระหว่างความเร็วกับความน่าเชื่อถือ ผู้ช่วยโค้ดดิ้งแบบ AI ทำได้ดีในการสร้างโค้ดปริมาณมากอย่างรวดเร็ว แต่ความเร็วนี้มาพร้อมกับต้นทุนของการขาดการพิจารณาอย่างรอบคอบและความเข้าใจอย่างลึกซึ้ง นักพัฒนาให้ความเห็นว่า แม้ AI จะสามารถสร้างโค้ดส่วนย่อยที่ใช้งานได้ แต่มันมักขาดความตระหนักรู้ในบริบทและกระบวนการคิดเชิงสถาปัตยกรรมที่วิศวกรที่มีประสบการณ์นำมาสู่ระบบที่ซับซ้อน
หลายทีมพบว่าตัวเองติดอยู่ในวงจรที่โค้ดจาก AI ดูเหมือนจะถูกต้องในช่วงทบทวนครั้งแรก แต่กลับเผยให้เห็นปัญหาที่ซ่อนอยู่ระหว่างการทดสอบการรวมระบบหรือระหว่างการใช้งานจริง ลักษณะโดยธรรมชาติของเครื่องมือเหล่านี้ ซึ่งถูกฝึกฝนด้วยคลังโค้ดที่มีอยู่จำนวนมหาศาล หมายความว่าพวกมันถูกปรับให้เหมาะสมกับรูปแบบทั่วไป แทนที่จะเป็นโซลูชันที่สร้างสรรค์หรือการจัดการกรณีขอบเขต
ภาระการกำกับดูแลโดยมนุษย์
แทนที่จะลดภาระการคิดของนักพัฒนา เครื่องมือ AI กลับสร้างงานกำกับดูแลรูปแบบใหม่ วิศวกรรายงานว่าใช้เวลาอย่างมากในการทบทวน ดีบั๊ก และแก้ไขโค้ดที่สร้างโดย AI ซึ่งงานเหล่านี้มักต้องการความเชี่ยวชาญมากกว่าการเขียนโค้ดขึ้นมาใหม่ตั้งแต่ต้น สิ่งนี้สร้างความขัดแย้งที่นักพัฒนาระดับจูเนียร์อาจผลิตโค้ดได้มากขึ้นด้วยความช่วยเหลือของ AI แต่ในทางกลับกัน นักพัฒนาระดับซีเนียร์กลับต้องแบกรับความรับผิดชอบในการให้คำปรึกษาและการประกันคุณภาพที่เพิ่มขึ้น
สถานการณ์นี้ชี้ให้เห็นว่าในขณะที่ AI สามารถจัดการงานโค้ดดิ้งประจำได้ แต่การตัดสินใจของมนุษย์ยังคงเป็นสิ่งจำเป็นเพื่อรับประกันคุณภาพของโค้ด ความสามารถในการบำรุงรักษา และความสอดคล้องกับความต้องการทางธุรกิจ การนำไปใช้ที่ประสบความสำเร็จมากที่สุดดูเหมือนจะเป็นกรณีที่ AI ทำหน้าที่เป็นผู้ช่วยมากกว่าเป็นตัวแทนทดแทน โดยมีกระบวนการที่ชัดเจนสำหรับการตรวจสอบความถูกต้องและการกำกับดูแลโดยมนุษย์
แรงกดดันทางเศรษฐกิจและการกัดกร่อนของคุณภาพ
ภายใต้ความท้าทายทางเทคนิคคือความเป็นจริงทางเศรษฐกิจที่ลึกซึ้งกว่า ดังที่ผู้แสดงความคิดเห็นหนึ่งระบุไว้ การตอบสนองต่อผลลัพธ์ของ AI ที่ไม่ดีนั้นไม่น่าจะเป็นการกลับไปสู่แนวทางการพัฒนาดั้งเดิม แต่จะเป็นเป็นการเพิ่มการจ้างงานเอาท์ซอร์สงานทำความสะอาดไปยังภูมิภาคที่มีต้นทุนต่ำมากขึ้น ซึ่งสร้างรูปแบบที่น่ากังวลที่การสร้างโค้ดเบื้องต้นถูกทำให้เป็นอัตโนมัติ ในขณะที่การประกันคุณภาพกลับกลายเป็นสิ่งที่แตกกระจายและถูกกระจายออกไปมากขึ้น
กรณีธุรกิจสำหรับ AI ในการพัฒนาซอฟต์แวร์มักมุ่งเน้นไปที่การลดต้นทุนมากกว่าการปรับปรุงคุณภาพ การจัดแนวของแรงจูงใจนี้หมายความว่าองค์กรอาจให้ความสำคัญกับความเร็วกว่าความน่าเชื่อถือ ซึ่งอาจนำไปสู่หนี้ทางเทคนิคในระยะยาวที่มีน้ำหนักมากกว่าผลกำไรด้านผลิตภาพในระยะสั้น โครงสร้างของการลงทุนด้านเทคโนโลยีใน cooperate เองก็ส่งเสริมแนวทางนี้ โดยที่ผลลัพธ์รายไตรมาสมักมีความสำคัญเหนือกว่าการปฏิบัติทางวิศวกรรมที่ยั่งยืน
อนาคตของขั้นตอนการทำงานในการพัฒนา
แม้จะมีความท้าทายในปัจจุบัน นักพัฒนาหลายคนมองเห็นศักยภาพที่ AI จะสามารถปรับปรุงงานของพวกเขาได้ในที่สุด แต่ต้องมีการปรับปรุงเครื่องมือและกลยุทธ์การนำไปใช้อย่างมีนัยสำคัญ มุมมองในแง่ดีที่สุดชี้ให้เห็นว่าความเจ็บปวดในการเติบโตในปัจจุบันเป็นตัวแทนของช่วงเปลี่ยนผ่าน ขณะที่ทีมต่างๆ เรียนรู้ที่จะบูรณาการ AI เข้ากับขั้นตอนการทำงานของพวกเขาได้อย่างมีประสิทธิภาพ
การนำไปใช้ที่ประสบความสำเร็จดูเหมือนจะต้องมีการคิดใหม่เกี่ยวกับกระบวนการพัฒนา แทนที่จะเพียงแค่เสียบเครื่องมือ AI เข้ากับขั้นตอนการทำงานที่มีอยู่ ทีมที่ปฏิบัติต่อ AI ในฐานะหุ้นส่วนในการทำงานร่วมกัน แทนที่จะเป็นตัวแทนทดแทนความเชี่ยวชาญของมนุษย์ รายงานผลลัพธ์ที่ดีกว่า โดยให้เทคโนโลยีจัดการงานประจำ ในขณะที่มนุษย์มุ่งเน้นไปที่สถาปัตยกรรม การออกแบบ และการแก้ปัญหาที่ซับซ้อน
วิวัฒนาการอย่างต่อเนื่องของ AI ในการพัฒนาซอฟต์แวร์เป็นตัวแทนของการเปลี่ยนแปลงพื้นฐานในวิธีที่เราสร้างเทคโนโลยี แม้การนำไปใช้ในปัจจุบันอาจกำลังต่อสู้กับปัญหาด้านคุณภาพ แต่แนวโน้มในระยะยาวชี้ให้เห็นว่านักพัฒนาที่มีค่ามากที่สุดจะเป็นผู้ที่เรียนรู้ที่จะทำงานอย่างมีประสิทธิภาพกับระบบ AI ไม่ใช่เป็นไม้เท้าสำหรับการโค้ดดิ้งพื้นฐาน แต่เป็นเครื่องมือสำหรับการขยายขีดความสามารถในการสร้างสรรค์และการแก้ปัญหาของมนุษย์ ความท้าทายสำหรับอุตสาหกรรมนี้จะเป็นการสร้างสมดุลระหว่างคำสัญญาของผลิตภาพที่เพิ่มขึ้น กับความเป็นจริงที่ว่าซอฟต์แวร์ที่ดีต้องการการคิดอย่างรอบคอบ ไม่ใช่แค่การสร้างอย่างรวดเร็ว
อ้างอิง: “AI is an attack from above on wages”: An interview with cognitive scientist Rogan O’Reilly