AI 없는 보물 지도: LLM이 틀린 답일 때
우리 NPC는 플레이어에게 보물 힌트를 줄 수 있어요. 버려진 잔해, 사이가 좋다면 숨겨진 상자도요. 이 기능을 계획할 때 뻔해 보이는 해결책이 하나 있었어요. AI 백엔드가 있으니, NPC의 힌트 문장을 언어 모델이 만들게 하면 되잖아! 하지만 우리는 그렇게 하지 않기로 했고, 그 이유가 꽤 좋은 교훈이 돼요.
LLM의 문제: AI 백엔드에서 나오는 NPC 대화는 비용 때문에 캐시돼요. 잡담이라면 완벽해요. 상인이 오늘 하는 말이 어제와 같은지 아무도 신경 쓰지 않으니까요. 하지만 보물 힌트에는 사실이 들어 있어요. 방향, 거리, 위치예요. 캐시된 힌트는 어제의 상자를 가리킬 거예요. 캐시가 아니더라도 언어 모델은 좌표를 창의적으로 “개선”하는 경향이 있어요. 엉뚱한 곳으로 이끄는 힌트는 없는 것보다 나빠요.
해결책은 결정론적인 방식이에요. 이제 힌트는 고전적인 방식으로 직접 만들어요. 서버가 실제 위치를 알고, 방향을 계산하고, 템플릿으로 대사를 구성해요(독일어와 영어로요). 동시에 그 장소가 월드 안의 모든 플레이어의 지도에 점으로 드러나요. 이미 털린 잔해는 자동으로 후보에서 빠져요. 모델도, 환각도, 오래된 캐시도 없어요. 힌트는 그냥 정확해요.
이 일에서 끌어낸 규칙: 우리에게 LLM의 몫은 분위기예요. 성격, 잡담, 이야기의 말투죠. 어떤 말이 사실과 맞아야 한다면(장소, 숫자, 게임 규칙) 정답은 결정론적인 코드예요. AI 문제처럼 보인다고 해서 다 AI 문제는 아니에요.
댓글