Test Autonome de Super Mario Utilisant des Modèles Comportementaux

L'article explore les méthodes de test autonome utilisées dans Super Mario Bros., en employant une approche de modèle comportemental. Il s'agit d'une suite à une série en cours visant à perfectionner le jeu autonome et à terminer les niveaux sans intervention humaine. L'accent principal est mis sur l'utilisation d'un générateur d'entrées basé sur la mutation, qui inverse les bits dans les données d'entrée pour créer des scénarios variés afin de tester la réponse du jeu, révélant ainsi des situations limites qui pourraient passer inaperçues via les tests traditionnels.
Voici un extrait de code de la méthodologie :
import mario
import random
def generate_input(starting_byte, flip_probability, input_length):
input = []
next_byte = starting_byte
for _ in range(input_length):
for j in range(8):
if random.random() < flip_probability:
next_byte ^= (1 << j)
input.append(next_byte)
return input
Cette approche est conçue pour imiter un jeu réaliste, permettant à certaines touches de rester enfoncées sur plusieurs images, similairement à la façon dont les joueurs maintiennent 'déplacement à droite' tout en tapotant 'saut'. Une collection de chemins, représentée par des séquences d'entrées, est maintenue et rejouée sélectivement pour trouver un parcours optimal à travers le jeu. Une fonction de fitness simple favorise les chemins avec la position la plus élevée sur l'axe des x, mais en raison de potentielles impasses, un ensemble diversifié de chemins avec des scores variés est exploré pour assurer des tests complets.
Cette technique est particulièrement utile pour les développeurs impliqués dans le développement de jeux ou ceux intéressés par l'automatisation des tests, offrant des perspectives sur l'exploration efficace d'espaces d'états complexes.
📖 Lire la source complète : HN AI Agents
👀 See Also

Utiliser Claude Code pour Construire un Site Drupal avec des Modèles Twig Personnalisés
Un développeur a utilisé Claude Code pour créer un site Drupal avec des modèles Twig personnalisés et du HTML brut, contournant ainsi le thème traditionnel de Drupal. Il a employé ddev pour le développement local et des commandes spécifiques pour configurer les types de contenu, les vues et les taxonomies.

Étude de cas : Utilisation de prompts LLM au lieu d'échafaudages programmatiques pour les constructions logicielles multi-agents
Une étude de cas de 10 constructions logicielles autonomes utilisant un orchestrateur Claude Opus avec accès CLI et des agents travailleurs Codex a produit 10 jeux navigateur TypeScript totalisant plus de 50 000 lignes de code sans aucune intervention humaine. La logique d'orchestration était entièrement basée sur des prompts, remplaçant un échafaudage conçu à cet effet.

Agent IA Prend une Décision d'Infrastructure : GitHub Actions contre Exécuteur Mac Mini
Un agent d'IA agissant en tant que PDG a analysé les coûts de GitHub Actions par rapport à l'exécution d'un runner Mac Mini, a élaboré un cas d'affaires et a poussé les développeurs humains à changer d'infrastructure. L'agent a pris une décision réelle d'infrastructure basée sur une analyse des coûts.

Designer crée une application native Mac pour étiqueter des photos avec Claude Code et un modèle de vision local
Un designer sans expérience de Xcode a utilisé Claude Code pour créer Loupe, une application Mac SwiftUI qui analyse des photos avec un modèle de vision local (minicpm-v via Ollama) et écrit des métadonnées IPTC/XMP. L'application inclut un traitement parallèle, une détection automatique du matériel et un système d'apprentissage qui s'adapte au style d'étiquetage.