โมเดล AI ประสบปัญหาในการคอมไพล์โค้ดเก่าแม้จะมีความก้าวหน้าในยุคปัจจุบัน

ทีมชุมชน BigGo
โมเดล AI ประสบปัญหาในการคอมไพล์โค้ดเก่าแม้จะมีความก้าวหน้าในยุคปัจจุบัน

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

หมวดหมู่งานของ Benchmark:

  • การ build แบบง่าย - โมเดลส่วนใหญ่สามารถจัดการงาน compilation มาตรฐานได้
  • Cross-compilation - การ compilation สถาปัตยกรรม ARM64 (อุปกรณ์ Apple สมัยใหม่/เซิร์ฟเวอร์)
  • การฟื้นฟูโค้ดเก่า - การ compilation ซอร์สโค้ดยุค 2003 บนระบบสมัยใหม่
  • Static linking - การสร้างไฟล์ปฏิบัติการแบบ standalone โดยไม่ต้องพึ่งพา dependencies ภายนอก
  • Windows cross-compilation - การ build ไฟล์ปฏิบัติการ Windows จากสภาพแวดล้อม Linux
แผนภูมินี้แสดงอัตราความสำเร็จของโมเดล AI ต่างๆ ในเบนช์มาร์ก CompileBench โดยเน้นประสิทธิภาพของพวกเขาในการคอมไพล์โค้ดเก่า
แผนภูมินี้แสดงอัตราความสำเร็จของโมเดล AI ต่างๆ ในเบนช์มาร์ก CompileBench โดยเน้นประสิทธิภาพของพวกเขาในการคอมไพล์โค้ดเก่า

Anthropic นำหน้าในงานคอมไพล์ที่ซับซ้อน

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

การจัดอันดับประสิทธิภาพของโมเดล:

  1. Anthropic Claude Sonnet - อัตราความสำเร็จสูงสุด
  2. Anthropic Claude Opus - อัตราความสำเร็จสูงเป็นอันดับสอง เป็นโมเดลเดียวที่สามารถ cross-compile curl สำหรับ ARM64 ด้วย static linking ได้สำเร็จ
  3. โมเดล OpenAI GPT - ความสำเร็จอันดับสามและสี่ แต่ครองตัวชี้วัดความคุ้มค่าด้านต้นทุน
  4. โมเดล Google Gemini - เกือบจะอยู่ท้ายตารางอันดับ แม้จะมีชื่อเสียงด้านการพัฒนาเว็บที่แข็งแกร่ง
แผนภาพแนวคิดที่แสดงกระบวนการสร้างซอฟต์แวร์ โดยเน้นความซับซ้อนที่เกี่ยวข้องในงานคอมไพล์โค้ดที่จัดการโดย AI
แผนภาพแนวคิดที่แสดงกระบวนการสร้างซอฟต์แวร์ โดยเน้นความซับซ้อนที่เกี่ยวข้องในงานคอมไพล์โค้ดที่จัดการโดย AI

OpenAI ครองความคุ้มค่าแม้จะมีอัตราความสำเร็จที่ต่ำกว่า

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

ช่องว่างประสิทธิภาพที่น่าแปลกใจของ Google

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

โปรเจกต์โอเพนซอร์สที่ทดสอบ:

  • curl - ไลบรารี HTTP client
  • GNU Coreutils - ยูทิลิตี้พื้นฐาน (ls, mv, cp, ฯลฯ)
  • jq - ตัวประมวลผล JSON
  • เป้าหมายในอนาคต - FFmpeg, Chromium (คาดว่าจะท้าทายมากกว่า)
กราฟนี้เปรียบเทียบอัตราความสำเร็จของงานสร้าง curl แบบง่ายเทียบกับแบบยาก เน้นย้ำถึงความยากลำบากที่โมเดล AI เผชิญเมื่อต้องจัดการกับการคอมไพล์โค้ดที่ซับซ้อน
กราฟนี้เปรียบเทียบอัตราความสำเร็จของงานสร้าง curl แบบง่ายเทียบกับแบบยาก เน้นย้ำถึงความยากลำบากที่โมเดล AI เผชิญเมื่อต้องจัดการกับการคอมไพล์โค้ดที่ซับซ้อน

การตรวจสอบความเป็นจริง: AI เทียบกับนักพัฒนามนุษย์

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

15 นาที? และนี่คือฉัน หลังจาก 4 วันเต็มของการต่อสู้กับ cross-compilation toolchain ที่คลุมเครือเพื่อฟื้นคืนชีพซอฟต์แวร์ที่โชคร้ายบางชิ้นจากปี 2011 ในสภาพแวดล้อม embedded สมัยใหม่

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

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

อ้างอิง: CompileBench: Can Al Compile 22-year-old Code?