세 줄 요약

  • 51레벨로 출발한 기사 봇 15명이 게임 시간 10시간 동안 185번 죽고 경험치가 마이너스였다.
  • 봇 사냥 기록으로 GPU가 레벨별 사냥터 점수를 매기게 하고, 같은 세대 안에서 절반한테만 그 점수를 줬다.
  • 3세대, 9번 비교에서 9번 다 점수를 받은 쪽이 이겼다.

실험 노트

항목내용
질문봇 사냥 기록으로 매긴 사냥터 점수가, 봇이 스스로 고르는 것보다 나을까?
가설죽음을 손해로 계산한 점수표를 따르면 덜 죽고 경험치를 더 번다.
환경재현 환경(2.7 시절 기준), 6배속, 기사 봇
비교같은 세대 안에서 반반: GPU 점수표 vs 원래 방식
지표게임 시간 10시간 동안 번 경험치의 중간값, 사망 횟수
규모세대당 45명 (45·48·51레벨 출발 각 15명), 3세대

첫 질문: 어디서 사냥해야 빨리 크나

0편에서 실험할 환경 넷을 소개했다. 이제 첫 실험이다. 첫 타자는 기사다. 칼질하고, 물약 빨고, 위험하면 텔 타고. 할 일이 제일 적어서 AI한테 처음 가르치기 딱이다.

첫 질문도 그 시절 제일 흔하던 고민으로 골랐다. 지금 내 레벨이랑 장비로 어디서 사냥해야 제일 빨리 크나.

친구가 “거기 좋더라” 하면 가 보고, 죽으면 접고, 아니면 눌러앉고. 다 감이었다. 이 감을 봇은 어떻게 배우고 있을까.

1. 실험 환경

무대는 0편에서 소개한 6배속 봇 세계다. 봇은 사람처럼 한 명씩 접속해서 걷고, 싸우고, 물약 떨어지면 마을에 다녀온다. 여기서 기사 봇을 진화 방식으로 키우고 있었다.

  • 한 세대에 기사 45명. 사냥터 고르는 기준, 물약 빠는 타이밍, 도망 기준이 조금씩 다르다.
  • 45·48·51레벨로 출발하는 조를 15명씩 나눈다.
  • 게임 시간으로 10시간 사냥하고, 경험치를 많이 번 쪽의 기준을 물려받아 다음 세대를 만든다.

2. 관찰: 51레벨 조가 이상했다

어느 세대 결과를 보다가 눈을 의심했다.

출발 레벨별 경험치 중간값과 사망 수

출발 레벨경험치 (중간값)사망 (15명 합계)
45+1,476만44
48+1,377만38
51−797만185

레벨이 제일 높은 조가 제일 못했다. 못한 정도가 아니라 경험치가 마이너스였다.

로그를 보니 패턴이 뻔했다. 51레벨이 되면 갈 수 있는 사냥터가 확 늘어난다. 봇들은 “레벨 됐으니 센 데 가자"는 기준을 갖고 있었고, 센 데 가서 누웠다. 한 번 죽으면 경험치가 깎여서 50레벨로 떨어진다. 그럼 또 올리고, 또 가고, 또 눕는다.

옛날에 다들 한 번쯤 해 봤을 거다. 레벨 올랐다고 신나서 윗 사냥터 갔다가 경험치 다 토하고 내려오는 거.

3. 가설: 죽음을 값으로 치면 된다

봇의 기준은 경험치만 봤다. 사람도 그렇다. “거기 시간당 얼마 나온대"는 잘 퍼지는데, 거기서 몇 번 누웠는지는 잘 안 퍼진다.

그래서 이렇게 생각했다. 사냥터를 고를 때 죽는 걸 손해로 계산해 넣으면, 51레벨 조도 덜 죽고 더 벌 거다.

4. 방법: GPU 사냥터 점수표

봇은 사냥하는 동안 “어느 레벨에, 어느 사냥터에서, 몇 분 동안, 경험치 얼마 벌고, 몇 번 죽었나"를 구간마다 남긴다. 그때까지 4천 구간쯤 쌓여 있었다. 이걸 GPU로 학습해서 레벨별 사냥터 점수표를 만들었다.

$$ \begin{aligned} \text{점수} &= \text{시간당 경험치} \\ &\quad - \text{시간당 사망} \times \text{사망 손해} \end{aligned} $$

사망 손해는 한 번 죽을 때 깎이는 경험치에, 마을에서 다시 걸어오는 동안 못 번 경험치를 더한 값이다.

점수표를 뽑아 보니 51레벨에선 봇들이 가 본 사냥터 107곳 중 47곳이 0점이었다. 가면 손해인 곳이 절반 가까이였다. 그리고 51레벨한테 제일 좋은 곳으로 꼽힌 건 오히려 45~48레벨이 다니던 안전한 사냥터들이었다.

비교는 이렇게 했다.

  • 각 조 15명 중 절반(7~8명)은 GPU 점수표대로 사냥터를 고른다.
  • 나머지 절반은 원래 방식, 자기 기준대로 고른다.
  • 어느 쪽이 8명이 될지는 세대마다 번갈아 정했다.
  • 같은 세대, 같은 시간, 같은 환경이라 서로 다른 건 사냥터 고르는 방식뿐이다.
  • 이걸 3세대 반복했다.

5. 결과

세 세대 동안 GPU 점수를 받은 쪽과 원래 방식의 경험치 비교

출발 레벨1세대째2세대째3세대째
451,942만 vs 1,513만1,886만 vs 1,453만1,281만 vs 1,018만
481,937만 vs 1,721만1,980만 vs 1,379만1,380만 vs 1,288만
512,178만 vs 1,426만1,924만 vs 883만1,433만 vs 1,288만

(GPU 점수표 vs 원래 방식, 경험치 중간값)

  • 9번 비교에서 9번 다 GPU 점수표 쪽이 이겼다.
  • 차이가 제일 컸던 건 51레벨 조다. 2세대째엔 두 배 넘게 벌었다.
  • 51레벨 조 1세대째 사망은 원래 방식 29번, GPU 점수표 쪽 6번이었다.
  • 3세대째엔 차이가 줄었다.

6. 해석

가설대로 나왔다. 그리고 왜 통했는지 짚어 보면 두 가지다.

하나, 아는 것만 시켰다. 점수표는 봇들이 실제로 사냥해 본 곳만 놓고 순위를 매겼다. 기록이 있는 곳끼리 비교했으니 크게 틀릴 일이 없었다.

둘, 죽음을 값으로 쳤다. 51레벨 조가 제일 크게 좋아진 게 그 증거다. 원래 방식은 경험치 좋은 곳으로 몰려가 죽었고, 점수표는 그런 곳에 0점을 줬다.

7. 한계와 남은 질문

실험 노트니까 못 본 것도 적어 둔다.

  • 표본이 작다. 한 쪽이 7~8명이다. 그래서 평균 대신 중간값으로 비교했고, 한 번이 아니라 9번 다 이겼다는 걸 근거로 삼았다.
  • 3세대만 봤다. 3세대째에 차이가 줄었는데, 이유는 확인하지 못했다. 더 돌렸으면 차이가 없어졌을 수도 있다.
  • 사망을 반반 나눠서 센 건 1세대째뿐이다. 2·3세대째는 조 전체 사망만 남아 있다.
  • 경험치가 늘어난 이유를 나누지 못했다. 덜 죽어서인지, 사냥터 자체가 좋아서인지는 이 실험으로는 구분이 안 된다.
  • 점수표는 가 본 사냥터만 안다. 이게 다음 편의 출발점이다.

8. 다음 실험

이렇게 잘 되니까 욕심이 생겼다. 봇이 가 본 곳 말고 안 가 본 곳까지 GPU가 계산해 주면, 1레벨부터 50레벨까지 최단 루트도 뽑을 수 있지 않을까?

② GPU가 찾아 준 명당 사냥터에 기사를 보냈더니 경험치가 마이너스였다

안 가 본 사냥터까지 계산하는 GPU 시뮬레이터를 만들고 1→50 루트를 물었다. AI는 2.7엔 없던 사막을 골랐다.


이 실험은 전부 AI(Claude)랑 대화하면서 하고 있다. 재현 환경, 봇, 학습 스크립트, 로그 분석까지 다. 이 글의 숫자도 진화 기록에서 그대로 뽑았다.