고스톱 NPC로 보는 AI의 시작

고스톱 NPC를 만들면서 룰베이스 규칙, 휴리스틱 우선순위, 머신러닝과 강화학습까지 이어지는 AI 발전 단계를 쉽게 살펴봅니다.
게임 속 단순한 규칙이 어떻게 AI 사고로 확장되는지, AI를 처음 접하는 독자도 직관적으로 이해할 수 있습니다.
1. 맞고 NPC를 상상해 보기
고스톱은 한국에서 가장 대중적인 보드 게임이지만, 대부분은 사람끼리 즐긴다. 1:1로 붙는 경우를 흔히 "맞고"라고 부른다. 만약 이때 "NPC(컴퓨터 상대)"를 만들어 맞고를 한다면 어떻게 될까? 단순히 규칙만 구현하면 쉽게 티가 난다. NPC가 기계적으로만 움직이면 지루하고, "사람 같지 않다"는 인상을 주기 쉽다. 그래서 결국 사람처럼 판단하는 NPC를 설계하는 일이 필요하다.
2. 규칙 기반: AI의 출발점
무엇보다 먼저 해야 할 일은 기본 게임 룰을 명확히 정의해 하나의 템플릿을 만드는 것이다.
예를 들어 점수 계산 방식, 족보 완성 규칙, 고·스톱 선언 조건 등을 정리해 두는 것이다. 이 기초가 마련된 다음에야 NPC의 플레이 룰을 설계할 수 있다.
그런 기본 룰 템플릿을 바탕으로 NPC를 만들 때 가장 먼저 떠올릴 방법은 룰베이스드(Rule-based)다. 예를 들어:
- 같은 달의 카드(예: 3월 매화, 6월 모란 등 월별 카드군)가 바닥에 있으면 그 카드를 낸다.
- 광(光) 패가 손에 있으면 다른 카드보다 우선시한다.
- 이미 세 장이 모인 족보(예: 고도리, 청단 등)가 있으면 완성에 집중한다.
- 점수와 직접 관련 없는 카드는 가급적 보류한다.
이런 단순한 조건문만으로도 NPC는 "판단"을 하게 되고, 이 순간부터 넓은 의미의 AI라 부를 수 있다. 사실 우리가 평소 개발에서 짜는 비즈니스 로직도 전부 이런 룰베이스드 구조다.
3. 휴리스틱: 우선순위라는 지능
하지만 규칙만으로는 부족하다. NPC가 상황을 조금 더 "사람처럼" 읽으려면, 여러 기준 사이에서 우선순위(휴리스틱,heuristic)를 매겨야 한다. 예를 들어:
- 즉시 득점 가능성: 먹으면 바로 점수가 되는 광이나 피 카드 (10점)
- 세트 완성에 기여: 고도리나 단패를 채울 수 있는 상황 (6점)
- 상대방 차단 효과: 상대가 곧 가져갈 패를 선점하는 경우 (5점)
- 위험 회피: 상대방에게 유리하게 줄 수 있는 카드를 피하는 경우 (-4점)
실제로는 여기에 플레이어 수, 고·스톱 선언 여부, 누적 점수 상황 같은 변수까지 고려할 수 있다. 하지만 이 글에서는 입문자 관점에서 복잡한 변수는 생략하고, 휴리스틱 개념 자체에 집중한다.
NPC는 낼 수 있는 카드를 각각 점수화하고, 가장 높은 점수를 고른다.
이게 바로 휴리스틱이다. 완벽하진 않아도 빠르고 실용적인 의사결정 방식, 즉 AI 사고의 첫걸음이다.
4. 학습으로 나아가는 길
휴리스틱은 사람이 직접 만든 기준이다. 그런데 만약 NPC가 스스로 플레이 데이터를 모아 "이 상황에서는 이런 패를 내는 게 승률이 높다"라고 학습한다면? 그게 바로 머신러닝/딥러닝 기반 AI다. 예를 들어, NPC가 과거 수천 판의 데이터를 분석해 "광이 두 장 모여 있을 때는 피보다 우선적으로 내는 것이 평균 점수를 높인다"라는 패턴을 찾아내는 식이다.
더 나아가, NPC가 자기들끼리 수십만 판을 두면서 최적 전략을 스스로 찾아낸다면?
→ 이것은 강화학습(Self-play RL)의 영역으로, 바둑의 알파고와 같은 방식이다.
맞고 상황에서라면 "이 시점에 스톱을 선언하면 장기적으로 승률이 오른다" 같은 전략적 결정을 학습할 수 있다.
물론 맞고에서 이런 수준까지 가는 건 ROI(투자 대비 효과) 면에서는 과하지만, 기술적으로는 충분히 가능하다.
5. 재미는 완벽함에서 오지 않는다
흥미로운 점은, NPC가 너무 완벽하면 오히려 재미가 없다는 것이다. 맞고는 운의 요소도 크고, 사람다움(가끔의 실수, 과감한 선택)이 있어야 긴장감과 재미가 살아난다.
예를 들어, 상대가 분명히 유리한 상황인데도 NPC가 과감하게 고를 외쳐 역전을 노리거나, 반대로 안정적으로 스톱을 선택하는 식의 다양성이 필요하다. 이런 예측 불가능성이 있어야 플레이어가 몰입한다.
그래서 상업용 게임 NPC는 일부러 틈을 남기고, 성향(공격적, 수비적, 균형형 등)을 다양하게 주어 플레이어가 "사람과 비슷하다"라고 느끼도록 설계한다.
6. 마무리 – 작은 규칙에서 AI의 시작까지
맞고 NPC를 설계하다 보면 자연스럽게 AI의 발전 단계를 밟게 된다.
- 룰베이스드: 조건문과 규칙으로 움직이는 NPC
- 휴리스틱: 상황별 우선순위로 조금 더 사람 같은 판단
- 머신러닝/강화학습: 데이터를 통해 규칙을 스스로 학습
작은 게임 규칙에서 출발했지만, 이것은 곧 AI가 어떻게 사고하고 진화하는지를 보여주는 압축된 모델이다. 맞고 NPC는 단순한 예시지만, 여기에는 AI 이해의 중요한 출발점이 숨어 있다.
즉, 작은 놀이 규칙을 탐구하는 과정 속에서 우리는 AI가 사고하는 방식과 사람의 판단 구조가 얼마나 닮아 있는지를 확인할 수 있다.
이 글은 그 출발선이고, 다음 글에서는 이 관점을 개발자의 리팩토링과 학습으로 확장해 보려 한다.
다음글
2025.08.25 - [AI, 기술적인 이야기들] - 고스톱 NPC에서 배우는 AI와 학습 II
고스톱 NPC에서 배우는 AI와 학습 II
AI 학습은 리팩토링과 닮아 있다비즈니스 로직은 사실 룰베이스드, 개발자의 리팩토링은 곧 사람이 하는 학습입니다. 머신러닝은 이 과정을 자동화·정교화한 것일 뿐입니다. 개발자와 기획자가
gtpmore.tistory.com
'AI, 기술적인 이야기들' 카테고리의 다른 글
| 문맥 이해의 진짜 정체 — GPT는 정말 ‘이해’하고 있을까? (0) | 2025.10.18 |
|---|---|
| 고스톱 NPC에서 배우는 AI와 학습 II (0) | 2025.08.25 |
| 딥러닝이 보는 건 숫자, 이해하는 건 관계 — MLP와 CNN을 통해 이해하는 딥러닝의 벡터 처리 방식 (0) | 2025.06.24 |
| 사람처럼 말하는 ChatGPT — 신뢰와 착각의 UX 구조 분석 (0) | 2025.06.20 |
| LLM 설계자를 위한 벡터 DB 구조 가이드: RAG 검색 품질을 결정하는 설계 전략 (0) | 2025.06.12 |