본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 04:58

Show HN: AI 에이전트가 플레이할 수 있는 실시간 전략 게임

요약

LLM Skirmish는 LLM이 직접 코드를 작성하여 1대1 실시간 전략(RTS) 게임을 플레이하는 새로운 벤치마크입니다. 모델은 게임 환경 내에서 실행되는 스크립트를 작성하며, 5라운드 동안 이전 경기 결과를 바탕으로 전략을 수정하는 인컨텍스트 러닝 능력을 테스트합니다.

핵심 포인트

  • LLM이 직접 코드를 작성하여 실시간 게임 환경을 제어하는 방식의 벤치마크
  • Screeps의 API를 활용하여 프로그래밍 기반의 RTS 환경 구축
  • 5라운드 토너먼트 구성을 통해 모델의 인컨텍스트 러닝 및 전략 수정 능력 평가
  • OpenCode라는 오픈 소스 에이전트 코딩 하네스를 사용하여 재현성 확보
  • Claude Opus 4.5가 높은 ELO와 승률을 기록하며 우수한 성능을 보임

요약 (TL;DR)

  • LLM Skirmish는 LLM들이 서로 1대1 RTS (실시간 전략 게임, real-time strategy) 게임을 플레이하는 벤치마크입니다.
  • LLM은 자신의 전투 전략을 코드로 작성하며, 이 코드는 게임 환경 내에서 실행됩니다.
  • 각 토너먼트는 5라운드 동안 지속되며 LLM이 라운드 사이에 전략을 변경할 수 있으므로, LLM Skirmish는 인컨텍스트 러닝 (in-context learning)을 테스트합니다.

지난 1년 동안 LLM을 평가하기 위해 게임을 사용하는 것에 대한 열기를 보는 것은 매우 즐거웠습니다. 하지만 프런티어 LLM (frontier LLMs)들이 전체 코딩 프로젝트를 한 번에 해결하는 것과, 동일한 모델들이 Pokemon Red의 달의 동굴 (Mt. Moon)에서 벗어나지 못해 고군분투하는 것 사이에는 기묘한 괴리가 존재합니다.

우리는 이번 세대 프런티어 LLM들의 초능력인 코딩 (coding) 능력을 온전히 보여줄 수 있는 LLM 게임 벤치마크를 만들고 싶었습니다. 10년 전, 한 팀이 Screeps라는 게임을 출시했습니다. 이는 "프로그래머를 위한 MMO RTS 샌드박스"로 묘사되었습니다. Screeps에서 인간 플레이어들은 게임 환경에서 실행되는 javascript 전략을 작성합니다. 플레이어는 자원을 획득하고, 영토를 잃으며, 유닛이 전멸하기도 합니다. 이는 전통적인 RTS이지만, 전적으로 코드를 통해 제어됩니다.

코드를 작성하고 이를 실시간 게임 환경에서 실행하는 Screeps의 패러다임은 LLM 벤치마크에 매우 적합합니다. Screeps 오픈 소스 API의 버전을 활용하여, LLM Skirmish는 일련의 1대1 실시간 전략 게임에서 LLM들을 정면 승부시킵니다.

#모델승리(W)패배(L)승률(%%)ELO
1Claude Opus 4.5851585%1778
...

1 GPT 5.2는 높은 (high) 추론 레벨로 실행되었습니다. 향후 LLM Skirmish 버전은 매우 높은 (xhigh) 추론 레벨로 실행될 수 있습니다. 매우 높은 (xhigh) 레벨을 사용하는 것은 라운드 진행을 느리게 만들었으며, 초기 테스트 라운드에서는 높은 (high) 레벨에 비해 눈에 띄는 개선을 보여주지 않았습니다.

2 Gemini 3 Pro의 저조한 성능은 4-5라운드에 의해 주도됩니다. 자세한 내용은 여기에서 확인하십시오.

LLM Skirmish에서 각 플레이어는 "스폰 (spawn)"(유닛을 생성할 수 있는 건물), 군사 유닛 1개, 그리고 경제 유닛 3개로 시작합니다. 각 LLM Skirmish 매치의 목표는 상대방의 스폰을 제거하는 것입니다. 만약 플레이어가 2,000 게임 프레임(각 플레이어는 프레임당 최대 1초의 런타임 계산 시간이 허용됨) 이내에 탈락하지 않으면 게임이 종료되며, 점수를 기반으로 승자가 결정됩니다.

모든 LLM Skirmish 토너먼트는 5라운드로 구성됩니다. 각 라운드에서 각 LLM은 자신의 전략을 구현하는 스크립트 (script)를 작성하도록 요청받습니다. 첫 번째 라운드 이후의 모든 라운드에서, 각 LLM은 이전 라운드의 모든 매치 결과를 확인할 수 있으며, 그 정보를 사용하여 다음 라운드에 제출할 스크립트를 수정할 수 있습니다. 매 라운드마다 모든 플레이어는 다른 모든 플레이어와 한 번씩 경기를 치릅니다. 이는 라운드당 10번의 매치, 토너먼트당 총 50번의 매치가 진행됨을 의미합니다.

LLM Skirmish는 오픈 소스 범용 에이전트 코딩 하네스 (agentic coding harness)인 OpenCode를 사용하여 진행되었습니다. OpenCode는 평가 대상이 된 모델 중 어느 하나를 위해 설계되지 않았으며, 재현성 (replicability)을 돕기 위해 완전히 오픈 소스라는 점 때문에 선택되었습니다.

각 LLM 에이전트는 격리된 Docker 컨테이너에서 실행되며, OpenCode가 코딩 환경을 제공합니다. 오케스트레이터 (orchestrator)는 각 에이전트에 프롬프트 (prompt)를 보내 토너먼트를 조정하며, 에이전트는 OpenCode의 도구(파일 편집, 셸 명령 등)를 사용하여 게임 스크립트를 작성하고 제출합니다.

프롬프트 구조 (Prompt Structure)

각 라운드가 시작될 때, 에이전트는 OBJECTIVE.md (게임 규칙, API 문서, 게임 스크립트 작성 지침)와 NEXT_ROUND.md (이전 라운드의 매치 로그를 검토하기 위한 지침, 2~5라운드에만 해당)를 받습니다. 또한 에이전트에게는 참고용으로 두 가지 예시 전략이 제공됩니다.

스크립트 검증 (Script Validation)

각 에이전트가 전략을 생성한 후, 오케스트레이터가 스크립트를 검증합니다. 검증에 실패할 경우, 에이전트는 에러 메시지를 받게 되며, 라운드가 진행되기 전 문제를 수정할 수 있는 기회가 최대 3번 주어집니다.

LLM Skirmish는 각 토너먼트가 5라운드 동안 지속되고 모델이 라운드 사이에 전략을 변경할 수 있기 때문에 인컨텍스트 학습 (In-context learning)을 테스트합니다. 만약 모델이 인컨텍스트에서 성공적으로 학습하고 있다면, 이전 결과들을 확인한 후 작성된 스크립트(라운드 2~5의 경우)가 라운드 1에서 작성된 스크립트보다 품질이 더 높을 것이라고 가설을 세울 수 있습니다.

모든 토너먼트에 걸쳐 각 모델은 25개의 스크립트를 제출하며, 총 250번의 매치가 진행됩니다. 토너먼트에서 우리는 각 모델을 하나의 플레이어로 간주합니다. 만약 각 스크립트를 하나의 플레이어로 취급하여 모든 스크립트가 서로 대결하게 한다면, 7,750번의 매치를 시뮬레이션하여 라운드별 평균 승률(스크립트 품질의 대리 지표)을 견고하게 얻을 수 있습니다.

스크립트 라운드 vs 성능

평가된 5개의 모델 중 4개 모델에서 라운드 1과 라운드 5 사이에 평균 승률이 눈에 띄게 증가한 것을 확인할 수 있습니다 (Claude Opus 4.5 +20%, GLM 4.7 +16%, GPT 5.2 +7%, Grok 4.1 Fast +6%).

Gemini 3 Pro 성능

Gemini 3 Pro의 성능은 이례적인 모습을 보입니다. Gemini 3 Pro의 라운드 1 평균 승률은 70%였으나 (평가된 다른 4개 모델보다 높음), 라운드 25의 평균 승률은 15%였습니다 (평가된 다른 4개 모델보다 낮음). Gemini 3 Pro의 라운드 1 스크립트는 성능이 가장 뛰어난 모델인 Claude 4.5 Opus 및 GPT 5.2의 스크립트보다 약 4배 더 짧습니다. Gemini 3 Pro의 스크립트에 대한 정성적 검토 결과, 라운드 1에서는 단순한 전략을 통해 성공을 거두었음을 시사합니다. 라운드 25에서는 평가된 다른 4개 모델과 비교했을 때, Gemini 3 Pro는 해당 라운드의 스크립트를 제출하기 전 이전 라운드의 결과들로 컨텍스트 (Context)를 가장 공격적으로 채웠으며, 이는 컨텍스트 부패 (Context rot)가 성능 편차의 주목할 만한 원인이었음을 시사합니다. 이러한 컨텍스트 부패가 다른 모델들이 Gemini 3 Pro보다 도구 사용 (Tool use) 계획을 더 잘 세우기 때문인지, 아니면 OpenCode가 Gemini 3 Pro에게 유독 불친절한 하네스 (Harness)인지는 향후 LLM Skirmish의 버전에서 추가로 조사할 가치가 있습니다.

API 비용은 모델마다 크게 다릅니다. 아래 차트는 각 모델의 라운드당 평균 비용과 ELO 레이팅 (ELO rating)을 비교하여 나타냅니다. Claude Opus 4.5는 가장 높은 ELO (1778)를 달성했지만, 비용 또한 가장 높았습니다 ($4.12/round). GPT 5.2는 Claude Opus 4.5보다 달러당 약 1.7배 더 높은 ELO를 제공합니다.

비용 대비 성능 (Cost vs Performance)

Gemini 3 Pro

초반전의 에이스 (Early Game Ace) - 1라운드 승률 71%를 기록하며, Gemini 3 Pro는 단순하고 공격적인 전략으로 초반전에서 모든 모델을 선도합니다.

  • 후반 라운드로 갈수록, Gemini 3 Pro는 이전 라운드로부터 얻은 정보를 관리하는 데 어려움을 겪습니다.

Claude Opus 4.5

후반전의 지배자 (End Game Dominator) - 1라운드 경기에서 Claude Opus 4.5는 막강한 성능을 보여주지만, 경제 (economy)에 과도하게 집중하여 GPT 5.2에게 취약한 모습을 보입니다.

  • 2라운드에 접어들면 Claude Opus 4.5는 이미 지배적인 모델이 되며, 모든 라운드에 걸쳐 스크립트 품질이 지속적으로 향상됩니다.

GPT 5.2

군림하는 도전자 (Reigning Challenger) - 장황한 코딩 스타일을 가진 GPT 5.2의 최상급 스크립트들은 상위 10% (top decile) 안에 들며, 2라운드 스크립트는 전체 필드(field)를 상대로 89%의 가상 승률을 달성했습니다.

  • 하지만 더 많은 코드가 항상 더 나은 것은 아닙니다. 39개의 헬퍼 함수 (helper functions)를 포함한 5라운드 스크립트는 하위 10% (bottom decile)에 머물렀으며, 이는 GPT 5.2가 단순화해야 할 시점에 때때로 과잉 설계 (overengineers)를 한다는 것을 보여줍니다.

GLM 4.7

실용적인 미니멀리스트 (Pragmatic Minimalist) - 1라운드에서 5라운드 사이 승률이 16% 증가한 GLM 4.7은 모든 모델 중 두 번째로 가파른 학습 곡선 (learning curve)을 보여주지만, 개선 양상은 일관되지 않아 스크립트 순위가 상위 25% (top quartile)에서 최하위까지 넓게 분포합니다.

  • 상위권 모델들과 달리, 카이팅 (kiting), 진형 (formations), 또는 커밋 로직 (commit logic)을 전혀 구현하지 않으며, 순수하게 일관된 위협 우선순위 지정 (threat prioritization)과 집중 사격 (focus fire)에 의존하여 자신의 체급 이상의 성과를 냅니다.

Grok 4.1 Fast

군더더기 없는 전술가 (Lean Tactician) - 저렴한 토큰 (tokens) 비용과 간결한 추론 (terse reasoning) 덕분에 Grok 4.1 Fast는 최상위 모델보다 라운드당 37배 적은 비용을 쓰면서도 3위를 차지했습니다.

  • 하지만 짧은 스크립트는 취약합니다. 최악의 스크립트들은 완전히 무너져 내리며, 승률이 75%에서 단 6.5%로 급락했습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0