Skip to content

Utilizzo di OpenGameEval per il benchmarking di assistenti AI agenziali per Roblox Studio

Il primo framework di valutazione nativo di Roblox Studio e un benchmark per valutare le prestazioni dell'assistente AI

La sfida 

I creatori sfruttano l'Assistente AI di Roblox Studio per accelerare lo sviluppo delle esperienze su Roblox, ma valutare le prestazioni dell'Assistente AI e dei suoi modelli linguistici di grandi dimensioni (LLM) nelle attività di sviluppo interattivo rimane una sfida. Mentre i benchmark tradizionali di codifica e agenti si concentrano su attività isolate e senza stato, i flussi di lavoro di sviluppo di Roblox richiedono metodi di valutazione appositamente progettati che misurino le prestazioni in attività quali il ragionamento attraverso gerarchie 3D, la gestione delle interazioni client-server multiplayer e l'apporto di modifiche a un mondo con stato.

Per affrontare questa sfida, stiamo introducendo OpenGameEval, un framework di valutazione open source e un set di dati di benchmark nativo che valuta le prestazioni dell'Assistente AI basato su LLM in un ambiente Roblox Studio riproducibile. Ci auguriamo che OpenGameEval, insieme alla sua classifica pubblica, offra un banco di prova unico per la più ampia comunità di ricerca sull'IA per valutare le capacità fondamentali dei modelli relative all'uso degli strumenti, al ragionamento agentico e alla risoluzione di compiti a lungo termine.

La classifica di OpenGameEval’fornisce un'istantanea attuale dell'efficacia del modello per lo sviluppo di Roblox. 

La soluzione

Il framework di valutazione OpenGameEval è progettato per replicare l'ambiente di sviluppo di Roblox. Ogni valutazione viene eseguita in un ambiente che simula il comportamento durante la modifica e il gioco in Roblox Studio. Ciò garantisce che il comportamento osservato, come la fisica, il networking e l'interazione multiplayer, sia identico a quello che un creatore o un giocatore sperimenterebbe. 

Il framework incorpora la simulazione degli input, consentendoci di imitare a livello di programmazione le complesse interazioni dei giocatori necessarie per valutare le attività di sviluppo che richiedono azioni da parte dell'utente (ad esempio, clic sui pulsanti, input da tastiera e manipolazione della telecamera).

L'intera architettura di valutazione è incapsulata dietro un'API unificata e semplice da usare. Questa astrazione consente ai partner di ricerca di confrontare diversi sistemi agenti basati su LLM che eseguono identiche attività di benchmark senza modificare l'ambiente sottostante.

undefined

Il dataset di benchmark OpenGameEval

Il dataset di benchmark OpenGameEval è una suite open-source e curata manualmente di 47 casi di test costruita su questo framework attraverso un processo rigoroso, iterativo e completamente verificato da esseri umani. Raccogliamo suggerimenti da esperti del settore, costruiamo ambienti di esperienza Roblox su misura per fornire il contesto necessario ai modelli di IA, creiamo manualmente valutazioni e soluzioni autorevoli e sottoponiamo tutti gli scenari a un'ampia revisione umana per garantire completezza, generalizzabilità e stabilità.  

La versione iniziale contiene scenari derivati da comuni attività di sviluppo Roblox, tra cui meccaniche di gioco, creazione di ambienti, animazione dei personaggi, progettazione dell'interfaccia e progettazione del suono. Il benchmark OpenGameEval utilizza test unitari eseguibili, allineando la sua metodologia di punteggio a metriche standard del settore come pass@k, cons@k e all@k per quantificare le prestazioni di un modello sul dataset. I partner di ricerca possono replicare queste metriche autonomamente dopo aver raccolto i risultati di valutazione dalle esecuzioni di OpenGameEval.

A differenza delle tipiche sfide di codifica a livello di funzione, OpenGameEval consente il test end-to-end dei componenti principali. Un modello di successo deve padroneggiare diverse abilità distinte, come la navigazione nella gerarchia delle istanze, l'analisi dello stato degli oggetti e la derivazione dell'intento dell'utente dal contesto all'interno dell'ambiente.

Attività in più fasi e variazioni contestuali 

I compiti di codifica di Roblox richiedono spesso più passaggi per navigare nel contesto esistente in un'esperienza e indagare su più script e istanze intrecciati per ottenere il risultato desiderato. Nell'esempio seguente, OpenGameEval verifica più fattori all'interno di una sandbox che rappresenta un ambiente di istanza di gioco reale per garantire che un modello possa tenere adeguatamente conto di più script correlati, dell'interazione client/server e dell'intento originale del prompt.  

Prompt dell'utente: 

Implementa un sistema di rigenerazione della salute che inizi due secondi dopo aver subito un danno e rigeneri 10 punti salute al secondo.

Contesto del file di posizione:

Un'esperienza di laser tag con armi, squadre e meccanismi di gioco fondamentali già configurati.

Passaggi di ragionamento previsti: 

  1. Contestualizza: esplora l'esperienza con diversi strumenti di ricerca, il che spesso richiede più passaggi di ricerca regolando gli ambiti: 

    1. Identificare gli script esistenti relativi ai danni e alla salute dei giocatori e comprenderne la logica.

    2. Determinare la posizione migliore in cui aggiungere lo script di rigenerazione della salute (ad esempio, sul server o sul client? Come sezione dello script di gioco principale o come script separato per il giocatore?). 

  2. Implementazione: scrivere codice Luau utilizzando le API appropriate per manipolare la salute del giocatore. Lo script deve: 

    1. Cogliere il momento giusto in cui è necessaria la rigenerazione e come questa debba avvenire. 

    2. Essere generalizzabile a tutti i danni, senza limitarsi a un determinato script di danno.

Valutazione verificabile: 

Il test eseguibile (eseguito nell'istanza di gioco in sandbox) attiva un evento di danno al giocatore di prova e verifica:

  1. La rigenerazione della salute sia gestita correttamente sul server e resa visibile sul client.

  2. La rigenerazione non inizia prima del ritardo di due secondi. 

  3. La salute si rigenera al ritmo di 10 punti salute al secondo.

undefined

Per testare efficacemente la robustezza e la comprensione contestuale di un modello di IA, i compiti vengono presentati in diverse condizioni ambientali. Ad esempio, il compito "scripting di un semaforo a quattro vie" include tre variazioni contestuali basate sullo stato iniziale dell'ambiente di sviluppo. 

Richiesta dell'utente: 

Scrivimi uno script per un semplice semaforo a quattro vie.

Variazione 1:

Un file di posizione vuoto contenente solo una base. È disponibile un modello di semaforo denominato TrafficLight senza script. 

Il modello deve esplorare diverse parti all'interno del modello TrafficLight e trovare un modo per attivare o disattivare lo stato. 

Variante 2:

Un file di posizione con un'ambientazione suburbana. Sono disponibili più modelli di semaforo denominati Traffic Signal senza script. 

Il modello deve prima cercare nell'esperienza per identificare correttamente i semafori tra le altre istanze. I modelli di semaforo sono strutturati con una logica diversa rispetto alla variante 1 e il modello deve implementare una soluzione specifica per questa esperienza. 

Variante 3:

Un file di posizione con un'ambientazione suburbana. Sono disponibili diversi modelli di semafori e segnali pedonali. Mentre gli script per i semafori sono stati rimossi, quelli per i segnali pedonali rimangono. 

Il modello deve identificare la differenza tra semafori e segnali pedonali e apportare modifiche agli oggetti corretti. L'esistenza dei segnali pedonali confonde il modello o lo aiuta?

undefined
Semaforo in una base.
undefined
Semaforo in un'esperienza con risorse e script.

Ci interessa comprendere il comportamento dei modelli su compiti apparentemente simili in ambienti diversi con livelli variabili di contesto e complessità.

Primi risultati

Il benchmark OpenGameEval offre dati empirici per diagnosticare lo stato attuale degli assistenti AI nello sviluppo interattivo. I casi di test sono progettati per distinguere tra le capacità nelle operazioni atomiche e in quelle che richiedono un ragionamento contestuale in più fasi. 

I nostri test iniziali hanno rivelato che i modelli eccellono generalmente nelle operazioni atomiche, ma faticano con il ragionamento contestuale. Raggiungono i tassi di successo più elevati in compiti che richiedono una manipolazione singola e diretta delle istanze, come l'impostazione di un emettitore di particelle o la modifica della potenza di salto di un giocatore. I modelli leader dimostrano un successo quasi perfetto, provando la loro competenza nella generazione sintattica di codice e nella conoscenza di base delle API.

In netto contrasto, persiste un divario sostanziale nelle attività che richiedono un'azione coordinata, un filtraggio contestuale e una profonda integrazione delle API. Esempi come il sistema di rigenerazione della salute e il semaforo a quattro vie, sopra citati, continuano a produrre punteggi pass@k molto bassi in tutti i modelli.

Rapida evoluzione

Man mano che i modelli continuano ad evolversi, ci aspettiamo di vedere colmarsi questi divari, ma abbiamo già assistito a sviluppi interessanti. In un compito di valutazione che richiede a un modello di "cambiare il logo di Roblox, che assomiglia a un cubo, in verde", inizialmente abbiamo visto i modelli fallire all'unanimità perché il nome dell'oggetto di destinazione non conteneva esplicitamente la parola logo o Roblox

undefined

Valutazioni più recenti mostrano che alcuni modelli stanno ora risolvendo con successo questo caso andando oltre la semplice corrispondenza di parole chiave per arrivare al ragionamento strutturale, utilizzando un'attenta ispezione dell'istanza (comprese le proprietà, non solo il nome) e un'inferenza coordinata per identificare l'oggetto che più probabilmente rappresenta il "logo Roblox". 

Qual è il prossimo passo? 

Ci impegniamo a espandere e mantenere continuamente OpenGameEval per stare al passo con i rapidi progressi nel campo dell'IA. L'attuale framework e benchmark di OpenGameEval sono solo le fondamenta. La nostra roadmap strategica si concentra su tre obiettivi principali per garantire che la piattaforma rimanga lo standard per la valutazione dell'Agentic AI Assistant di Roblox Studio:

  • Dare più potere ai creatori attraverso la trasparenza delle prestazioni: aggiorneremo regolarmente la classifica e il set di dati di benchmark, offrendo al contempo riepiloghi chiari e trasparenti che aiutino i creatori a confrontare i modelli e a comprendere le prestazioni in termini di generazione di codice, inserimento di risorse e orchestrazione degli strumenti.

  • Accelerare la ricerca e lo sviluppo: manterremo e amplieremo l'adattatore API per standardizzare la valutazione, consentendo ai partner di ricerca di eseguire benchmark veloci, fluidi e riproducibili per lo sviluppo di assistenti IA di nuova generazione.

  • Adottare un approccio guidato dalla comunità: continueremo a integrare le intenzioni dei creatori nel mondo reale e a sollecitare attivamente i contributi della comunità per garantire che il benchmark rimanga rappresentativo dello sviluppo all'avanguardia di Roblox e delle capacità avanzate dell'IA.

Insieme, il framework, il set di dati e la classifica pubblica rendono OpenGameEval una base trasparente e collaborativa per la valutazione della creazione basata sull'IA nello sviluppo di Roblox, aiutando l'intera comunità di creatori a misurare i progressi, condividere approfondimenti e costruire assistenti migliori.

Riconoscimenti: Il progetto OpenGameEval è il risultato di un significativo sforzo di collaborazione tra i team di Roblox. Un ringraziamento speciale a Vlad Shcherban, Sean Dunigan, e Jack Lu, che ha contribuito a costruire l'imbracatura di valutazione, e Isabella Ting e Brent Vincent, le cui intuizioni sono state determinanti per la realizzazione di questa pubblicazione. Siamo profondamente grati ai nostri team partner e agli ex membri del team, poiché questo lavoro riflette la loro competenza collettiva e il loro impegno.