지난번에는 제가 만든 마인크래프트 어시스턴트가 작업을 수행할 수는 있었지만, 사용자가 일반적인 언어로 요청하는 내용을 실제로 이해하지는 못했습니다. 이번에는 바로 그 부분을 위해 파이프라인(pipeline)을 구축했으며, 이 파이프라인은 특정 문장에만 맞춰진 것이 아닙니다. 일반적인 요청에 대해 작동합니다. 영상에서 플레이어가 “배고파요. 돼지고기 찹 최소 3개랑 네더라이트 주괴도 만들어 주세요.”라고 입력하면, Mica v0.5 4B가 이를 읽어 두 가지 목표와 각각 필요한 수량을 계산하고 맨손 상태에서 시작합니다. 나무, 도구, 철, 다이아몬드, 옵시디언, 포털, 네더, 고대 잔해, 금을 거쳐 마침내 네더라이트 주괴를 만들고, 다시 돌아와 모든 물품을 건네줍니다. 오른쪽 패널에는 Mica가 받았던 모든 질문과 그것이 본 선택지들, 그리고 각 선택지에 부여한 확률이 표시됩니다. 마지막에는 플레이어의 시점으로 전환되어 아이템들이 도착하는 것을 볼 수 있습니다.
여기서 핵심 아이디어는 다음과 같습니다: 모델은 전체 문장을 한 번에 이해하려고 하지 않습니다. 요청은 일련의 작은 객관식 질문(multiple-choice questions) 체인으로 분해되며, 각 답변이 다음 선택지를 좁혀 나갑니다. 메시지가 몇 가지 다른 아이템을 요구하는지, 그리고 “여기로 와”와 같은 행동 지침이 포함되어 있는지 등을 파악합니다. 그런 다음, 메시지에 언급된 순서대로 각 아이템에 대해 어떤 카테고리인지(식품, 도구, 광석 및 재료 등), 하위 카테고리는 무엇인지(광석의 경우 오버월드 또는 네더), 게임 자체의 아이템 목록에서 키워드 매칭 없이 정확히 어떤 아이템인지, 그리고 누구를 위한 것이며 몇 개가 필요한지 등을 순차적으로 질문합니다. 코드는 게임 데이터에서 옵션만을 제공하며, Mica는 모든 선택을 하고 모든 답변에는 확률이 따릅니다. 작업 중에는 레시피 플래너(recipe planner)가 현재 유효한 행동들을 목록화하고, Mica는 다음에 무엇을 할지 선택합니다.
솔직히 말씀드리자면, Mica v0.5 4B는 아직 사람이 A부터 Z까지 모든 변수를 판단하는 수준과는 거리가 있습니다. 하지만 이는 '뇌'의 역할을 수행합니다. 영상 속 거의 모든 의미 있는 결정은 Mica가 내린 것입니다. 게임을 직접 조작하는 것은 편하지 않기 때문에, 봇이 손과 발의 역할을 하여 이동, 채광, 제작 등을 담당합니다. 최종적인 판단(judgment)은 대부분 Mica의 것입니다.
혹시라도 그렇게 해석하는 분이 계실까 봐 말씀드리자면, 저는 Mica가 모든 프레임을 연속적인 스트림으로 받아들이거나, 초인적인 속도로 반응하거나, 발생할 수 있는 모든 상황에 일반화된다고 주장하는 것이 아닙니다. 저는 그런 주장을 전혀 하고 있지 않으며, Fable 5.5조차도 그것을 해낼 수 있을지 의문입니다. 제가 보여드리는 것은 4B 모델이 자연어 요청을 범용적인 결정(general-purpose decisions)으로 분해하고, 높은 확률로 올바른 목표를 설정하며, 마인크래프트의 각 단계에서 합리적인 판단을 내려서 봇이 정확한 작업을 수행하게 할 수 있다는 것입니다. 이는 자신만의 마인크래프트 심부름꾼(errand runner)을 만들고 싶다면 정말 유용하다고 생각합니다. 여기서 가장 중요한 부분은 자연어 처리 능력입니다.
또한, 제 로컬 GPU는 AMD이기 때문에 Mica의 최적화에서 많은 이점을 얻지 못했으며, 결정 시간이 NVIDIA 환경보다 느리게 작동했습니다. 패널에 표시된 결정 시간은 RTX 3090 추정치이며, 기다리는 시간(waits)은 영상에서 잘라낸 것입니다. 저는 이러한 종류의 판단 모델이 마인크래프트 에이전트뿐만 아니라 광범위한 영역에 사용될 수 있다고 생각합니다. 원칙은 간단합니다. 하나의 요청으로 해결하기 너무 어려운 것이 있다면, 그것을 더 작은 판단들로 나누고 단계별로 좁혀 나가는 것입니다. 감당할 수 있는 추가적인 판단(judgment) 하나하나가 정확도를 높일 기회가 됩니다. 이것이 제가 모델이 정말 예외적이지 않은 한 API 전용 의사결정 모델(API-only decision models)을 추천하지 않는 이유이기도 합니다. 제 측정에 따르면, Jev, Clef, Ms Decision과 같은 API 전용 의사결정 모델들은 평균적으로 Mica보다 약 60배 느렸는데, 이는 초당 수행할 수 있는 판단의 양에서 엄청난 격차입니다.
만약 정말 그런 수준의 능력이 필요하다면, 어쨌든 전체 LLM(Large Language Model)을 호출하는 것이 더 나을 가능성이 높습니다. 그리고 Mica만의 문제는 아닙니다. 모델이 수백억 개의 활성 매개변수(active parameters)를 가지고 있지 않다면, 로컬 모델은 일반적으로 API 전용 의사결정 모델보다 10배 이상 빠를 것입니다.
언젠가 이 마인크래프트 에이전트를 출시하고 싶지만 아직 완성되지 않았기 때문에 지금 당장은 공개할 수 없습니다.
그렇다고는 해도, 위에서 설명한 아이디어를 Claude Code나 Codex 같은 코딩 에이전트에게 주고 구축해 달라고 요청한다면, 작동시키는 것이 꽤 쉬울 것입니다. GitHub: https://github.com/akivet/Mica Hugging Face: https://huggingface.co/sky7350/Mica-v0.5-4B submitted by /u/Top-Evidence174 [link] [comments]