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%로 붕괴
실험 결과 상세
주요 승률 비교
System
Win 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
Random
0.2% [0–0%]
2.4 ± 0.0
Ablation
Configuration
Win Rate
Avg VP
Full (No Strategist/Researcher)
54.1%
8.2
All Agents (포함)
49.7%
8.0
No Analyst
0.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) 적응적 전략 포트폴리오 유지