MINDcraft — это новаторский проект с открытым исходным кодом, который интегрирует большие языковые модели (LLM) для управления ботами в Minecraft, открывая новое измерение взаимодействия и творчества в игре. Он использует библиотеку Mineflayer, позволяя этим ботам выполнять сложные задачи с помощью генерации высокоуровневого кода. Этот проект не только демонстрирует потенциал ИИ в играх, но и расширяет границы возможностей языковых моделей в виртуальных средах. Novita AI рекомендуется как один из поставщиков API для проекта.
Обзор проекта MINDcraft
В основе MINDcraft лежит приложение на Node.js, которое интегрирует LLM для управления ботами в Minecraft, выполняющими различные задачи. Основной бот по имени Энди может общаться с игроками и самостоятельно ставить цели, такие как сбор ресурсов или строительство зданий. Эта способность позволяет Энди играть в игру независимо, постоянно адаптируясь и устанавливая новые задачи без вмешательства человека. Архитектура проекта позволяет Энди эффективно выполнять команды и осмысленно взаимодействовать с игровой средой.
https://www.youtube.com/embed/IeXadWbvDiE
Ключевые особенности
- Интеграция языковых моделей: MINDcraft использует LLM для генерации кода, который управляет действиями бота в Minecraft. Эта интеграция позволяет Энди эффективно выполнять сложные задачи, интерпретируя инструкции на естественном языке и преобразуя их в игровые команды.
- Автономный геймплей: Энди может самостоятельно ставить цели и ориентироваться в игровом мире, что расширяет его возможности выполнять задачи без прямого участия игрока. Такая автономия позволяет Энди исследовать новые стратегии и адаптировать своё поведение на основе обратной связи от окружения.
- Параметризованные команды: Проект включает команды, аналогичные тем, что используются в Toolformer, что позволяет Энди более надёжно выполнять такие задачи, как сбор ресурсов. Эти параметризованные команды упрощают выполнение задач, предоставляя предопределённые действия, которые можно настраивать под конкретные требования.
Разработка и внедрение MINDcraft
Разработка
Вдохновение и начальная работа
Разработка MINDcraft началась после выхода заметной статьи о Voyager, в которой была представлена библиотека Mineflayer для создания ботов Minecraft на Node.js. В отличие от предыдущих исследований ИИ, использовавших изображения в качестве входных данных и низкоуровневые выходные данные, Mineflayer позволяет ИИ-системам взаимодействовать с Minecraft с помощью высокоуровневого кода, упрощая такие задачи, как навигация и сбор ресурсов, без необходимости обучения с подкреплением.
Использование LLM для выполнения инструкций
Современные LLM отлично справляются с генерацией кода и выполнением инструкций, что позволяет легко настроить LLM на генерацию кода Mineflayer на основе человеческих инструкций, что и привело к созданию Энди. Для повышения надёжности Энди при выполнении стандартных навыков были реализованы параметризованные команды. Например, Энди может вывести !collectBlocks("oak_log", 1) вместо генерации сложного кода.
Улучшения и дальнейшие планы
Со временем набор команд Энди был расширен, добавлены автоматические действия, такие как избегание агрессивных мобов. Недавно Энди научился самостоятельно играть в Minecraft, ставя цели на естественном языке (например, «Собери материалы для постройки дома»). Будущие планы включают повторное использование кода, рефлексию опыта, улучшенное пространственное восприятие, ввод изображений и взаимодействие нескольких агентов.
Внедрение

Класс Agent и основной логический цикл
Главный класс MINDcraft — это класс Agent, который создаётся каждый раз, когда Энди не вошёл в игру. Основной логический цикл в handleMessage выполняется, когда игрок отправляет сообщение Энди:
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
Обработка ответов и команд
Энди может вернуть один диалоговый ответ или итеративно вызывать команды запроса или действия. Запросы предоставляют информацию о состоянии мира (например, !inventory, !nearbyBlocks ), а действия вызывают игровые реакции (например, !followPlayer(name) , !collectBlocks(block) ). Все действия выполняются с помощью метода execute в классе Coder.
Генерация пользовательского кода
Для сложного поведения, такого как строительство, Энди может написать собственный код, выдав команду newAction для входа в режим кодирования. Используя метод generateCode из класса Coder, Энди пишет пользовательский код JavaScript с доступом к Mineflayer и библиотеке полезных функций. Метод включает цикл для нескольких попыток отладки.
Роль контекстных примеров
Контекстные примеры имеют решающее значение для качества ответов Энди. Модель встраивания находит примеры, похожие на текущую историю, и добавляет их в контекст LLM, что гарантирует правильное использование команд и запрос информации перед выполнением задач.
Как запустить MINDcraft
Требования
- Minecraft Java Edition (до версии 1.21.1, рекомендуется 1.20.4)
- Установленный Node.js (не ниже версии 14)
- Один из следующих ключей: 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из установленной директории - Запустите мир Minecraft и откройте его по LAN на локальном порту 55916
- Выполните
node main.jsиз установленной директории
Настройка
Вы можете настроить параметры проекта в settings.js. Смотрите файл. Имя агента, модель и подсказки можно настроить в его профиле, например andy.json.
| API | Переменная конфигурации | Пример названия модели |
| Novita AI | NOVITA_API_KEY | gryphe/mythomax-l2-13b |
Как получить ключ API Novita AI
Шаг 1: Перейдите на novita.ai и войдите в систему
Вы можете войти на Novita AI через Google или GitHub, что создаст новую учётную запись при первом входе. Альтернативно, вы можете зарегистрироваться, используя свой адрес электронной почты.
Шаг 2: Управление ключом API LLM Novita AI
Novita AI обеспечивает доступ к API через аутентификацию Bearer, включая ключ API в заголовок запроса, например «Authorization: Bearer {API Key}». Для управления ключами перейдите в «Key Management» в настройках. При первом входе автоматически генерируется ключ по умолчанию. Вы можете создать дополнительные ключи, нажав «+ Add New Key».

Шаг 3: Пополните счёт
Novita AI предоставляет новым пользователям ваучер с некоторым кредитом для ознакомления с продуктами. Чтобы добавить больше средств, посетите Billing and Payments и следуйте руководству по способам оплаты.
Полезные ссылки и ресурсы
Заключение
MINDcraft является значительным шагом вперёд в исследованиях ИИ в игровых средах. Используя возможности LLM, он открывает новые возможности для творчества и взаимодействия в Minecraft. По мере развития проекта участие сообщества и обратная связь будут играть решающую роль в формировании его будущего. Открытый исходный код проекта поощряет сотрудничество между разработчиками и исследователями, заинтересованными в изучении пересечения ИИ и игр.
Оригинальная публикация: Novita AI
Novita AI — это облачная платформа ИИ, предоставляющая разработчикам простой способ развёртывания моделей ИИ с помощью нашего простого API, а также доступные и надёжные GPU-облака для создания и масштабирования.
