MINDcraft는 대규모 언어 모델(LLM)을 마인크래프트 봇에 통합하여 게임 내에서 새로운 차원의 상호작용과 창의성을 제공하는 혁신적인 오픈소스 프로젝트입니다. 이 프로젝트는 Mineflayer 라이브러리를 사용하여 봇이 고수준 코드를 생성함으로써 복잡한 작업을 수행할 수 있게 합니다. MINDcraft는 게임에서 AI의 가능성을 보여줄 뿐만 아니라 가상 환경에서 언어 모델이 달성할 수 있는 한계를 넓힙니다. Novita AI는 이 프로젝트의 권장 API 제공업체 중 하나입니다.
MINDcraft 프로젝트 개요
MINDcraft의 핵심은 LLM을 통합하여 마인크래프트 봇이 다양한 작업을 수행하도록 안내하는 node.js 애플리케이션입니다. Andy라는 주 봇은 플레이어와 소통하고 자원 수집이나 건물 건설과 같은 목표를 자율적으로 설정할 수 있습니다. 이 기능 덕분에 Andy는 인간의 개입 없이도 독립적으로 게임을 플레이하며 지속적으로 적응하고 새로운 목표를 세울 수 있습니다. 프로젝트의 아키텍처는 Andy가 명령을 효율적으로 실행하고 게임 환경과 의미 있는 방식으로 상호작용할 수 있게 해줍니다.
https://www.youtube.com/embed/IeXadWbvDiE
주요 기능
- 언어 모델 통합: MINDcraft는 LLM을 사용하여 마인크래프트 내에서 봇의 행동을 지시하는 코드를 생성합니다. 이 통합을 통해 Andy는 자연어 명령을 해석하고 이를 실행 가능한 게임 명령으로 변환하여 복잡한 작업을 효율적으로 수행할 수 있습니다.
- 자율 게임 플레이: Andy는 독립적으로 목표를 설정하고 게임 세계를 탐색할 수 있어 직접적인 플레이어 입력 없이도 작업을 수행할 수 있습니다. 이러한 자율성 덕분에 Andy는 새로운 전략을 탐색하고 환경 피드백에 따라 행동을 조정할 수 있습니다.
- 매개변수화된 명령: 이 프로젝트는 Toolformer에서 볼 수 있는 것과 유사한 명령을 포함하여 Andy가 자원 수집과 같은 작업을 더 안정적으로 실행할 수 있게 합니다. 이러한 매개변수화된 명령은 특정 요구 사항에 따라 사용자 정의할 수 있는 사전 정의된 작업을 제공하여 작업 실행을 단순화합니다.
MINDcraft 개발 및 구현
개발
영감과 초기 작업
MINDcraft의 개발은 Node.js에서 마인크래프트 봇을 생성하기 위한 Mineflayer 라이브러리를 소개한 Voyager에 관한 주목할 만한 논문이 발표된 후 시작되었습니다. 이전의 AI 연구가 이미지 입력과 저수준 출력을 사용한 반면, Mineflayer는 AI 시스템이 고수준 코드를 사용하여 마인크래프트와 상호작용할 수 있게 해주어 강화 학습 없이도 탐색 및 자원 획득과 같은 작업을 단순화합니다.
LLM을 활용한 명령 수행
최신 LLM은 코드 생성 및 명령 수행에 뛰어나므로, 인간의 지시에 따라 Mineflayer 코드를 생성하도록 LLM을 조건화하는 것이 쉬워져 Andy가 탄생했습니다. Andy가 일반적인 기술을 더 안정적으로 실행할 수 있도록 매개변수화된 명령이 구현되었습니다. 예를 들어 Andy는 복잡한 코드를 생성하는 대신 !collectBlocks("oak_log", 1)을 출력할 수 있습니다.
개선 사항 및 향후 방향
시간이 지나면서 Andy의 명령 세트가 확장되었고, 적대적인 몹을 피하는 것과 같은 자동 행동이 추가되었습니다. 최근에는 Andy가 자연어 목표(예: “집을 짓기 위한 재료 수집”)를 설정하여 마인크래프트를 독립적으로 플레이할 수 있습니다. 향후 계획으로는 코드 재사용, 경험 반영, 공간 인식 개선, 시각 입력, 다중 에이전트 상호작용 등이 있습니다.
구현

에이전트 클래스와 주요 로직 루프
MINDcraft의 주요 클래스는 Andy가 로그인되지 않은 상태에서 인스턴스화되는 Agent 클래스입니다. 주요 로직 루프는 handleMessage에서 실행되며, 플레이어가 Andy에게 메시지를 보낼 때 작동합니다:
handleMessage(message):
history.add(message)
while true:
hist = history.getHistory()
response = prompter.promptConvo(hist)
if containsCommand(response):
cleanChat(response)
history.add(response)
result = executeCommand(this, response)
history.add(result)
else:
cleanChat(response)
history.add(response)
break
응답 및 명령 처리
Andy는 단일 대화 응답을 반환하거나 반복적으로 쿼리 또는 액션 명령을 호출할 수 있습니다. 쿼리는 세계 상태 정보(예: *!inventory*, *!nearbyBlocks*)를 제공하고, 액션은 게임 내 행동(예: *!followPlayer(name)*, *!collectBlocks(block)*)을 유발합니다. 모든 액션은 Coder 클래스의 *execute* 메서드를 사용하여 실행됩니다.
사용자 정의 코드 생성
건설과 같은 복잡한 행동을 위해 Andy는 *newAction* 명령을 출력하여 코딩 모드로 진입함으로써 사용자 정의 코드를 작성할 수 있습니다. Coder 클래스의 *generateCode* 메서드를 사용하여 Andy는 Mineflayer 및 유용한 함수 라이브러리에 접근할 수 있는 사용자 정의 JavaScript 코드를 작성합니다. 이 메서드는 여러 번의 디버깅 시도를 위한 루프를 포함합니다.
맥락 내 예시의 역할
맥락 내 예시는 Andy의 응답 품질에 매우 중요합니다. 임베딩 모델은 현재 히스토리와 유사한 예시를 찾아 LLM 컨텍스트에 추가함으로써 Andy가 명령을 올바르게 사용하고 작업을 완료하기 전에 정보를 쿼리하도록 보장합니다.
MINDcraft 실행 방법
요구 사항
- Minecraft Java Edition (최대 v1.21.1, v1.20.4 권장)
- Node.js 설치 (최소 v14)
- 다음 중 하나: OpenAI API Key | Gemini API Key | Anthropic API Key | Replicate API Key | Hugging Face API Key | Groq API Key | Ollama 설치 | Qwen API Key | Novita AI API Key
설치 및 실행
위 요구 사항을 충족했는지 확인하세요.
- 이 저장소를 클론하거나 다운로드하세요 (큰 녹색 버튼)
keys.example.json을keys.json으로 이름을 바꾸고 API 키를 입력하세요 (하나만 있으면 됩니다). 원하는 모델은andy.json또는 다른 프로필에서 설정합니다. 다른 모델은 아래 표를 참조하세요.- 터미널/명령 프롬프트에서 설치된 디렉토리로 이동하여
npm install을 실행하세요 - 마인크래프트 세계를 시작하고 로컬호스트 포트 55916으로 LAN에 개방하세요
- 설치된 디렉토리에서
node main.js를 실행하세요
사용자 정의
settings.js에서 프로젝트 세부 사항을 구성할 수 있습니다. 파일을 참조하세요. andy.json과 같은 프로필에서 에이전트의 이름, 모델 및 프롬프트를 구성할 수 있습니다.
| API | 구성 변수 | 예시 모델 이름 |
| Novita AI | NOVITA_API_KEY | gryphe/mythomax-l2-13b |
Novita AI API 키 접근 방법
1단계: novita.ai에 접속하여 로그인
Novita AI에 Google 또는 GitHub로 로그인할 수 있으며, 최초 로그인 시 새 계정이 생성됩니다. 또는 이메일 주소를 사용하여 등록할 수 있습니다.
2단계: Novita AI LLM API 키 관리
Novita AI는 요청 헤더에 API 키를 포함하는 Bearer 인증을 통해 API 접근을 보호합니다. 예: “Authorization: Bearer {API Key}”. 키를 관리하려면 설정에서 “Key Management”로 이동하세요. 최초 로그인 시 기본 키가 자동으로 생성됩니다. “+ Add New Key”를 클릭하여 추가 키를 생성할 수 있습니다.

3단계: 크레딧 충전
Novita AI는 신규 사용자에게 일부 크레딧이 포함된 바우처를 제공하여 당사 제품을 체험할 수 있게 합니다. 추가 크레딧을 충전하려면 Billing and Payments를 방문하여 Payment Methods 가이드를 따르세요.
유용한 링크 및 자료
결론
MINDcraft는 게임 환경 내 AI 연구에 있어 중요한 진전을 의미합니다. LLM의 힘을 활용함으로써 마인크래프트에서 창의성과 상호작용의 새로운 가능성을 열어줍니다. 프로젝트가 계속 발전함에 따라 커뮤니티의 참여와 피드백은 미래 발전 방향을 결정하는 데 중요한 역할을 할 것입니다. 이 프로젝트의 오픈소스 특성은 AI와 게임의 교차점을 탐구하는 개발자와 연구자 간의 협업을 장려합니다.
원문은 Novita AI에 게재되었습니다.
Novita AI 는 개발자가 간단한 API를 통해 AI 모델을 쉽게 배포할 수 있도록 지원하는 AI 클라우드 플랫폼이며, 동시에 구축 및 확장을 위한 저렴하고 안정적인 GPU 클라우드를 제공합니다.
