MINDcraft هو مشروع ثوري مفتوح المصدر يدمج نماذج اللغة الكبيرة (LLMs) للتحكم في روبوتات Minecraft، مما يوفر بُعدًا جديدًا من التفاعل والإبداع داخل اللعبة. يستخدم مكتبة Mineflayer لتمكين هذه الروبوتات من أداء مهام معقدة عن طريق توليد كود عالي المستوى. لا يُظهر هذا المشروع إمكانات الذكاء الاصطناعي في الألعاب فحسب، بل يدفع أيضًا حدود ما يمكن تحقيقه باستخدام نماذج اللغة في البيئات الافتراضية. يُوصى باستخدام Novita AI كأحد مزودي واجهة برمجة التطبيقات للمشروع.
نظرة عامة على مشروع MINDcraft
في جوهره، MINDcraft هو تطبيق Node.js يدمج نماذج اللغة الكبيرة لتوجيه روبوتات Minecraft في أداء مهام متنوعة. الروبوت الرئيسي المسمى Andy يمكنه التواصل مع اللاعبين وتحديد الأهداف بشكل مستقل، مثل جمع الموارد أو بناء المنشآت. تسمح هذه القدرة لـ Andy بلعب اللعبة بشكل مستقل، والتكيف باستمرار وتحديد أهداف جديدة دون تدخل بشري. تمكن بنية المشروع Andy من تنفيذ الأوامر بكفاءة والتفاعل مع بيئة اللعبة بطريقة ذات معنى.
https://www.youtube.com/embed/IeXadWbvDiE
الميزات الرئيسية
- دمج نموذج اللغة: يستخدم MINDcraft نماذج اللغة الكبيرة لتوليد كود يوجه تصرفات الروبوت داخل Minecraft. يُمكّن هذا الدمج Andy من تنفيذ مهام معقدة بكفاءة عن طريق تفسير التعليمات باللغة الطبيعية وترجمتها إلى أوامر لعبة قابلة للتنفيذ.
- اللعب المستقل: يمكن لـ Andy تحديد الأهداف بشكل مستقل والتنقل في عالم اللعبة، مما يعزز قدرته على أداء المهام دون إدخال مباشر من اللاعب. تسمح هذه الاستقلالية لـ Andy باستكشاف استراتيجيات جديدة وتكييف سلوكه بناءً على ردود الفعل البيئية.
- الأوامر المحددة المعلمات: يتضمن المشروع أوامر مشابهة لتلك الموجودة في Toolformer، مما يسمح لـ Andy بتنفيذ مهام مثل جمع الموارد بشكل أكثر موثوقية. تُبسّط هذه الأوامر المحددة تنفيذ المهام من خلال توفير إجراءات محددة مسبقًا يمكن تخصيصها بناءً على متطلبات محددة.
تطوير وتنفيذ MINDcraft
التطوير
الإلهام والعمل الأولي
بدأ تطوير MINDcraft بعد نشر ورقة بحثية بارزة حول Voyager، والتي قدمت مكتبة Mineflayer لإنشاء روبوتات Minecraft في Node.js. على عكس الأبحاث السابقة في الذكاء الاصطناعي التي استخدمت مدخلات الصور ومخرجات منخفضة المستوى، تسمح Mineflayer لأنظمة الذكاء الاصطناعي بالتفاعل مع Minecraft باستخدام كود عالي المستوى، مما يبسط مهام مثل التنقل واكتساب الموارد دون الحاجة إلى التعلم المعزز.
الاستفادة من نماذج اللغة الكبيرة لاتباع التعليمات
تتفوق نماذج اللغة الكبيرة الحديثة في توليد الكود واتباع التعليمات، مما يسهل تكييف نموذج لغوي لتوليد كود Mineflayer بناءً على تعليمات بشرية، مما أدى إلى إنشاء Andy. تم تنفيذ أوامر محددة المعلمات لتعزيز موثوقية Andy في تنفيذ المهارات الشائعة. على سبيل المثال، يمكن لـ Andy إخراج !collectBlocks("oak_log", 1) بدلاً من توليد كود معقد.
التحسينات والاتجاهات المستقبلية
بمرور الوقت، تم توسيع مجموعة أوامر Andy، وأضيفت سلوكيات تلقائية مثل تجنب الغوغاء العدوانيين. مؤخرًا، يمكن لـ Andy لعب Minecraft بشكل مستقل من خلال تحديد أهداف باللغة الطبيعية (على سبيل المثال، “اجمع المواد لبناء منزل”). تشمل الخطط المستقبلية إعادة استخدام الكود، والتفكير في التجارب، وتحسين الوعي المكاني، ومدخلات الرؤية، والتفاعلات متعددة الوكلاء.
التنفيذ

فئة الوكيل والحلقة المنطقية الرئيسية
الفئة الرئيسية لـ MINDcraft هي فئة Agent التي يتم إنشاؤها عندما لا يكون Andy مسجلاً للدخول. يتم تنفيذ الحلقة المنطقية الرئيسية في 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)). يتم تنفيذ جميع الإجراءات باستخدام طريقة execute في فئة Coder.
توليد كود مخصص
بالنسبة للسلوكيات المعقدة مثل البناء، يمكن لـ Andy كتابة كود مخصص عن طريق إخراج أمر newAction للدخول في وضع البرمجة. باستخدام طريقة generateCode من فئة Coder، يكتب Andy كود JavaScript مخصص مع الوصول إلى Mineflayer ومكتبة من الوظائف المفيدة. تتضمن الطريقة حلقة لعدة محاولات تصحيح الأخطاء.
دور الأمثلة السياقية
الأمثلة السياقية ضرورية لجودة ردود Andy. يستخدم نموذج تضمين لإيجاد أمثلة مشابهة للتاريخ الحالي وإضافتها إلى سياق نموذج اللغة، مما يضمن أن Andy يستخدم الأوامر بشكل صحيح ويستعلم عن المعلومات قبل إكمال المهام.
كيفية تشغيل MINDcraft
المتطلبات
- إصدار Java من Minecraft (حتى الإصدار 1.21.1، يُوصى بالإصدار 1.20.4)
- تثبيت Node.js (على الأقل الإصدار 14)
- واحد مما يلي: مفتاح OpenAI API | مفتاح Gemini API | مفتاح Anthropic API | مفتاح Replicate API | مفتاح Hugging Face API | مفتاح Groq API | تثبيت Ollama. | مفتاح Qwen API | مفتاح Novita AI API |
التثبيت والتشغيل
تأكد من توفر المتطلبات أعلاه.
- استنساخ أو تنزيل هذا المستودع (الزر الأخضر الكبير)
- إعادة تسمية
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 |
كيفية الوصول إلى مفتاح 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 خطوة مهمة إلى الأمام في أبحاث الذكاء الاصطناعي داخل بيئات الألعاب. من خلال تسخير قوة نماذج اللغة الكبيرة، يفتح إمكانيات جديدة للإبداع والتفاعل في Minecraft. مع استمرار تطور المشروع، ستلعب مشاركة المجتمع وملاحظاتهم دورًا حاسمًا في تشكيل تطوراته المستقبلية. تشجع الطبيعة مفتوحة المصدر للمشروع على التعاون بين المطورين والباحثين المهتمين باستكشاف تقاطع الذكاء الاصطناعي والألعاب.
نُشر أصلاً في Novita AI
Novita AI هي منصة سحابية للذكاء الاصطناعي تقدم للمطورين طريقة سهلة لنشر نماذج الذكاء الاصطناعي باستخدام واجهة برمجة التطبيقات البسيطة، مع توفير سحابة GPU ميسورة التكلفة وموثوقة للبناء والتوسع.
