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

Класс агента и основной логический цикл
Основной класс MINDcraft — это класс агента, который создается всякий раз, когда Энди не вошел в систему. Основной логический цикл в 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
Обработка ответов и команд
Энди может возвращать один ответ в диалоговом режиме или итеративно вызывать запросы или команды действий. Запросы предоставляют информацию о состоянии мира (например, !инвентарь, !nearbyBlocks ), в то время как действия вызывают игровое поведение (например, !followPlayer(имя) , !collectBlocks(блок) ). Все действия выполняются с помощью выполнять метод в классе Coder.
Генерация пользовательского кода
Для сложных действий, таких как строительство, Энди может написать собственный код, выводя новое действие Команда для входа в режим кодирования. Используя generateCode Используя метод класса Coder, Энди пишет собственный JavaScript-код с доступом к Mineflayer и библиотеке полезных функций. Метод включает цикл для нескольких попыток отладки.
Роль контекстных примеров
Контекстные примеры имеют решающее значение для качества ответов Энди. Модель встраивания находит похожие примеры в текущей истории и добавляет их в LLM контекст, гарантирующий, что Энди правильно использует команды и запрашивает информацию перед выполнением задач.
Как запустить MINDcraft
Требования
- Minecraft Java Edition (до версии 1.21.1, рекомендуется версия 1.20.4)
- Установлен Node.js (как минимум v14)
- Один из них: API-ключ OpenAI | API-ключ Gemini | API-ключ Anthropic | API-ключ Replicate | API-ключ Hugging Face | API-ключ Groq | Установленная Ollama. | API-ключ Qwen | Novita AI API-ключ |
Установить и запустить
Убедитесь, что вы соответствуете указанным выше требованиям.
- Клонируйте или загрузите этот репозиторий (большая зеленая кнопка)
- Переименовывать
keys.example.jsonвkeys.jsonи заполните ваши ключи API (вам нужен только один). Нужная модель установлена вandy.jsonили другие профили. Информация о других моделях представлена в таблице ниже. - В терминале/командной строке выполните
npm installиз установленного каталога - Запустите мир Minecraft и откройте его в локальной сети на порту 55916.
- Run
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}». Для управления ключами перейдите в раздел «Управление ключами» в настройках. Ключ по умолчанию генерируется автоматически при первом входе в систему. Вы можете создать дополнительные ключи, нажав «+ Добавить новый ключ».

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





