# 챗GPT는 왜 체스 불법수를 둘까?

> 챗GPT(ChatGPT)가 체스 불법수를 두는 건 체스판을 기억하고 규칙을 확인하는 대신 텍스트를 예측하기 때문이에요. 이유와 예시 두 개, 그리고 Atari 이야기를 정리했어요.

- URL: https://thechesscoach.netlify.app/ko/answers/chatgpt-illegal-moves/
- Updated: 2026-10-22
- Author: Ignacio Soler

챗GPT(ChatGPT)가 체스 불법수, 즉 규칙상 둘 수 없는 수를 두는 이유는 언어 모델이기 때문이에요. 지금까지의 수 다음에 가장 그럴듯하게 들리는 수를 쓰고, 내부에는 그 수가 허용되는지 확인하는 장치가 없어요. 체스 프로그램은 규칙으로 수를 만들어 내기 때문에 불가능한 수를 둘 수 없어요. 모델에게 매 차례 정확한 포지션을 준 [Kaggle의 Game Arena 벤치마크](https://arxiv.org/abs/2609.31473)(2026년 9월)에서도 불법수 시도는 계속 나왔고, 대부분 대국 후반부였어요.

## ChatGPT가 체스 불법수를 두는 네 가지 이유

| 이유 | 체스판에서 보이는 모습 |
|---|---|
| 수가 아니라 텍스트를 예측해요 | 체스 글에서는 흔하지만 지금 포지션에서는 불가능한 수를 둬요 |
| 체스판을 기억하지 않아요 | 기물이 다른 기물을 뚫고 지나가거나, 잡힌 기물이 되살아나요 |
| 규칙을 확인하는 장치가 없어요 | 체크를 무시하거나, 캐슬링이 안 되는데 "캐슬링"을 해요 |
| 채팅용 학습이 오히려 해가 됐어요 | 채팅 버전은 예전 텍스트 완성 모델보다 규칙을 더 자주 어겨요 |

**1. 텍스트를 예측해요.** 언어 모델에게 "비숍 c4" 같은 수는 특정 텍스트 뒤에 자주 나오는 짧은 텍스트예요. 패턴이 맞으면 그 수를 써요. 비숍이 실제로 그 칸에 갈 수 있는지와는 상관없이요.

**2. 체스판은 없고 기록만 있어요.** 엔진은 정확한 포지션을 저장하고 수마다 갱신해요. ChatGPT는 답할 때마다 대화 내용으로 포지션을 다시 만들어야 해요. 대국이 길어질수록 정확히 기억해야 할 게 많아지고, 그래서 [Game Arena 연구진](https://arxiv.org/abs/2609.31473)은 오류가 대국 후반부에 몰린다는 걸 발견했어요. 초반에는 모델이 외워 둔 오프닝에 기대요.

**3. 규칙을 강제하는 장치가 없어요.** 벤치마크에서는 별도의 프로그램이 심판을 봐요. Kaggle의 심판은 모델에게 수가 잘못됐다고 알리고 다시 시도하게 하며, 네 번 실패하면 그 판을 패배로 기록해요. [2025년 8월 이벤트 대회](https://www.chess.com/news/view/kaggle-game-arena-chess-2025-day-1)에서 Kimi k2는 OpenAI의 o3를 상대로 네 판 모두 그렇게 졌어요(Chess.com, 2025년 8월 5일). 평범한 ChatGPT 대화에는 심판이 아예 없어요. 심판은 바로 여러분이에요.

**4. 채팅용 조정이 해가 됐어요.** [Mathieu Acher의 2023년 테스트](https://blog.mathieuacher.com/GPTsChessEloRatingLegalMoves/)에서 Stockfish를 상대한 채팅 모델 gpt-3.5-turbo는 대국의 93%에서, 채팅용으로 조정된 GPT-4는 32%에서, 예전 텍스트 완성 모델인 gpt-3.5-turbo-instruct는 16%에서 불법수를 뒀어요. [Dynomight](https://dynomight.net/chess/)도 2024년 11월에 같은 방향을 확인했어요. 지시 따르기 학습(instruction tuning)을 거친 모델은 모든 비교에서 더 못 뒀어요.

## 예시 1: 체크를 무시하기

체크는 내 킹이 공격받고 있다는 뜻이고, 규칙상 바로 다음 수에서 반드시 해결해야 해요. Game Arena 논문은 이걸 자주 나오는 실패로 꼽아요. 모델이 체크를 당한 상태에서 체크를 해결하지 못하는 수를 제안하는 거예요.

평범한 오프닝(1.e4 e5 2.Nf3 d6 3.Bb5+) 뒤에 흑이 백 비숍에게 체크를 당한 상황이에요.

> **흑이 체크를 당했어요. 나이트 f6은 자연스러워 보이지만 둘 수 없는 수예요**
> Position (FEN): `rnbqkbnr/ppp2ppp/3p4/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 1 3`
> Better: c6 — 폰 c6은 체크를 막고 비숍을 공격해요

나이트를 f6으로 전개하는 수는 체스 오프닝에서 가장 흔한 수 중 하나라서, 텍스트를 예측하는 모델이 딱 좋아하는 수예요. 하지만 여기서는 불법수예요. 체크에 대해 아무것도 하지 않거든요. Stockfish가 고르는 수는 폰 c6, 나이트 d7, 비숍 d7이에요. 셋 다 체크를 막고 대국을 거의 균형으로 유지해요.

## 예시 2: 자기 폰을 뚫고 지나가는 비숍

이건 특정 대국의 수가 아니라 설명을 위한 예시예요. 조용한 오프닝(1.d4 d5 2.Nf3 Nf6) 뒤에 백은 비숍 c4를 둘 수 없어요. f1의 비숍이 e2를 지나가야 하는데, 백 자신의 폰이 아직 거기 서 있거든요.

> **백 비숍은 c4로 갈 수 없어요. e2의 폰이 길을 막고 있어요**
> Position (FEN): `rnbqkb1r/ppp1pppp/5n2/3p4/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 2 3`

백이 킹 앞 폰을 먼저 민 오프닝에서는 비숍 c4가 아주 흔한 전개 수예요. "3수 즈음에 비숍이 c4로 나온다"는 패턴에 맞춰 수를 고르는 모델은 체스판이 안 된다고 말하는데도 여기서 그 수를 쓸 수 있어요. "판의 상태를 놓친다"는 게 실제로는 이런 뜻이에요.

## ChatGPT는 왜 엔진처럼 체스를 두지 못할까?

엔진이 하는 세 가지 일 중 어느 것도 하지 않기 때문이에요. 엔진은 모든 합법적인 수를 나열하고, 응수를 미리 탐색하고, 도달한 포지션에 점수를 매겨요. ChatGPT는 한 가지만 해요. 텍스트를 이어 쓰는 거예요. 그게 가끔은 좋은 체스가 되기도 해요. 모델이 배운 대국에는 좋은 수가 흔하니까요. 하지만 처음 보는 포지션에서는 기댈 데가 없어요. 두 방식은 [스톡피쉬 vs 챗지피티](/answers/chatgpt-vs-stockfish/)에서 자세히 비교해요.

## ChatGPT가 Atari 2600에게 체스로 졌어요

가장 유명한 사례는 2025년 6월에 나왔어요. 엔지니어 Robert Caruso가 에뮬레이터에서 1979년 Atari 2600 게임인 Video Chess를 초급 설정으로 돌려 ChatGPT와 대국시켰어요. [The Register에 따르면](https://www.theregister.com/2025/06/09/atari_vs_chatgpt_chess/)(2025년 6월 9일) 이 콘솔의 프로세서는 1.19 MHz, 메모리는 128바이트예요.

[Time Extension에 따르면](https://www.timeextension.com/news/2025/06/openais-chatgpt-lost-a-game-of-chess-against-the-48-year-old-atari-2600) GPT-4o를 쓴 ChatGPT는 룩과 비숍을 헷갈리고, 폰 포크(한 폰이 두 기물을 동시에 공격하는 수)를 놓치고, 자기 기물이 어디 있는지 계속 잊어버렸어요. Atari의 기물 아이콘 탓을 하더니, 표준 기보법으로 바꿔도 나아지지 않았어요. Caruso가 약 90분 동안 바로잡아 준 끝에 ChatGPT는 기권했어요.

후속편도 같은 각본을 따랐어요. Microsoft Copilot은 Atari가 폰 하나만 잃는 동안 [폰 두 개, 나이트, 비숍을 잃었어요](https://www.theregister.com/2025/07/01/microsoft_copilot_joins_chatgpt_at/)(2025년 7월 1일). Google의 Gemini는 처음엔 이기겠다고 하더니, 다른 챗봇들이 어떻게 됐는지 듣고 나서 [대국에서 발을 뺐어요](https://www.theregister.com/2025/07/14/atari_chess_vs_gemini/)(2025년 7월 14일).

교훈은 Atari가 똑똑하다는 게 아니에요. 규칙을 바탕으로 만든 아주 작은 프로그램은 언제나 포지션을 정확히 알고 합법적인 수만 둔다는 거예요. 챗봇에게는 두 가지 다 보장되지 않아요.

## 불법수 걱정 없이 체스 도움을 받는 방법

- 마지막 수만이 아니라 매 차례 전체 포지션을 주세요.
- 제안된 수는 믿기 전에 모두 실제 체스판에서 확인하세요.
- 분석은 엔진에게 체스를, 어시스턴트에게 설명을 맡기세요.

마지막 방법이 바로 [Chess Coach](/features/ai-chess-analysis/)가 Claude 안에서 하는 일이에요. 저희 서버에서 Stockfish를 돌려 끝난 Chess.com과 Lichess 대국을 리뷰하고, 포지션 확인 기능이 어떤 수가 불법수인지와 그 이유를 Claude에게 알려 주기 때문에 Claude가 추측할 필요가 없어요. ChatGPT가 아니라 Claude에서 작동해요. [연결 방법](/connect/)을 확인하거나, Claude 혼자서는 어떤지 궁금하다면 [클로드 체스](/answers/can-claude-play-chess/)를 읽어 보세요.

## FAQ

### ChatGPT는 왜 체스를 제대로 못 두나요?

체스 프로그램이 아니라 언어 모델이기 때문이에요. 지금까지의 텍스트 다음에 올 가능성이 가장 높은 수를 쓰고, 검증된 체스판을 기억하지 않고, 수를 미리 탐색하지도 않아요. 그래서 둘 수 없는 수나 그냥 나쁜 수를 내놓을 수 있어요.

### 2026년에도 ChatGPT가 체스 불법수를 두나요?

네. 2023년보다는 덜하지만 없어지지는 않았어요. 2026년 9월에 발표된 Kaggle의 Game Arena 벤치마크에서도 모델은 불법수 뒤에 다시 시도해야 했고, 오류는 대국 후반부에 몰렸어요. 약한 모델일수록 특히 그랬어요.

### ChatGPT가 정말 Atari 2600에게 체스로 졌나요?

네. 2025년 6월 엔지니어 Robert Caruso가 에뮬레이터에서 1979년 Atari 2600 게임인 Video Chess의 초급 레벨과 ChatGPT를 대국시켰어요. ChatGPT는 기물 위치를 놓쳤고 결국 기권했어요.

### ChatGPT가 체스 불법수를 두지 않게 하려면 어떻게 하나요?

완전히 막을 수는 없지만 잡아낼 수는 있어요. 매 차례 전체 포지션을 주고, 실제 체스판에서 모든 수를 확인하세요. 분석에는 체스 엔진을 돌리고 수의 합법성을 대신 확인해 주는 도구를 쓰세요.

## Related

- [챗GPT 체스 실력은? Elo, 테스트 결과와 한계 (2026)](https://thechesscoach.netlify.app/ko/answers/chatgpt-chess.md)
- [스톡피쉬 vs 챗지피티: 체스에서 누가 이길까, 그리고 왜](https://thechesscoach.netlify.app/ko/answers/stockfish-vs-chatgpt.md)
- [클로드 체스 실력은? Claude가 할 수 있는 것과 없는 것 (2026)](https://thechesscoach.netlify.app/ko/answers/claude-chess.md)
- [챗GPT 체스 분석, 믿을 수 있을까? 솔직한 답변](https://thechesscoach.netlify.app/ko/answers/chatgpt-chess-analysis.md)
- [클로드 MCP 서버로 체스 분석: Chess Coach 커넥터](https://thechesscoach.netlify.app/ko/connect.md)
