행동 모델을 활용한 슈퍼 마리오 자율 테스트

이 글은 슈퍼 마리오 브라더스에서 활용되는 자율 테스팅 방법을 탐구하며, 행동 모델 접근법을 사용합니다. 이는 인간의 개입 없이 자율 플레이와 레벨 클리어를 완성하기 위한 진행 중인 시리즈의 후속편입니다. 핵심 초점은 입력 데이터의 비트를 뒤집어 게임의 반응을 테스트하기 위한 다양한 시나리오를 생성하는 돌연변이 기반 입력 생성기를 사용하는 것으로, 전통적인 테스팅을 통해 놓칠 수 있는 엣지 상황을 드러냅니다.
방법론의 코드 스니펫입니다:
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
이 접근법은 현실적인 게임 플레이를 모방하도록 설계되어, 플레이어가 '점프'를 누르는 동안 '오른쪽 이동'을 누르고 있는 것처럼 특정 키를 여러 프레임 동안 계속 누르도록 합니다. 입력 시퀀스로 표현되는 경로 모음을 유지하고 선택적으로 재생하여 게임을 통과하는 최적의 경로를 찾습니다. 간단한 적합도 함수는 가장 높은 x축 위치를 가진 경로를 선호하지만, 잠재적인 막다른 길로 인해 다양한 점수를 가진 경로 세트를 탐색하여 포괄적인 테스팅을 보장합니다.
이 기술은 게임 개발에 참여하는 개발자나 테스팅 자동화에 관심 있는 사람들에게 특히 유용하며, 복잡한 상태 공간의 효율적인 탐색에 대한 통찰력을 제공합니다.
📖 전체 출처 읽기: HN AI Agents
👀 See Also

의사소통의 혁신: AI 기반 전화 통화
AI가 전화 통신에 미치는 변혁적인 영향에 관한 r/openclaw의 최신 논의를 살펴보세요. 음성 기술과의 상호작용 방식을 재구성하는 AI 기반 에이전트의 잠재력을 발견하십시오.

AI 기반 이커머스 스토어, 새벽 3시 장애 발생에도 인간 개입 없이 자동 복구
AI가 운영하는 전자상거래 매장에서 오전 3시에 처리되지 않은 예외가 발생하여 주문 파이프라인이 중단되었습니다. 시스템은 자율적으로 오류를 감지하고 근본 원인을 파악한 후 수정을 시도하고 복구를 확인한 뒤 아침 전에 운영을 재개했습니다.

DevOps 엔지니어가 Claude Code를 사용하여 맞춤형 터미널 앱을 구축합니다.
수년간의 경력을 가진 데브옵스/SRE 엔지니어가 Claude Code를 사용하여 오랫동안 구상했지만 혼자서 완성하지 못했던 터미널 애플리케이션을 구축했습니다. AI는 기본 구조와 통합 작업을 처리했고, 엔지니어는 제품 결정에 집중할 수 있었습니다.

일상 경험에서 얻은 실용적인 OpenClaw 사용 사례
한 개발자가 복잡한 설정 계획에서 마찰 없는 보조 도구로 전환한 후 OpenClaw를 실제로 매일 사용하는 여섯 가지 구체적인 방법을 공유했습니다. 여기에는 항공권 가격 확인, 건강 코칭, 이메일 다듬기가 포함되며, 자동화된 소셜 미디어 게시와 같은 효과가 없는 부분도 언급했습니다.