คะแนน SWE-bench พุ่งสูงขึ้นจาก 1.96% เป็น 72.7% ภายในเวลาไม่ถึงสองปี ซึ่งเป็นการก้าวกระโดดถึง 37 เท่าในความสามารถด้านการเขียนโค้ดของ AI ตามที่พาดหัวข่าวระบุไว้ พาดหัวข่าวอาจดึงดูดความสนใจ แต่ตัวเลขเหล่านี้เป็นการเปรียบเทียบข้อสอบสองชุดที่ต่างกัน ไม่ใช่การพัฒนาทักษะวิศวกรรมซอฟต์แวร์ที่ต่อเนื่องและสม่ำเสมอ
ตัวเลขดิบ
ในปี 2023 SWE-bench เวอร์ชันดั้งเดิมได้ประเมิน AI agents จากประเด็นปัญหา (issues) จริงบน GitHub จำนวน 2,294 รายการ งานเหล่านี้มีความหลากหลายที่ไร้ระเบียบ ทั้งคำอธิบายที่คลุมเครือ, การทดสอบที่ผิดพลาด และปัญหามากมายที่แม้แต่มนุษย์ยังยากที่จะแก้ไข แต่ภายในปี 2025 ชื่อ Benchmark เดิมปรากฏขึ้นพร้อมคะแนน 72.7% ทว่าแบบทดสอบได้ถูกจำกัดวงให้แคบลงเหลือเพียงชุดย่อยที่เรียกว่า “Verified” ซึ่งประกอบด้วยงานเพียง 500 รายการที่มนุษย์ได้ตรวจสอบความชัดเจนและความสามารถในการแก้ไขแล้ว
การเปลี่ยนแปลงของแบบทดสอบ
การเปลี่ยนจากรายการงานทั้งหมดมาเป็นชุด Verified คือการเปลี่ยนแปลงแรกที่เห็นได้ชัดที่สุด ชุดข้อมูลดั้งเดิมพยายามสะท้อนความเป็นจริงที่วุ่นวายของการมีส่วนร่วมใน open-source ซึ่งประกอบด้วยปัญหาที่ไม่สมบูรณ์, เอกสารประกอบที่ไม่ดี หรือปัญหาที่เป็นไปไม่ได้เลยหากไม่มีบริบทเพิ่มเติม ในทางตรงกันข้าม เวอร์ชัน Verified ได้จงใจคัดกรองความวุ่นวายเหล่านั้นออกไป โดยนำเสนอชุดปัญหาที่สะอาดกว่าและจัดการได้ง่ายกว่า ซึ่งทำให้การได้คะแนนสูงเป็นสิ่งที่ทำได้จริง
เนื่องจากทั้งสองเวอร์ชันวัดผลในพื้นที่ของปัญหาที่แตกต่างกัน การเปรียบเทียบเปอร์เซ็นต์โดยตรงจึงทำให้เข้าใจผิด ตัวเลข 1.96% สะท้อนถึงประสิทธิภาพในการทำงานจริงที่ยังไม่ผ่านการคัดกรอง ส่วนตัวเลข 72.7% สะท้อนถึงประสิทธิภาพในกลุ่มตัวอย่างที่ผ่านการคัดสรรมาแล้ว ซึ่งมีโอกาสประสบความสำเร็จสูงกว่ามาก
วิศวกรรมแบบมุ่งเป้า
การเปลี่ยนแปลงที่สองซึ่งละเอียดอ่อนกว่า เกิดขึ้นในวิธีที่นักพัฒนาเข้าหา Benchmark ในปี 2023 ยังไม่มีใครสร้าง agents ขึ้นมาเพื่อทำคะแนน SWE-bench โดยเฉพาะ โดยแบบทดสอบทำหน้าที่เป็นเพียงกลุ่มตัวอย่างแบบสุ่มของความท้าทายในการเขียนโค้ดทั่วโลก แต่พอถึงปี 2025 ทีมต่างๆ ได้เปลี่ยน Benchmark ให้กลายเป็นกระดานคะแนน พวกเขาได้สร้างโครงสร้าง (scaffolding), กลยุทธ์การเขียน prompt และการปรับจูนโมเดล (fine-tuned models) โดยมีเป้าหมายที่ชัดเจนคือการทำคะแนนให้ดีในชุด Verified
เมื่อวิศวกรออกแบบระบบเพื่อผ่านการทดสอบเฉพาะเจาะจง คะแนนที่ได้จะสะท้อนถึงความสามารถของระบบในการตอบโจทย์การทดสอบนั้น ไม่ใช่ความสามารถในวงกว้าง Benchmark เลิกเป็นตัวแทนของงานในโลกความเป็นจริงทันทีที่มันถูก "ซ่อมแซม" และกลายเป็นเป้าหมายในการทำคะแนน
การก้าวกระโดดนี้หมายความว่าอย่างไรกันแน่
การพัฒนาที่ดึงดูดพาดหัวข่าวนั้นเป็นเรื่องจริงในแง่ที่ว่า coding agents ในปัจจุบันสามารถทำงานในชุดงาน Verified ได้ดีกว่าชุดงานดั้งเดิมอย่างมหาศาล การพัฒนานั้นมีความสำคัญสำหรับการแข่งขัน, งานวิจัย และการสาธิตผลิตภัณฑ์ที่ใช้ Benchmark ที่ผ่านการคัดสรรแบบเดียวกันนี้
อย่างไรก็ตาม การก้าวกระโดดนี้ ไม่ได้ พิสูจน์ว่า AI agents สามารถจัดการกับความยุ่งเหยิงของการพัฒนาซอฟต์แวร์ในแต่ละวันได้ ชุดข้อมูลเดิมที่มี 2,294 รายการยังคงมีอยู่ และคะแนนในเวอร์ชันนั้นยังคงต่ำอยู่
คำถามที่ควรตั้งไว้
เมื่อใดก็ตามที่คุณเห็นการเปลี่ยนแปลงอย่างมหาศาลในผลลัพธ์ของ Benchmark ให้คำนึงถึงการตรวจสอบสามประการนี้:
- รายงานเวอร์ชันไหน? Original, Lite หรือ Verified? ชื่อที่เหมือนกันอาจปกปิดชุดงานที่แตกต่างกันอย่างสิ้นเชิง
- อะไรที่ถูกคัดออกไป? การนำงานที่วุ่นวายหรือเป็นไปไม่ได้ออกไปช่วยเพิ่มเพดานคะแนนให้กับทุกระบบ แต่มันก็เป็นการตัดความท้าทายที่สำคัญในการทำงานจริง (production) ออกไปด้วย
- ระบบถูกสร้างมาเพื่อผ่านการทดสอบนี้โดยเฉพาะหรือไม่? หากนักพัฒนาปรับจูนโมเดลหรือ pipeline เพื่อ Benchmark นี้ คะแนนที่ได้จะวัดถึงการเพิ่มประสิทธิภาพ (optimization) ไม่ใช่ความสามารถที่แท้จริง (raw capability)
มองไปข้างหน้า
จนกว่าจะมีมาตรการป้องกันดังกล่าวเป็นมาตรฐาน ตัวชี้วัดที่ดีที่สุดสำหรับประโยชน์ของ AI coder ก็ยังคงเป็นประสิทธิภาพในการจัดการกับปัญหาที่วุ่นวายในโลกความเป็นจริงที่นักพัฒนาต้องเผชิญในทุกๆ วัน
บทสรุป: คะแนนที่สูงขึ้นบน Benchmark ที่ถูกซ่อมแซมและมุ่งเป้า ไม่ได้พิสูจน์โดยอัตโนมัติว่า AI agents พร้อมสำหรับความยุ่งเหยิงของโค้ดในโลกความเป็นจริง การทดสอบที่แท้จริงยังคงเป็นปัญหาที่ไม่มีการคัดกรองซึ่งวิศวกรต้องต่อสู้ด้วยในทุกๆ วัน
