Résumé :
GPT-6 Astra a terminé le village des novices orcs "World of Warcraft" en 40 minutes sans aucun décès. La clé est
qu'il n'a jamais vu l'écran de jeu, pas même une seule image
. Un projet open source appelé agent-wow l'a connecté à un serveur privé de World of Warcraft.

Astra
Ne regardez pas l'écran, lisez directement les paquets de données réseau en bas du jeu
, décrivant le monde entier de l'intérieur.Ensuite, il
crée ses propres outils, vérifie ses propres stratégies et planifie ses propres itinéraires
, accomplissant des tâches, vendant des ordures, changeant d'armes, apprenant des compétences, complétant toute la « Trial Valley » et atteignant le village de Sen'jin.Certaines personnes ont déjà essayé d'utiliser l'IA pour jouer à World of Warcraft.
Plusieurs projets peuvent être trouvés sur GitHub, y compris ceux utilisant OpenCV et PyTorch pour la reconnaissance visuelle, et ceux utilisant LLM et des captures d'écran pour contrôler les personnages, mais fondamentalement, ils ne se sont pas éloignés de la voie visuelle.
De plus, la plupart de ces projets en sont encore au stade de « être capable de courir et de combattre des monstres », et il n'y a aucune trace de l'achèvement de la chaîne de tâches complète.
Mais l'agent-wow actuel n'a pas vu l'écran et personne ne lui a appris à jouer. Il a découvert le jeu tout seul à partir des données.

Que s'est-il passé en 40 minutes
La Vallée des Épreuves est la zone des novices pour la race orc dans World of Warcraft, et c'est aussi l'ouverture la plus classique de tout le jeu.
Depuis son lancement en 2004, des millions de joueurs ont abattu leur premier sanglier, entrepris leur première mission et appris la règle de survie : « vendre d'abord les ordures, puis faire des missions ».
Il a fallu 40 minutes à Astra pour terminer toutes les tâches ici.

Il avance séquentiellement le long de la chaîne de tâches précédente sans sauter une étape. Une fois chaque tâche terminée, il revient au PNJ pour passer et diriger la suivante.
En chemin, il a également jugé lesquels avaient été jetés comme ordures, les a vendus pour de l'argent et les a remplacés par des armes meilleures que celles dont il disposait.
Avant d'entrer dans la dernière grotte, il a fait quelque chose que seuls les joueurs expérimentés feraient et a couru vers l'entraîneur pour acquérir de nouvelles compétences.

En même temps, il accepte également deux tâches ensemble dans la grotte. Vous pouvez faire les deux en un seul voyage, ce qui vous épargne un voyage.
Ce type d'opération consistant à « se préparer d'abord, puis entrer dans le trou, effectuer plusieurs tâches en parallèle » ne se reflète pas dans les mots d'invite. Il s’agit de la stratégie optimale qu’Astra a déduite des données de tâche et des positions des PNJ.
Il y avait une autre surprise au milieu.
Astra a constaté qu'il y avait plusieurs zones sur la carte avec une détection de collision manquante. La grille de navigation du jeu indique que vous pouvez y marcher, mais le terrain réel doit avoir des murs. Il a traversé le mur.

Le développeur a mentionné qu'il s'agissait d'un exploit de bug.
Le maillage de navigation n'est pas exactement le même que le corps de collision réel. Astra ne sait pas qu'il s'agit d'un bug et s'en fiche. Cela ne se produit que si l'itinéraire est réalisable.
Astra n'a enregistré aucun décès pendant tout le processus. Après tout, c'est une zone pour novices, et les monstres ne sont vraiment pas difficiles.
Mais pour un agent qui n'a jamais vu d'écran de jeu et à qui on n'a jamais dit « d'acquérir des compétences avant de combattre des monstres » ou de « vendre du matériel poubelle », il peut accomplir toutes les tâches proprement sans se retrouver coincé, se perdre ou s'enfuir pour combattre des monstres qu'il ne devrait pas combattre. Ce résultat a dépassé celui de nombreux vrais novices.
Les joueurs qui ne regardent pas l'écran
Ce qui suit est une introduction au fonctionnement d'agent-wow.
agent-wow est un framework open source, la couche inférieure exécute le serveur privé AzerothCore et la version client est 3.3.5a.
Ceux qui connaissent Warcraft savent qu'il s'agit de la version finale de Wrath of the Lich King, le client de 2010.
Ce qui est intéressant avec agent-wow, c'est qu'il ne fait rien pour l'IA.
Le framework ne définit aucune logique de jeu, ne vous aide pas à vaincre les monstres, ne vous aide pas à trouver des chemins et ne vous aide pas à accepter des tâches.
Il expose uniquement un système de modules, permettant à l'IA de décider des capacités dont elle a besoin et de les créer elle-même.

Les développeurs affirment que ce système de modules a réduit la complexité d'agent-wow d'au moins un ordre de grandeur.
Le cadre est simple, mais le modèle n'est pas simple. Astra n'a pas du tout de contrôleur de jeu complet, seulement un tas de pièces.
La première chose qu'elle a faite a été de se construire un système de perception.
Il s'abonne à 28 types de messages de serveur, qui sont tous des paquets de données de niveau inférieur commençant par SMSG_*, couvrant les mises à jour du statut du monde, les mouvements des créatures, le déclenchement de tâches, les valeurs de combat et les effets de halo.
Pendant le jeu, il utilise un script Python pour interroger en permanence ces messages et analyser les paquets de données d'origine dans un modèle mondial constamment actualisé en mémoire.

Vous voyez un sanglier courir sur l'écran. Ce qu'Astra voit dans le paquet de données est un message de mouvement de la créature, avec ses coordonnées, sa direction, sa vitesse et sa santé.
Il regarde le même monde que vous, mais sous un angle complètement différent.
Les informations de mission sont extraites directement du fichier de base de données SQL d'AzerothCore.
Les exigences, les pré-chaînes et les coordonnées du point d'apparition des PNJ pour chaque tâche sont toutes disponibles dans la base de données.
Le développeur compare cela à un joueur humain qui passe des heures sur Wowhead à chercher des stratégies. La différence est qu'Astra ignore la page Web et lit directement le fichier de base de données d'origine.
La recherche de chemin est probablement la meilleure partie de tout cela.
Astra a généré lui-même un programme C++, en utilisant la bibliothèque de navigation Detour pour charger le fichier mmaps d'AzerothCore.
MMaps est la grille de navigation de World of Warcraft, qui enregistre quels endroits de la carte peuvent être parcourus, lesquels sont des murs et lesquels sont de l'eau.
Le programme accepte les coordonnées des points de départ et d'arrivée, calcule l'itinéraire accessible et génère une chaîne de points de chemin au format JSON.

Astra enveloppe une autre couche de Python en dehors de ce programme pour appeler ce fichier exécutable, obtenir le chemin et envoyer des paquets de données mobiles.
Le développeur n'a utilisé qu'un seul mot d'invite du Codex pour démarrer l'ensemble du processus
, l'intensité du raisonnement est réglée au deuxième niveau élevé et Astra fait tout par elle-même, de la perception à l'action en passant par l'orientation.Le prochain plan du développeur est de tester deux choses. L'une consiste à voir si un agent peut s'entraîner indépendamment du niveau 1 au niveau 80, et l'autre consiste à évaluer si plusieurs agents peuvent travailler ensemble en équipe pour terminer la difficulté héroïque de la Citadelle de la Couronne de Glace.
La Citadelle de la Couronne de Glace est le donjon ultime de Wrath of the Lich King. Il faut une équipe de 25 personnes pour relever le défi. La complexité de son mécanisme de boss était considérée à l’époque comme le summum de World of Warcraft.
Ce donjon nécessite que les joueurs humains passent plusieurs mois à pratiquer leur équipement, à mémoriser des stratégies et à travailler ensemble pour le réussir.
Maintenant, les développeurs veulent que 25 IA qui n'ont jamais vu un écran de jeu l'essaient.
Commentaires