Show HN: Gemini 4 Argon이 StarCraft를 플레이하다
요약
Gemini 4 Argon과 같은 LLM 기반 에이전트가 StarCraft: BW와 같은 복잡한 게임에서 높은 성능을 보이며, 다양한 벤치마크(GoBench, Vals IOI 등)에서 일관된 순위를 기록했습니다. 이는 LLM이 단순 승패를 넘어 기본적인 운영 원칙(생산, 배치, 병력 집결)에 대한 이해도를 갖추고 있음을 시사합니다.
핵심 포인트
- LLM 에이전트는 StarCraft와 같은 게임에서 높은 성능을 보임.
- 성능은 단순히 기술적 화려함보다 기본 운영 능력에 달려 있음.
- 최신 LLM 봇 코드는 작고 모듈화된 독립 프로그램 형태로 진화하고 있음.
친구가 9×9 바둑으로 LLM을 평가하는 GoBench를 만들었는데, KataGo 상대들을 Elo 기준점으로 사용함. 겉보기에는 전혀 다른 과제인데도 StarSkirmish Bench v0.2와 모델 순위가 정확히 일치해서 흥미로움.
두 벤치마크 모두 GPT-6 Astra > GPT-6.1 Sol > Gemini 4 Argon > Claude Opus 5.5 > Claude Fable 5.1 > Claude Sonnet 5.5 순서임. https://rolandgao.com/blog/gobench/
벤치마크 간 상관관계에 관심이 많음. C++로 올림피아드 프로그래밍 문제를 푸는 Vals IOI와 특이한 머신러닝 코딩 과제를 다루는 WeirdML v3도 StarSkirmish Bench와 비슷한 순위를 보임.
GPT-6 Astra와 Claude 5.5 Opus로 StarCraft: BW 봇을 반복 개선하는 실험을 했는데, Peter Gostev의 체스 반복 개선 실험에서도 내가 GPT-6 Astra에서 본 것과 비슷한 행동이 나타남.
에이전트가 만든 봇에서 배울 만한 것이 있을까? 아니면 시간이 너무 짧아서 기존 최상위 봇의 열화판만 만드는 걸까? 사람이 작성한 봇 코드를 학습했다는 징후가 있는지도 궁금함. 실험 피드백이나 해당 분야 경험이 있어야 만들 법한 기능을 신기하게도 바로 구현하는지 같은 부분임.
매번 정해진 기법만 적용하는지도 알고 싶음. 단순 승패 비율보다 이런 질문이 더 흥미로울 것 같음.
Purple Wave 개발자 Dan Gant가 이 부분을 일부 다뤘음. GPT-6 Astra와 Claude Opus 5.5로 48시간 실험을 했는데, 사이오닉 스톰을 흥미롭게 활용하는 모습을 볼 수 있었음.
GPT-Astra의 작업 일부를 공개했으며, 상대가 강해질수록 전략도 꽤 많이 바뀌었음. https://github.com/llmskirmish/starskirmish-hillclimb
이런 게임들은 목표가 명확하고 잘 알려져 있어 실험 피드백이 아주 많이 필요하지는 않음. 다만 최적화에는 실험이 도움이 될 수 있음.
LLM 출력의 출처를 확실히 알아낼 방법은 없지만, LLM이 만든 봇은 대체로 사람이 만든 봇을 작고 모듈화된 프로그램으로 나눈 모습에 가까움. main()의 조건부 반복문 대신 LLM이 직접 함수를 자주 호출한다는 차이가 있음.
Astra가 처음 공개되기 시작할 때 만들었던 Factorio 봇도 인자를 받는 아주 작은 독립 프로그램들의 디렉터리와 agents.md로 구성했음. agents.md는 문맥 압축이나 교체 때마다 디렉터리를 다시 검색하지 않도록 기능 위치를 안내했음. 북쪽으로 40만큼 이동하는 python walk.py N 40이나 체력 감소·이동 방해를 감시하는 프로그램 등이 있었음.
GPT3 시절 처음 봇을 개발했을 때는 TDD 덕분에 어느 정도 작동할 뿐 유지보수가 불가능한 거대한 스파게티 코드가 나왔음. 최근에는 작고 자체 완결적인 프로그램 쪽으로 바뀌고 있는데, 문맥 사용량과 압축에 따른 정보 손실을 줄여 결과가 좋아지기 때문인 듯함.
이전에 작성한 내용을 바탕으로 정리했습니다. https://x.com/dgant/status/2106880240907620731.
StarCraft의 본질은 화려한 기술보다는 생산, 배치, 병력 집결 같은 기본적인 운영에 있습니다. 생산을 멈추지 않고, 보급 한도에 막히지 않으며, 건물과 유닛이 서로 길을 막지 않도록 배치하고, 적절한 순간에 병력을 한꺼번에 투입해야 합니다.
Astra와 Opus는 이 기준을 빠르게 충족했고, 둘 다 3게이트에서 드라군과 옵저버를 생산하며 확장을 늦게 가져가는 본진 중심 전략에 정착했습니다. 특별히 유리한 상대는 없지만 실행력이 앞서면 누구에게나 이길 수 있는 전략입니다. 제공된 FastApproximation 전투 시뮬레이션 라이브러리가 B등급 봇보다 전투 결과를 잘 예측하여, 병력 교환에서 이득을 보며 승리할 수 있었습니다.
실행력이 좋은 A등급 Locutus와 BananaBrain를 상대로 진전이 없자 Astra는 전진 2게이트 질럿 러시로 바꿨습니다. 이는 2인용 맵이 많은 환경에 잘 맞았고, 첫 4분 이후의 운영을 잘할 필요가 없다는 점에서도 새 봇에 적합했습니다. 강한 상대에게는 승부를 결정짓는 사건과 상호작용 수를 줄여 변동성을 높이는 편이 유리합니다.
등급별 상대에게 시리즈 승리를 거둘 때까지 무제한 재도전할 수 있는 평가 형식도 이 전략에 유리했습니다. 승부를 동전 던지기에 가깝게 만들면 전체 승률이 낮아도 반복 도전으로 통과할 수 있으므로, 이 부분은 개선할 필요가 있습니다. Astra는 이 전략으로 A등급을 넘어 Stardust와 PurpleWave가 있는 S등급에 진입했습니다. 개인적으로는 BananaBrain도 우리와 동급이라고 봅니다.
AIIDE와 과거 COG 대회는 봇끼리 수백 경기를 치른 전체 승률로 순위를 정했는데, 저는 이 방식이 좋지 않습니다. 인간의 다전제 경기와 다르며, 변동성이 큰 저그 대 저그전 등으로 종족 간 균형에도 영향을 주고, 약한 상대에게 95%가 아니라 100% 이기도록 유도합니다. 그 결과 약한 상대에게는 안정적이지만 잠재력이 낮은 전략을 쓰고, 까다로운 상대의 약점을 찌를 전략을 잔뜩 준비하게 됩니다.
이번 StarSkirmish에서는 기준 봇들이 대부분 경기 사이에 데이터를 저장할 수 없어 Stardust가 거의 매번 보수적인 기본 전략을 사용했습니다. 전체적으로는 약해졌지만 전진 게이트에는 강했기에, Astra는 기존 접근을 버리고 완전히 새로 시작해야 했습니다.
결국 PurpleWave도 Stardust를 상대로 즐겨 쓰는 다크 템플러로 확장을 확보하는 전략에 도달했습니다. 셔틀·리버를 쓰지 않는 Stardust는 옵저버를 위해 지은 로보틱스 시설을 다른 용도로 활용하지 못하므로 특히 효과적입니다.
이후 Astra는 PurpleWave와 Stardust의 공통 약점을 찾아냈습니다. 두 봇 모두 사이오닉 스톰(psychic storm)을 피하도록 설계되었지만, 서로 다른 이유로 회피 기능이 동시에 고장 난 상태였습니다. Astra는 다크 템플러 이후 드라군·하이 템플러를 모으고 스톰 세 번을 쓸 수 있는 시점에 2기지 타이밍 공격을 감행했습니다.
그때 상대는 대개 Astra를 봉쇄하고 세 번째 기지를 확보했지만, 경제적 우위가 아직 병력 우위로 이어지기 전이었습니다. 교전이 적어 양쪽 병력이 크게 뭉쳐 있었고, 고장 난 회피 기능 탓에 스톰이 치명적으로 작용했습니다. 이 전략 역시 교전과 의사결정을 줄여 좁은 범위의 상황만 최적화하면 되도록 게임을 단순화했습니다.
그래도 실제 평가 통과까지는 50시간 실험의 대부분이 필요했습니다. 그동안 셔틀로 리버를 수송하는 법도 익혔지만, 이득을 볼 만큼 잘했는지는 의문입니다. 승률은 서서히 높아졌으나 방송만으로 어떤 수정이 효과를 냈는지는 알 수 없었습니다.
S등급을 통과한 뒤 남은 몇 시간 동안 Pluto에 도전했는데, 승리가 불가능해 보이는 와중에도 접근을 거의 바꾸지 않고 정체된 점은 의외였습니다. Astra의 빌드에는 아무 이득 없이 일꾼 생산을 줄이는 결함이 있었습니다.
방어적인 전략에 묶인 Stardust나 학습 데이터 없이 어설픈 캐논 러시 같은 도박수를 쓰던 PurpleWave를 상대로는 버틸 수 있었지만, Pluto에게는 매번 5분 시점에 일꾼과 병력이 모두 적고 확장도 없었으며 본진에 갇히기 일쑤였음. 첫 경기부터 1,000번째 경기까지 달라지지 않았음.
Astra는 주로 게임 상태를 단순하게 유지할 수 있을 때 이겼고, 최상위 상대에게는 짧은 시간 안에 압도하거나 무너졌음. 그래도 StarCraft의 승리는 원래 화려한 묘수보다 기본기에 달려 있으며, 게임의 실제 모습을 다시 확인하는 과정이 늘 즐거움.
각 모델을 제조사의 공식 CLI에서 최고 추론 설정으로 실행함. Claude는 Claude Code, GPT는 Codex, Gemini는 Antigravity CLI, Muse는 Muse Code를 사용함. 웹 검색·가져오기와 다른 인터넷 접근은 차단하며, CLI 설치 후 에이전트 실행부터 1시간을 재고 종료 시 봇을 수집하는 방식임.
여기서 알 수 있는 것은 실행 환경의 영향이 매우 크다는 점임. 같은 모델도 실행 환경, 허용 도구, 추론 수준에 따라 성능이 크게 달라짐. 웹 접근을 막으면 문서는 어떻게 참고하는지도 궁금함.
Pluto가 일반 CPU에서 실행되는 것 같은데, 맞다면 향후 RTS 게임에 아주 유용하겠음. 난도별 모델을 게임에 넣거나 서버·클라이언트 구조로 제공해 연습 상대를 만들 수 있음. 특정 캠페인 임무에 맞춘 모델도 가능할까? Pluto를 만드는 데 비용이 얼마나 들었는지 궁금함.
아이디어는 멋지지만 무엇을 측정하는 벤치마크인지 확신하기 어려움. 무턱대고 부정하려는 것은 아니며, 코드 생성 속도, 논리 분석, 게임 플랫폼에 대한 이해와 C 사용의 영향, 검토한 전술·전략 등 여러 요소가 뒤섞여 있기 때문임.
코드 생성에 1시간 제한을 두니 평가의 의미가 모호해짐. 게다가 성능은 최상위 오픈소스 StarCraft 봇을 얼마나 잘 암기하고 재현하느냐에 좌우될 것 같음.
사람이 작성한 봇은 거의 확실히 학습 데이터에 들어 있을 텐데, 그렇다면 인간 작성 봇 상대 승률이라는 지표가 잘 보정된 것 같지 않음. 최고의 봇을 암기할 수 있다면 적어도 50% 이상은 기대할 법함. 평가 절차를 자세히 살펴 무엇이 잘못됐는지 확인할 필요가 있음.
통계나 승률처럼 검증하기 쉬운 최종 결과로 측정할 수 있는 범위에서 위 요소를 모두 평가하는 것임. 적응력, 과제를 이해하고 진전을 이루는 능력 등도 해당함.
전반적인 자율 과제 수행 능력을 측정한다고 봄.
최근 ModernUO 서버에 봇을 채우는 작업에서는 다른 결론에 도달했음. Opus 5.5가 구조를 이해하고 구현하는 능력에서 훨씬 뛰어났음.
처음에는 6.1 Sol과 6 Astra를 썼지만 일주일 동안 진전이 거의 없어 교체했음. Opus 5.5는 하룻밤 만에 전체를 제대로 재구축했고, 이후에도 상당히 발전시켰음.
다른 벤치마크에는 흔치 않은 시간 제한이 있어 마음에 듦. 반대로 등급별 봇을 상대로 승률 50%를 넘기기까지 걸리는 시간을 측정해도 흥미롭겠음.
48시간 생방송을 진행했고, Astra는 43시간 만에 통과했음. 다만 전통적인 대회 규칙보다 LLM 봇에 유리한 형식이었다는 단서는 필요함.
영상에는 GLM이 나오는데 그래프에는 없음. LLM 45개를 모두 담은 더 완전한 차트가 따로 있을까?
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기