Skip to content

การใช้ OpenGameEval เพื่อวัดประสิทธิภาพของ AI ผู้ช่วยเชิงตัวแทนสำหรับ Roblox Studio

กรอบการประเมินและเกณฑ์มาตรฐานแรกใน Roblox Studio สำหรับการประเมินประสิทธิภาพของ AI Assistant

ความท้าทาย 

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

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

กระดานผู้นำของ OpenGameEval ให้ภาพรวมปัจจุบันของประสิทธิภาพของโมเดลสำหรับการพัฒนา Roblox.

ทางออก

กรอบการประเมิน OpenGameEval ได้รับการออกแบบมาเพื่อจำลองสภาพแวดล้อมการพัฒนาของ Roblox การประเมินแต่ละครั้งจะดำเนินการในสภาพแวดล้อมที่จำลองพฤติกรรมของเวลาในการแก้ไขและการเล่นใน Roblox Studio ซึ่งทำให้มั่นใจได้ว่าพฤติกรรมที่สังเกตได้ เช่น ฟิสิกส์ การเชื่อมต่อเครือข่าย และการโต้ตอบแบบผู้เล่นหลายคน จะเหมือนกับที่ผู้สร้างหรือผู้เล่นจะได้สัมผัสจริง 

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

สถาปัตยกรรมการประเมินทั้งหมดถูกบรรจุไว้เบื้องหลัง API ที่รวมเป็นหนึ่งเดียวและใช้งานง่าย การแยกส่วนนี้ช่วยให้พันธมิตรด้านการวิจัยสามารถเปรียบเทียบประสิทธิภาพของระบบตัวแทนที่ใช้ LLM หลากหลายรูปแบบซึ่งทำงานในภารกิจมาตรฐานเดียวกันได้ โดยไม่ต้องปรับเปลี่ยนสภาพแวดล้อมพื้นฐาน

undefined

ชุดข้อมูลมาตรฐาน OpenGameEval

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

การเปิดตัวครั้งแรกประกอบด้วยสถานการณ์ที่มาจากงานพัฒนา Roblox ที่พบได้ทั่วไป รวมถึงกลไกของเกม การสร้างสภาพแวดล้อม การสร้างแอนิเมชันตัวละคร การออกแบบอินเทอร์เฟซ และการออกแบบเสียง OpenGameEval benchmark ใช้การทดสอบหน่วยที่สามารถดำเนินการได้ โดยปรับวิธีการให้คะแนนให้สอดคล้องกับเมตริกมาตรฐานอุตสาหกรรม เช่น pass@k, cons@k และ all@k เพื่อวัดประสิทธิภาพของโมเดลในชุดข้อมูล พันธมิตรวิจัยสามารถทำซ้ำเมตริกเหล่านี้ได้เองหลังจากรวบรวมผลการประเมินจากการรัน OpenGameEval

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

งานหลายขั้นตอนและการเปลี่ยนแปลงตามบริบท 

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

คำแนะนำสำหรับผู้ใช้: 

นำระบบฟื้นฟูสุขภาพมาใช้ ซึ่งจะเริ่มทำงานสองวินาทีหลังจากได้รับความเสียหาย และฟื้นฟูสุขภาพ 10 หน่วยต่อวินาที

บริบทของ Placefile:

ประสบการณ์เลเซอร์แท็กพร้อมอาวุธ ทีม และกลไกการเล่นหลักที่จัดเตรียมไว้เรียบร้อยแล้ว

ขั้นตอนการใช้เหตุผลที่คาดหวัง: 

  1. ให้บริบท: สำรวจประสบการณ์ด้วยเครื่องมือค้นหาที่หลากหลาย ซึ่งมักต้องใช้หลายขั้นตอนในการค้นหาและปรับขอบเขต: 

    1. ระบุสคริปต์ที่มีอยู่เกี่ยวกับความเสียหายและสุขภาพของผู้เล่น และเข้าใจตรรกะการทำงาน

    2. เหตุผลว่าตำแหน่งที่ดีที่สุดในการเพิ่มสคริปต์ฟื้นฟูสุขภาพคือที่ไหน (เช่น บนเซิร์ฟเวอร์หรือไคลเอนต์? เป็นส่วนหนึ่งในสคริปต์เกมหลักหรือเป็นสคริปต์ผู้เล่นแยกต่างหาก?) 

  2. การนำไปใช้: เขียนโค้ด Luau โดยใช้ API ที่เหมาะสมเพื่อจัดการกับสุขภาพของผู้เล่น. สคริปต์ต้องทำตามนี้: 

    1. จับเวลาที่เหมาะสมเมื่อต้องการการฟื้นฟู และวิธีการฟื้นฟูควรเกิดขึ้นอย่างไร 

    2. สามารถนำไปใช้ได้กับทุกความเสียหาย ไม่ใช่จำกัดเฉพาะรูปแบบความเสียหายบางประเภท

การประเมินผลที่สามารถตรวจสอบได้ 

โปรแกรมทดสอบที่รันได้ (รันในอินสแตนซ์เกมที่ถูกจำกัดสิทธิ์) จะทำให้เกิดเหตุการณ์ความเสียหายต่อผู้เล่นทดสอบและตรวจสอบ:

  1. การฟื้นฟูสุขภาพได้รับการจัดการอย่างถูกต้องบนเซิร์ฟเวอร์และแสดงผลให้เห็นบนไคลเอนต์

  2. การฟื้นฟูจะไม่เริ่มต้นก่อนการหน่วงเวลาสองวินาที 

  3. สุขภาพฟื้นฟูในอัตรา 10 หน่วยต่อวินาที

undefined

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

คำแนะนำสำหรับผู้ใช้: 

เขียนสคริปต์สำหรับสัญญาณไฟจราจรสี่ทางแบบง่ายให้ฉัน

การเปลี่ยนแปลงครั้งที่ 1:

ไฟล์ที่ว่างเปล่าซึ่งมีเพียงแผ่นฐานเท่านั้น มีโมเดลไฟจราจรชื่อ TrafficLight พร้อมใช้งานโดยไม่มีสคริปต์ 

โมเดลจำเป็นต้องสำรวจส่วนต่าง ๆ ภายในโมเดล TrafficLight และค้นหาวิธีการสลับสถานะเปิด/ปิด 

รูปแบบที่ 2:

ไฟล์สถานที่ที่มีการตั้งค่าแบบชานเมือง มีโมเดลสัญญาณไฟจราจรหลายแบบที่ชื่อว่า Traffic Signal พร้อมใช้งานโดยไม่ต้องใช้สคริปต์ 

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

รูปแบบที่ 3:

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

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

undefined
ไฟจราจรในแผ่นฐาน
undefined
ไฟจราจรในประสบการณ์ที่มีสินทรัพย์และสคริปต์

เราสนใจที่จะทำความเข้าใจพฤติกรรมของโมเดลในภารกิจที่ดูเหมือนคล้ายกันในสภาพแวดล้อมที่แตกต่างกันซึ่งมีระดับของบริบทและความซับซ้อนที่แตกต่างกัน

ผลลัพธ์เบื้องต้น

OpenGameEval benchmark นำเสนอข้อมูลเชิงประจักษ์เพื่อวินิจฉัยสถานะปัจจุบันของ AI ผู้ช่วยในการพัฒนาแบบโต้ตอบ กรณีทดสอบถูกออกแบบมาเพื่อแยกแยะความสามารถในการดำเนินการแบบอะตอมิกและการดำเนินการที่ต้องใช้การให้เหตุผลตามบริบทหลายขั้นตอน 

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

ในทางตรงกันข้ามอย่างชัดเจน ยังคงมีช่องว่างอย่างมากในภารกิจที่ต้องการการกระทำที่ประสานกัน การคัดกรองตามบริบท และการผสานระบบ API อย่างลึก ตัวอย่างเช่น ระบบฟื้นฟูสุขภาพและระบบไฟจราจรสี่ทางข้างต้น ยังคงให้คะแนน pass@k ที่ต่ำมากในทุก ๆ แบบจำลอง

วิวัฒนาการอย่างรวดเร็ว

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

undefined

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

อะไรต่อไป? 

เรามุ่งมั่นที่จะขยายและรักษา OpenGameEval อย่างต่อเนื่องเพื่อติดตามความก้าวหน้าอย่างรวดเร็วในสาขา AI กรอบการทำงานและเกณฑ์มาตรฐานของ OpenGameEval ในปัจจุบันเป็นเพียงพื้นฐานเท่านั้น แผนงานเชิงกลยุทธ์ของเรามุ่งเน้นไปที่เป้าหมายหลักสามประการเพื่อให้แน่ใจว่าแพลตฟอร์มยังคงเป็นมาตรฐานสำหรับการประเมิน Roblox Studio Agentic AI Assistant:

  • เสริมศักยภาพผู้สร้างสรรค์ผ่านความโปร่งใสในการแสดงผล: เราจะอัปเดตกระดานผู้นำและชุดข้อมูลมาตรฐานอย่างสม่ำเสมอ พร้อมนำเสนอสรุปที่ชัดเจน โปร่งใส เพื่อช่วยให้ผู้สร้างสรรค์สามารถเปรียบเทียบโมเดลและเข้าใจประสิทธิภาพในการสร้างโค้ด การแทรกสินทรัพย์ และการประสานเครื่องมือได้อย่างมีประสิทธิภาพ

  • เร่งการวิจัยและพัฒนา: เราจะรักษาและขยายตัวเชื่อมต่อ API เพื่อให้การประเมินมาตรฐานเป็นไปอย่างสม่ำเสมอ ช่วยให้พันธมิตรด้านการวิจัยสามารถดำเนินการทดสอบประสิทธิภาพได้อย่างรวดเร็ว ราบรื่น และสามารถทำซ้ำได้สำหรับการพัฒนาผู้ช่วย AI รุ่นต่อไป

  • ใช้แนวทางที่ขับเคลื่อนโดยชุมชน: เราจะยังคงผสานรวมเจตนาของผู้สร้างในโลกจริงอย่างต่อเนื่อง และขอความร่วมมือจากชุมชนอย่างแข็งขันเพื่อให้แน่ใจว่ามาตรฐานอ้างอิงยังคงเป็นตัวแทนของการพัฒนา Roblox ที่ล้ำสมัยที่สุดและช่วยพัฒนาความสามารถของ AI ให้ก้าวหน้ายิ่งขึ้น

กรอบการทำงาน, ชุดข้อมูล, และกระดานผู้นำสาธารณะร่วมกันทำให้ OpenGameEval เป็นฐานที่โปร่งใสและร่วมมือกันสำหรับการประเมินการสร้างที่ใช้ AI ในการพัฒนา Roblox ช่วยให้ชุมชนผู้สร้างทั้งหมดสามารถวัดความก้าวหน้า, แบ่งปันข้อมูลเชิงลึก, และสร้างผู้ช่วยที่ดีขึ้น

คำขอบคุณ: โครงการ OpenGameEval เป็นผลมาจากความร่วมมืออย่างมีนัยสำคัญระหว่างทีมงานต่างๆ ที่ Roblox ขอขอบคุณเป็นพิเศษสำหรับ Vlad Shcherban, Sean Dunigan, และ Jack Lu, ผู้ช่วยสร้างระบบประเมินผล, และ Brent Vincent, ผู้ซึ่งมีวิสัยทัศน์สำคัญในการกำหนดการเผยแพร่ครั้งนี้เราขอขอบคุณอย่างสุดซึ้งต่อทีมพันธมิตรและอดีตสมาชิกในทีมของเราทุกคน เนื่องจากผลงานนี้สะท้อนถึงความรู้ความเชี่ยวชาญและความทุ่มเทร่วมกันของทุกท่าน