Immagine AI

GPT-6 Astra di OpenAI è riuscita a completare in circa 40 minuti tutte le missioni dell’area iniziale degli Orchi in World of Warcraft senza visualizzare una sola volta lo schermo di gioco e senza ricevere input diretti da tastiera o mouse. L’esperimento è stato condotto il 2 ottobre dal ricercatore di intelligenza artificiale Edward Edwards attraverso il progetto open source agent-wow e ha richiesto al modello soltanto una breve istruzione iniziale: creare un personaggio Orco e completare tutte le missioni dell’area di partenza. Astra ha iniziato quindi con un personaggio di livello 1 nella Valley of Trials, ha completato le missioni disponibili e ha proseguito fino a Sen’jin Village senza morire durante l’intera esecuzione. Il sistema non disponeva di una guida di gioco preimpostata né di conoscenze operative fornite in anticipo e non ha utilizzato tecniche di computer vision per osservare ciò che avveniva sullo schermo; ha invece ricostruito autonomamente il funzionamento dell’ambiente analizzando i pacchetti di rete scambiati con il server e i dati SQL dell’infrastruttura di gioco. Secondo Edwards, l’esperimento rappresenta il primo caso in cui un agente AI è riuscito a portare a termine un ambiente MMORPG complesso interagendo direttamente con i dati del server e senza basarsi su informazioni visive.

Il progetto agent-wow non funziona come un normale bot videoludico. Non interpreta immagini, non simula pressioni dei tasti e non modifica direttamente il client di World of Warcraft, ma comunica con il gioco attraverso il protocollo di rete utilizzato dal server. Nemmeno funzioni ad alto livello come movimento e combattimento erano state predisposte per il modello: Edwards ha impostato l’esperimento proprio in modo che fosse Astra a costruire gli strumenti necessari per interagire con il mondo virtuale. Durante l’esecuzione il modello ha creato un modulo capace di sottoscrivere 28 tipi differenti di messaggi inviati dal server e conservarli in memoria; un programma Python recuperava poi queste informazioni e le trasformava in dati utilizzabili, come punti vita, creature presenti nelle vicinanze, stato delle missioni e contenuto del bottino. Sulla base di questi dati Astra generava nuovi pacchetti da inviare al server per spostare il personaggio e compiere le diverse azioni richieste. Anche la gestione del combattimento è stata costruita dinamicamente: il modello teneva conto dei tempi di ricarica delle abilità e del consumo delle risorse per decidere quando utilizzare le diverse tecniche, mentre nella gestione dell’inventario ha riconosciuto autonomamente il problema dello spazio limitato e ha iniziato a vendere oppure eliminare gli oggetti di minor valore quando le borse si riempivano.

Per capire quali missioni eseguire e in quale ordine, Astra ha utilizzato i file SQL di AzerothCore, il motore open source per server World of Warcraft che comprende database e regole necessarie alla realizzazione di server privati. Analizzando questi dati, il modello è riuscito a individuare i requisiti delle diverse missioni, gli NPC dai quali accettarle o ai quali consegnarle, le posizioni di generazione dei mostri e le relazioni tra attività successive. Ha quindi costruito autonomamente un piano d’esecuzione, completando prima le missioni necessarie a sbloccarne altre, procurando l’equipaggiamento richiesto, addestrando le abilità del personaggio e raggruppando le missioni compatibili per evitare spostamenti inutili. Edwards ha paragonato questa procedura al comportamento di un giocatore umano che consulta siti e guide dedicate a World of Warcraft per comprendere come svolgere le missioni, con la differenza che l’agente può estrarre direttamente dal database del server le informazioni strutturate invece di dover leggere numerose pagine. Anche la navigazione è stata sviluppata autonomamente: Astra ha caricato la navigation mesh di AzerothCore e ha realizzato un programma in C++ basato sulla libreria Detour per calcolare percorsi validi attraverso l’ambiente, collegandolo poi a uno script Python incaricato di trasformare le coordinate generate in pacchetti di movimento inviati al server. Durante questa fase il modello ha persino sfruttato alcune aree nelle quali le informazioni di collisione della mappa non erano configurate correttamente, riuscendo a passare attraverso determinati ostacoli e pareti; alcuni utenti su Reddit hanno osservato che il comportamento ricorda tecniche di “wall-hop” utilizzate anche dai giocatori umani per sfruttare imperfezioni della geometria e abbreviare determinati percorsi.

L’esperimento viene considerato rilevante soprattutto perché World of Warcraft richiede contemporaneamente pianificazione a medio e lungo termine, decisioni immediate e gestione persistente delle risorse. Anche nell’area iniziale, il modello deve combinare informazioni relative alle missioni, alla posizione dei nemici, allo stato del personaggio, all’equipaggiamento, alle abilità disponibili e all’inventario, modificando continuamente le proprie azioni in funzione degli eventi ricevuti dal server. La complessità aumenta ulteriormente procedendo verso i livelli più elevati, dove diventano necessarie la gestione coordinata di equipaggiamento, professioni, risorse e sequenze di missioni sempre più articolate, fino ad arrivare a dungeon e attività che richiedono collaborazione in tempo reale con altri giocatori. Per questo l’esperimento viene utilizzato anche come verifica della capacità degli agenti AI di mantenere obiettivi persistenti e sviluppare strategie all’interno di ambienti complessi, non limitandosi a reagire a un singolo prompt o a una sequenza breve di operazioni. Edwards intende proseguire il progetto cercando di verificare se un singolo agente possa arrivare autonomamente fino al livello 80 e se più agenti AI possano giocare insieme coordinandosi per completare missioni e dungeon. Parallelamente prevede di sviluppare strumenti specifici per osservare esecuzioni di lunga durata e un ambiente sandbox capace di limitare l’accesso dell’AI al server durante gli esperimenti, così da poter studiare in maniera controllata l’evoluzione del comportamento degli agenti quando vengono lasciati operare autonomamente per periodi sempre più lunghi.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy