تشغيل وكيل برمجة محلي على جهاز Mac Mini

أستخدم وكيل برمجة محلي للمهام البسيطة. فهو يتولى تعديل الملفات، وإصلاح الاختبارات، والتحقق من عملية البناء (build verification). كما يقوم بكتابة اختبارات Playwright، ومراجعة الكود، وتنفيذ عمليات النشر (deploys).

يعمل هذا الإعداد على جهاز Mac Mini M4 بذاكرة وصول عشوائي (RAM) سعة 24 جيجابايت. لا أستخدم واجهات برمجة تطبيقات (APIs) سحابية لأعمال البرمجة، بل أستخدم نموذجاً سحابياً رخيصاً فقط للتخطيط والتوجيه. ويتولى وكيل برمجة يُدعى Pi عملية تعديل الملفات الفعلية، حيث يتصل بـ oMLX، وهو خادم LLM محلي.

يعمل هذا الإعداد مع أي وكيل يستخدم واجهة برمجة تطبيقات متوافقة مع OpenAI. يمكنك استخدام Claude Code أو Codex مع خادم oMLX نفسه.

أستخدم نموذجين وأقوم بالتبديل بينهما بناءً على المهمة. يمنعني حد الـ 24 جيجابايت من ذاكرة الوصول العشوائي من تشغيلهما معاً في وقت واحد.

  • نموذج البرمجة الأساسي: فئة 9B بسرعة 20 توكن في الثانية.
  • النموذج السريع: فئة 4B بسرعة 27 توكن في الثانية للإصلاحات السريعة.

يقوم نص برمجي (script) للتبديل بإخراج نموذج وإدخال الآخر، وتستغرق هذه العملية 5 ثوانٍ.

يقوم الوكيل بهذه المهام:

  • تعديل الملفات وإعادة الهيكلة (refactoring)
  • كتابة وإصلاح الاختبارات
  • التحقق من عملية البناء (build verification)
  • مراجعة الكود
  • تحديث التوثيق (documentation)
  • تنفيذ عمليات النشر (deploys)

أستخدم وضع RPC لأي شيء أكثر تعقيداً من سطر كود واحد. حيث تقوم طبقة التنسيق (orchestration layer) بكتابة أمر (prompt) ويقوم Pi بتنفيذه.

أستخدم هذه الأدوات لتحسين الأداء:

  • pix-optimizer: يضغط الـ tokens ويزيل الأكواد المتكررة (boilerplate).
  • context-mode: يوجه مهام مساحة العمل ويدير استدعاءات الأدوات.
  • pi-subagents: يشغل المهام بالتوازي.
  • pi-workflow-engine: يتعامل مع تسلسلات المهام متعددة الخطوات.
  • pi-mcp-adapter: يتصل بالأدوات الخارجية عبر MCP.

قواعد هامة لهذا الإعداد:

  • قم بتحميل نموذج واحد فقط في كل مرة لتجنب أخطاء الذاكرة.
  • قم بتعطيل وضع التفكير (thinking mode) للحفاظ على السرعة.
  • لا ترسل سجل الدردشة الكامل في الأوامر (prompts) وإلا سينهار النموذج.
  • استخدم وضع RPC للمهام غير البسيطة لتجاوز ضوابط السلامة.
  • أعد محاولة الطلب الأول بعد التبديل بين النماذج إذا انتهت مهلة الطلب (timeout).

نص إعداد التشغيل: curl -fsSL https://workswithagents.dev/static/setup-local-llm-pi.sh | sh

المصدر: https://dev.to/vystartasv/running-a-local-coding-agent-on-a-mac-mini-the-actual-setup-47bo

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi