ภาพที่ 65.jpg
AI ทำให้ทุกอย่างเป็นระบบอัตโนมัติและสามารถแทนที่โปรแกรมเมอร์ได้ ภาพ: Midjourney

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

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

อย่างไรก็ตาม การศึกษาวิจัยใหม่โดย นักวิทยาศาสตร์ จากห้องปฏิบัติการ วิทยาการ คอมพิวเตอร์และปัญญาประดิษฐ์ (CSAIL) - MIT และสถาบันวิจัยพันธมิตรได้แสดงให้เห็นว่า: เพื่อให้บรรลุอนาคตนั้น เราต้องพิจารณาความท้าทายที่แท้จริงในปัจจุบันโดยตรงเสียก่อน

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

ศาสตราจารย์อาร์มันโด โซลาร์-เลซามา โต้แย้งว่ามุมมองทั่วไปเกี่ยวกับวิศวกรรมซอฟต์แวร์คือเป็นงานที่คล้ายกับงานเขียนโปรแกรมของนักศึกษา นั่นคือ การนำฟังก์ชันเล็กๆ มาเขียนโค้ดเพื่อจัดการ หรือทำแบบฝึกหัดแบบ LeetCode แต่ในความเป็นจริงแล้วมีความซับซ้อนกว่านั้นมาก ตั้งแต่การรีแฟกเตอร์โค้ดเพื่อเพิ่มประสิทธิภาพการออกแบบ ไปจนถึงการโยกย้ายโค้ดขนาดใหญ่หลายล้านบรรทัดจาก COBOL ไปเป็น Java ซึ่งเปลี่ยนแปลงเทคโนโลยีทั้งหมดของบริษัท

การวัดและการสื่อสารยังคงเป็นปัญหาที่ยากลำบาก

การปรับแต่งโค้ดในระดับอุตสาหกรรม เช่น การปรับแต่งแกนประมวลผล GPU หรือการปรับปรุงหลายชั้นใน Chrome V8 ยังคงประเมินผลได้ยาก เกณฑ์มาตรฐานในปัจจุบันส่วนใหญ่มักเป็นปัญหาเล็กๆ ที่ถูกจัดกลุ่มไว้ ตัวชี้วัดที่ใช้งานได้จริงที่สุดคือ SWE-Bench ซึ่งเพียงแค่ขอให้โมเดล AI แก้ไขบั๊กบน GitHub ซึ่งเป็นแบบฝึกหัดการเขียนโปรแกรมระดับต่ำที่ประกอบด้วยโค้ดเพียงไม่กี่ร้อยบรรทัดและอาจเปิดเผยข้อมูล และละเลยสถานการณ์จริงที่หลากหลาย เช่น การรีแฟกเตอร์ด้วยความช่วยเหลือของ AI การเขียนโปรแกรมคู่ระหว่างมนุษย์กับเครื่องจักร หรือการเขียนโค้ดใหม่ประสิทธิภาพสูงหลายล้านบรรทัด จนกว่าเกณฑ์มาตรฐานจะขยายขอบเขตให้ครอบคลุมสถานการณ์ที่มีความเสี่ยงสูงเหล่านี้ การวัดความคืบหน้าและเร่งกระบวนการดังกล่าวจึงยังคงเป็นความท้าทายที่ยังไม่มีคำตอบ

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

คำเรียกร้องให้ดำเนินการจากชุมชน

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

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

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

(แปลสั้นๆ จาก MIT News)

ที่มา: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html