Jev를 발견

처음 Jev를 알게 된 것은 웹에서 우연히 본 기사였다. 전 OpenAI 연구원이 만든 매우 빠르고 저렴하며 환각이 없다는 홍보 문구를 보고 궁금해서 아키텍처를 살펴보았다.

해당 모델은 주어진 선택지 중 하나를 고르거나 점수를 반환하는 모델이었고 장단점이 명확해 보였다. 자유롭게 답변을 생성하지 않으므로 환각을 막을 수 있지만, 잘못된 판단을 하는 문제까지 없어지는 것은 아니었다.

당시에는 구독으로 사용할 수 있었지만 굳이 비용을 들여 시험해 보고 싶지는 않았고 오픈소스로 비슷한 모델들이 공개되면 테스트하려고 생각하고 있었다.

그러다 9월 말 Hugging Face에서 여러 경량 모델이 트렌드에 올라온 것을 보고 찾아보니, Kev나 Laya처럼 비슷한 목적을 가진 공개 모델들이 있었으므로 바로 사례를 검색해 보았다. 게임뿐만 아니라 도구 선택, 분류, 검증 등 생각보다 다양한 곳에서 활용하려는 시도가 있었다.

기존 시스템 적용 시도

처음에는 기존에 진행하던 프로젝트의 일부 판단 작업을 결정 모델로 교체해 볼 생각이었다.

그런데 검토하고 실험 결과를 확인하니 성능, 유지보수상으로 바꾸어야 할 이유가 존재하지 않았다.

먼저 Jev와 달리 작은 오픈소스는 분류 성능이 엄청 낮았다. Kev 0.8B의 경우에는 성능이 낮아서 추가 학습이 필요했는데 현재 파이프라인이 안정화되어 있지 않은 경우에 학습의 비용을 감수하고 싶지 않았으므로 Kev 4B로 올려서 다시 테스트해 보았다. 이 경우에 비슷한 정확도가 나왔는데 해당 교체하기 위해서는 많은 코드 수정 및 파이프라인 변경이 필요하다. 이 시점에서 너무 조사를 하지 않았음을 깨달았다.

먼저 기존 프로젝트의 아키텍처와 각각의 부분의 성공률 및 비용 효율성이 잘 정리되어 있지 않았고 바이브 코딩이기 때문에 내가 깊이 있게 이해하고 있지 않았다. 또 현재 교체하기 위해서 어떤 아키텍처에 적용해야 효율적인지 확인하지 않았다.

또 목적이 명확하지 않았다. 해당 프로젝트의 비용이 너무 많이 들어서 경량화를 해야 하는지 아니면 동작만 해도 적절한지 오히려 교체하는 동안에 멈추는 게 더 손해인지 이 3가지가 명확하지 않았기 때문에 애매해진 테스트가 되어 버렸다. 하지만 이 사실을 깨달은 것만으로 이번 테스트는 의미가 있었다.

게임과 LLM에 대한 생각

다음으로 관심이 간 곳은 게임이었다.

나는 이전부터 게임에 LLM을 넣으면 더 창의적이고 몰입감 좋은 콘텐츠를 만들 수 있을 것으로 생각했다. 하지만 상용 API와 연결되면 매우 많은 비용이 발생할 수 있다. 실제로 그렇게 한 게임도 최근 뉴스에서 봤다. 바로 여동생 차 가르치기라는 게임인데 일간 평균값인지는 모르겠지만 게임이 흥할 때는 일당 천 달러 정도의 API 비용이 발생하는 것으로 보인다.

그다음은 이제 로컬 모델을 생각해 보자. 지금까지 실제로 개인적인 실행 경험으로서는 PC에서 사용 가능했던 모델들은 최소 gemma 26B, qwen3.8 35B A3B 이상의 모델들이 지시를 따르면서 창의적인 역할이 가능했었다. 이 아래 지능의 로컬 모델로 가면 도구 호출률과 환각 문제가 존재했다. 심지어 해당 모델들도 종종 해당 문제가 발생한다.

추가적으로 해당 양자화를 한다고 해도 실제 게임과 동시에 실행되어야 하므로 게임 내부에 따로 훈련하지 않은, 상용 모델을 넣기 위해서는 24GB 정도 4090/5080 이상이 필요해 보인다. 물론 실제 게이머 보급률을 보았을 때 이런 게임을 출시해 보았자 플레이할 수 있는 사람이 별로 없을 것이다. 차라리 기본적으로 가능하지만 모드로서 사용 가능하도록 해 놓는 게 더 나아 보인다.

그러면 더 작은 모델을 게임에 맞게 훈련시키면 가능할까? 나는 가능하다고 생각한다. 상용 모델은 실제 게임 플레이를 생각하지 않은 범용 및 코딩 지식으로 훈련되었으므로 해당 게임 지식으로 훈련시키면 훨씬 작은 모델로도 잘 동작할 것으로 예상한다. 실제로 이 부분은 이미 모드로 많이 구현한 사례들이 존재한다.

이제는 결정 모델이 나왔고 위에서 이야기한 도구 호출과 환각, 빠른 속도가 가능하므로 결정 모델과 작은 크기의 훈련된 로컬 모델을 같이 사용한다면 생각보다 더 창의적인 게임들이 속출할 것으로 보인다.

그 일환으로 나도 해당 모델들을 실제로 적용해 보기로 했다.

처음에는 간단한 Bomberman 환경에서 시험해 봤지만 생각보다 성능이 좋지 않았다. 해당 성능을 높여 볼까 생각해 봤지만 성능보다도 이미 잘 동작하는 게임 알고리즘도 있는데 굳이 모델을 사용할 이유가 없었다.

단순히 기존 알고리즘을 대체하는 것으로는 별 의미가 없어 보였다. 여기서 중요한 것은 AI를 게임에 추가했을 때 비용 대비해서 유저가 재미를 느끼는 부분이 어디인지가 더 중요해 보였다. 그래서 결정 모델을 게임에 적용한 사례들을 수집했다.

이 중에서 규칙으로 모든 상황을 처리하기 어렵고, 여러 맥락을 고려해야 하는 게임으로 먼저 테스트해 보기로 했다.

Minecraft에서 확인한 가능성

사례 중에서 가장 흥미로운 부분이 Minecraft였다.

장기적인 목표는 범용 LLM이 관리하고, 세부 행동 일부를 결정 모델에 맡기는 구성이었다. 이전에 생각한 각각의 모델의 잘할 수 있는 역할을 분리하는 것과 비슷한 과정이었다.

Astra + Jev를 사용한 마인크래프트 엔더 드래곤 잡기와 비슷한 방식으로 내가 가지고 있는 자원들을 활용해서 로컬로 적용해 봤다.

먼저 계획용 모델에는 qwen3.8 27B를, 단순 동작 연결용 결정 모델은 Kev 4B를 사용했다. 그리고 처음에 집을 만들도록 진행했는데 과정을 보기 힘들어서 카메라 고정을 하고 요청해서 해당 모델이 동작하는 동안 자동 녹화를 시킨 뒤 나는 요청이 끝난 뒤에 카메라를 확인해서 원하지 않는 동작이 있을 시에 수정하는 방식으로 업데이트를 진행했다.

모델에게 계획은 엔더 드래곤을 잡는 것보다 사람과 같이 플레이했을 때 뭔가를 만들게 시키거나 정리를 시키거나 할 수 있으면 재미를 느낄 수 있을 것 같아서 그 방향으로 진행했다.

처음에는 평화로움으로 집을 만들게 시키고 여러 자원을 수집하는 것, 상자에 수집한 자원 저장하는 것, 서바이벌로 바뀐 뒤 안전한 상태에서 대기하는 순서로 진행되었다. 생각보다 동작은 잘했고 기능 추가하면 생각보다 잘 동작할 것 같았다.

다만 장기적인 판단을 담당하는 LLM의 토큰 사용량이 상당했고, 로컬에서 계속 실행한다면 전력 비용도 무시하기 어려울 것 같았다. 최적화하면 꽤 재미있는 NPC가 게임에 추가될 수 있는 가능성이 보였다.

실제 동작 영상 및 상세 방식은 Minecraft 에이전트 실험 기록의 포스트에 더 자세하게 볼 수 있다.

지금의 생각

테스트로 상상만 했던 게 실제 가능성이 확인된 것까지 확인해 본 것 같아서 좋았다.

깨달은 것은 먼저 목적이 중요한 것 같다. 이 AI 방식은 단순히 수단이라고 생각된다. 억지로 이걸 보여주기 위한 게임을 만드는 것보다는 어떤 게임에 어떤 기능이 있으면 재미있다고 판단될 때 이 방식으로 했을 때 시너지가 날 수 있다고 생각된다.

그리고 도입하기는 훨씬 어렵다. 해당 모델이 작은 모델을 사용해야 하기 때문에 실질적으로는 8b 양자화 + kev 0.8b 정도가 소비자 GPU에서 동작할 것으로 보여서 훈련 데이터를 많이 만들 수 있는 환경에서 훈련 후 최적화를 빡세게 돌리면 가능할 것으로 보인다. 이 경우 기본 알고리즘과 다르게 재훈련해야 하므로 패치도 어려울 수 있을 것 같다.

하지만 가능성이 보였으므로 계속 관심을 가지고 사례들을 빠르게 확인해야 할 것으로 보인다. 해당 사례들은 로컬 모델 및 결정 모델 적용 사례 페이지에서 주기적으로 수집 및 업데이트하고 새로운 시도를 하거나 새 사례가 발견되었을 때 다시 해 볼 것 같다.