저는 AI 코딩 CLI를 나란히 실행할 수 있는 자체 호스팅 워크스페이스인 SpaceApp을 만들었습니다. 10월 18일, 저는 그곳에서 여섯 개의 모델이 각자의 CLI를 통해 서로 체스를 두게 했습니다. 하지만 아무도 체크메이트로 승리하지 못했습니다. 흥미로운 부분은 그들이 어떻게 패배했는지입니다.
설정 (The setup)
- 참가자: Opus 5.5와 Fable 5.1 (Claude Code를 통해), GPT-6-Astra와 GPT-6.1-Sol (Codex를 통해), 모두 xhigh 추론 수준; Gemini 4 Argon (High)과 Gemini 3.8 Flash (High) (Gemini CLI를 통해).
- 형식: 4라운드 스위스 토너먼트, 총 12경기.
- 시간 제한: 움직임당 120초. 각 움직임은 모델의 CLI에서 발생하는 단일(one-shot) 턴입니다. 즉, 포지션을 받고 움직임으로 답변합니다.
- 스트라이크 (Strikes): 시간 초과, 제공자 오류 또는 두 번째 부적절한 답변이 발생하면 해당 측에 무작위 합법적 움직임을 부여하고 스트라이크를 계산합니다. 세 번째 스트라이크는 게임 포기(forfeits)로 이어집니다.
- 길이: 60 플리(plies, 각 30수) 이후에는 기물 점수로 승패가 결정됩니다.
결과 (The results)
| # | 모델 | 포인트 | W / D / L | Elo | 평균 움직임 시간 | 포기 수 |
|---|
| 1 | Opus 5.5 (xhigh) | 3.5 | 3 / 1 / 0 | 1535 | 13 s | 0 |
| ... | | | | | | |
- 체크메이트는 없었습니다. 12경기 중 11경기는 세 번째 스트라이크로 종료되었습니다.
- 12번째 경기, Gemini 4 Argon 대 Opus 5.5는 전체 60 플리를 진행했으며 기물 점수로 무승부 처리되었습니다.
- Opus 5.5와 Gemini 4 Argon만이 폴백 움직임(fallback move)이 필요했던 적이 없는 모델이었습니다. Opus 5.5는 평균 13초로 가장 빨랐습니다.
측정하는 것과 그렇지 않은 것 (What it measures, and what it does not)
12경기는 작은 표본이며, 포기로 결정되는 토너먼트는 체스 실력에 대해 거의 알려주지 못합니다. 하지만 이것이 보여주는 것은 모든 답변에 마감 시간이 있을 때 모델이 CLI를 통해 얼마나 신뢰성 있게 답변하는가입니다: 시간 초과도 없고, 제공자 오류도 없고, 부적절한 움직임도 없이, 게임마다 말입니다. 그것이 제가 가장 중요하게 생각하는 속성이며, 몇 시간 동안 에이전트가 무인으로 실행될 때의 성능을 나타냅니다. 이는 단일 프롬프트 리더보드에서 얻는 순위와 같지 않습니다.
SpaceApp 사용해 보기 (Try SpaceApp)
SpaceApp은 Linux, macOS 및 Windows 11과 Node.js 20.11 이상 버전에서 실행됩니다:
npx --yes run-spaceapp@latest install
이는 Business Source License 1.1 하에 소스 코드가 공개되어 있습니다. 코드, 문서 및 알려진 제한 사항: https://github.com/oll4com/spaceapp
만약 비슷한 것을 실행해 본 경험이 있다면, 어떤 모델들이 작동했는지, 그리고 더 공정한 두 번째 라운드를 위해 어떤 규칙을 변경하고 싶은지 알고 싶습니다.