ไมโครซอฟท์เปิดซอร์สโค้ดเอเจนต์ทดสอบโค้ด ทำคะแนนเสร็จงานพุ่ง 92.1%
ไมโครซอฟท์ปล่อยเครื่องมือสร้างยูนิตเทสแบบ Polyglot ทำงานในเครื่องและรักษาความเป็นส่วนตัว ทำคะแนนเอาชนะ GitHub Copilot แบบเดิมได้อย่างขาดลอย

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ไมโครซอฟท์เปิดซอร์สเอเจนต์กำหนดนิยามและทักษะสำหรับทดสอบโค้ดโดยเฉพาะ
- ทำคะแนนสำเร็จ 92.1% บนเบนช์มาร์กภายในเทียบกับ 78.9% ของ Copilot ทั่วไป
- จัดการงานผ่านท่อประมวลผล Research-Plan-Implement (RPI) และตรวจทาน 5 ขั้นตอน
- ใช้ได้ดีเยี่ยมกับพรอมต์ที่มีความกำกวมสูงและงานเจาะจงดิฟฟ์ (diff)
ไมโครซอฟท์ได้เปิดตัวและเปิดซอร์สเครื่องมือสร้างการทดสอบโค้ดรูปแบบใหม่ ซึ่งมาในลักษณะของคำนิยามเอเจนต์พร้อมทักษะ (agent definition along with skills) โดยไม่ใช่บริการแบบโฮสต์ (hosted service) จุดเด่นสำคัญคือตัวเอเจนต์นี้จะทำงานอยู่ภายในเอเจนต์เขียนโค้ดตัวเดิมที่มีอยู่แล้วบนเครื่องของผู้พัฒนา ทำให้ซอร์สโค้ดทั้งหมดถูกเก็บรักษาไว้เป็นความลับและประมวลผลแบบโลคัล (local)
กระบวนการทำงานถูกขับเคลื่อนผ่านท่อประมวลผลที่เรียกว่า Research-Plan-Implement (RPI) เริ่มจากการค้นหาคลังโค้ดเพื่อหาจุดที่ต้องการทดสอบ ตรวจจับภาษาโปรแกรมและเฟรมเวิร์ก อ่านชุดทดสอบเดิมเพื่อดูรูปแบบข้อตกลง รวมถึงค้นหาคำสั่งคอมไพล์และรันเทสจริง ซึ่งช่วยแก้ปัญหาที่พบบ่อยว่าโปรเจกต์เทสต์รันได้ในเครื่องแต่กลับไม่ทำงานในระบบ CI เพราะไม่มีใครลงทะเบียนไว้

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
จากนั้นเอเจนต์จะเลือกกลยุทธ์การทำงานจาก 3 แบบ ได้แก่ การเขียนตรงและตรวจสอบทันที การรันรอบเดียว (single pass) หรือการทำซ้ำแบบวนลูป (iterative) สำหรับขอบเขตงานที่ใหญ่และเป้าหมายความครอบคลุมสูง โดยมีข้อจำกัดที่เข้มงวดคือจะไม่ไปแตะต้องโค้ดโปรดักชันเด็ดขาด รวมถึงหลีกเลี่ยงการทดสอบที่เรียก URL ภายนอก เปิดพอร์ต หรือพึ่งพาเรื่องเวลา
การที่ไมโครซอฟท์เลือกเปิดซอร์สเอเจนต์ตัวนี้ในรูปแบบของคำนิยามและทักษะ แทนที่จะเป็นระบบปิดแบบสำเร็จรูป สะท้อนให้เห็นถึงกลยุทธ์การสนับสนุนระบบนิเวศการพัฒนาซอฟต์แวร์แบบเปิด (Open Ecosystem) ที่ให้นักพัฒนาสามารถนำไปปรับแต่งและควบคุมความปลอดภัยของโค้ดได้เองบนเครื่องของตนเอง ซึ่งตอบโจทย์องค์กรใหญ่ที่มีข้อจำกัดด้านความปลอดภัยของข้อมูล
ก่อนที่จะรายงานว่างานเสร็จสิ้น เอเจนต์จะต้องผ่านการตรวจสอบ 5 ขั้นตอน ได้แก่ การจำลองโค้ดขนาดเล็กเพื่อให้เทสต์พัง (mutation testing แบบย่อย) การหาการยืนยันผลที่อ่อนแอหรือขาดหายไป การแมปสถานการณ์ที่ถูกร้องขอเข้ากับเทสต์ การคอมไพล์พื้นที่ทำงานทั้งหมดเพื่อรันชุดทดสอบ และการยืนยันว่าคำสั่งเทสต์ของคลังโค้ดค้นพบการทดสอบใหม่จริง ๆ
ในการทดสอบบนเบนช์มาร์กภายในของไมโครซอฟท์จาก 152 งานในคลังโค้ดจริง เอเจนต์สามารถทำสำเร็จไปถึง 140 งานหรือคิดเป็น 92.1% เทียบกับ GitHub Copilot แบบเดิมที่ทำได้ 120 งานหรือ 78.9% บนโมเดลและพรอมต์ชุดเดียวกัน ซึ่งช่วยลดความล้มเหลวลงไปได้ถึง 63% โดยความแตกต่างนี้เห็นได้ชัดเจนในพรอมต์ที่มีความคลุมเครือ 89 งาน ซึ่งเอเจนต์แก้ไขได้ถึง 79 งาน (88.8%) ลดความล้มเหลวจาก 30 เหลือ 10 งาน และในงานเจาะจงดิฟฟ์ 15 งาน เอเจนต์ผ่านครบทั้ง 15 งานในขณะที่ Copilot ทั่วไปทำไม่ได้เลย
ที่มา: MarkTechPost
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น