Introduction


  • HexMachina는 LLM을 매-턴 의사결정자가 아닌 **전략 설계자(strategy architect)**로 전환하는 아티팩트 중심(artifact-centric) 자기진화 시스템
  • 기존 프롬프트 중심 에이전트(ReAct, Reflexion)는 장기-수평 전략 게임에서 컨텍스트 윈도우 포화와 전략 일관성 붕괴 문제 발생
  • 2단계 분리: Phase 1(환경 탐색) → Phase 2(전략 개선 루프)로 공식 문서 없는 미지 환경에서도 자율 적응
  • 핵심 결과: GPT 기반 HexMachina가 인간 설계 AlphaBeta(minimax depth-2) 대비 54.1% 승률 달성; 기존 LLM Player(16.4%) 대폭 상회

Related Papers


  • Voyager (Wang et al., 2023): 코드 기반 스킬 라이브러리 — HexMachina는 적대적 전략 게임으로 확장
  • Reflexion (Shinn et al., 2023): 에피소딕 자기 반성 — 장기-수평 전략 일관성에서 한계
  • ADAS: 자동 에이전트 설계 — HexMachina는 환경 API 자체도 자율 탐색
  • 차별점: (1) 코드가 전략 기억 역할, (2) 미문서화 환경에서 자율 어댑터 유도, (3) 린(lean) 멀티-에이전트 설계

Methods


Phase 1: 환경 탐색 (Environment Discovery)

  • Orchestrator가 Researcher, Coder 등 전문화된 에이전트 조율
  • 공식 문서 없는 Catanatron API를 역공학적으로 탐색 → 실행 가능한 adapters.py 자동 유도
  • 어댑터는 이후 모든 전략 코드의 안정적 API 인터페이스 역할

Phase 2: 전략 개선 루프

  • Orchestrator-Analyst-Coder 3-에이전트 루프가 반복적으로 플레이어 코드 수정·평가
  • Experimentation Engine: 고정 시드로 AlphaBeta와 결정론적 대결 → 노이즈 없는 전략 귀인(attribution)
  • 메모리 시스템: Game Memory(플레이어 아카이브) + Semantic Memory(역할별 도메인 전문성)
  • 최적 구성: Strategist/Researcher 제거한 린 설계 — 역할 핸드오프 감소가 전략 일관성 강화

방법론 다이어그램

graph TD
    A[Catanatron 환경<br/>공식 문서 없음] --> B

    subgraph Phase1["Phase 1: 환경 탐색"]
        B[Orchestrator] --> C[Researcher<br/>API 사실 수집]
        C --> D[Coder<br/>adapters.py 생성]
        D --> E{어댑터 실행 검증}
        E -->|실패| C
        E -->|성공| F["adapters.py<br/>안정적 API 인터페이스"]
    end

    F --> G

    subgraph Phase2["Phase 2: 전략 개선 루프"]
        G[Orchestrator<br/>루프 진행] --> H[Analyst<br/>성능 진단·실패 귀인]
        H --> I[Coder<br/>플레이어 코드 수정]
        I --> J[Experimentation Engine<br/>고정 시드 결정론적 대결]
        J --> K{성능 평가}
        K -->|개선| H
        K -->|충분| L[최종 플레이어 코드]
    end

    style F fill:#d1fae5
    style L fill:#27AE60,color:#fff

Results


  • 평가 환경: Catanatron 시뮬레이터, 3-4인 게임
  • 핵심 발견: 아티팩트 중심 설계가 프롬프트 중심 대비 3배 이상 승률 달성; Analyst 제거 시 0%로 붕괴

실험 결과 상세

주요 승률 비교

SystemWin Rate (95% CI)Avg VP
HexMachina (GPT)54.1% [51–57%]8.2 ± 0.1
AlphaBeta (depth-2)51.0% [48–54%]7.8 ± 0.2
HexMachina (Mistral)49.2% [46–52%]7.8 ± 0.2
HexMachina (Claude)38.4% [35–41%]7.2 ± 0.2
LLM Player (Reflexion)16.4% [3–30%]5.2 ± 1.2
Random0.2% [0–0%]2.4 ± 0.0

Ablation

ConfigurationWin RateAvg VP
Full (No Strategist/Researcher)54.1%8.2
All Agents (포함)49.7%8.0
No Analyst0.0%2.1

Discussion


  • “코드가 전략 기억이다”: 실행 가능한 Python 코드를 전략의 물질적 기반으로 삼아 컨텍스트 윈도우 포화 없이 일관된 정책 실행
  • 린 멀티-에이전트의 역설: Strategist/Researcher 추가가 성능 저하 — 과도한 역할 세분화가 전략 일관성을 희석
  • 최우수 전략: 위상-인식(phase-aware) — 초반 확장, 중반 균형, 후반 도시 업그레이드
  • 한계 1: 승률 54.1%의 신뢰 구간이 AlphaBeta와 상당 부분 겹침
  • 한계 2: Claude 기반 38.4% — 시스템 신뢰성이 기반 모델에 과도하게 의존

Insights


  • 주목할 점: “메모리 = 코드”라는 관점 — 코드는 컨텍스트 윈도우 제약 없이 게임 전체에서 전략적 지식을 누적하는 영속적 매체
  • 연결 고리: Voyager의 코드 기반 스킬 라이브러리와 구조적 유사성. 그러나 적대적·확률적 환경이라는 추가 도전 과제 해결
  • 시사점: 멀티-에이전트 설계에서 역할 세분화가 항상 유리하지 않음 — 핸드오프 비용 vs 전략 일관성 트레이드오프
  • 비판적 코멘트: LLM Player 비교에 20게임만 사용(CI [3–30%]) — 통계적 신뢰성 부족. Catanatron이 실제 인간 교섭·심리전을 제외

Discussion Points


  • 논쟁점: 2단계 분리가 필수적인가? No Discovery Baseline 실패가 환경 탐색 부재인지 초기 코드 품질 문제인지 구분 어려움
  • 검증 필요 가정: Catanatron 시뮬레이터가 실제 인간-인-루프 게임 환경을 대표하는지 미검증
  • 후속 연구: (1) StarCraft II, Diplomacy 등 다른 전략 게임으로 일반화, (2) 실시간 온라인 진화(게임 중 전략 수정), (3) 적응적 전략 포트폴리오 유지