انتقل إلى المحتوى
في هذه الصفحة

الذكاء الاصطناعي المحلي على MacBook Pro بسعة 16 جيجابايت RAM: ما يعمل فعلاً

مساعدي البرمجة بالذكاء الاصطناعي محلياً فكرة جذابة: لا تكاليف API، الكود يبقى على جهازك، وتجربة مشابهة لـ Claude Code مجاناً. لكن تشغيله بشكل جيد على MacBook Pro M1 بسعة 16 جيجابايت RAM يحتاج تجربة وخطأ أكثر مما تعترف به معظم الأدلة.

هذا المقال يلخص أشهراً من اختبارات واقعية مع أدوات متعددة، بيئات تشغيل، ونماذج. النتيجة فاجأتني.

الهدف

بناء بيئة تطوير ذكاء اصطناعي محلية، بدون اشتراك، يمكنها دعم:

  • مناقشات المعمارية والتوثيق
  • استكشاف المستودعات والتخطيط
  • تعديلات الكود وإعادة الهيكلة وإصلاح الأخطاء
  • سجلات قرارات المعمارية وملاحظات Obsidian
  • مشاريع Angular و NestJS و .NET و Docker و Kubernetes

يجب أن يعمل الإعداد بالكامل محلياً على MacBook Pro بسعة 16 جيجابايت RAM.


أكبر اكتشاف

قبل مقارنات الأدوات والمعايير، أهم اكتشاف:

قدرة الوكيل > درجة معيار البرمجة

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

هذا الاكتشاف وحده قلب ترتيب النماذج والأدوات رأساً على عقب.


الأدوات التي تم تقييمها

تم اختبار ثلاثة أطر عمل لوكلاء البرمجة بعمق:

الأداةما هي
OpenCodeواجهة طرفية موجهة للوكلاء
Aiderمساعد تحرير كود مركز على Git
Continue.devإضافة VSCode مع محادثة وإكمال تلقائي

تمت مقارنة بيئتي تشغيل للنماذج المحلية:

بيئة التشغيلما هي
Ollamaخادم نماذج محلي بسيط وشائع يعتمد على واجهة الأوامر
LM Studioمدير نماذج بواجهة رسومية مع API متوافق مع OpenAI

نتائج مقارنة الأدوات

الأداةالمعماريةالتوثيقالبرمجةاستخدام الأدواتسهولة الاستخدامالحكم
OpenCode10/1010/108/109/108/10مساحة العمل الرئيسية
Continue.dev6/104/107/105/1010/10مرافق IDE
Aider2/101/105/103/106/10غير موصى به

OpenCode

OpenCode فاز بمساحة العمل الرئيسية لأنه مصمم لسير عمل وكيل. يخطط، يستكشف المستودعات، يولد التوثيق، ويكتب محتوى طويل بموثوقية.

نقاط القوة: التخطيط، تحليل المعمارية، التوثيق، استكشاف المستودعات، المحتوى الطويل
نقاط الضعف: يحتاج نافذة سياق أكبر، الأداء مرتبط بقدرة النموذج على استخدام الأدوات

Aider: خيبة الأمل المفاجئة

Aider له سمعة جيدة في تحرير الكود. قد تكون مستحقة في إعدادات أخرى. في هذا السير العمل، خيب الظن.

أمر بسيط مثل Create a file containing one line: hello جعل Aider يولد JavaScript عشوائي بدلاً من إنشاء الملف. كما فشل في البحث عن الملفات وتوليد التوثيق.

الحكم لهذا السير العمل: غير موصى به.

Continue.dev

الأبسط من بين الثلاثة. قم بتثبيت إضافة VSCode، ووجهها إلى نموذج محلي، وستعمل. رائعة لمحادثة IDE والشروحات السريعة والإكمال التلقائي. ليست الأداة المناسبة للعمل المعماري أو أي شيء يتطلب تفكيراً متعدد الخطوات.


مقارنة بيئات التشغيل

بيئة التشغيل كانت أكثر أهمية مما توقعت.

بيئة التشغيلتجربة OpenCodeإدارة النماذجاستكشاف الأخطاءالحكم
LM Studio10/1010/1010/10مفضل لـ OpenCode
Ollama6/107/106/10ثانوي (Continue.dev)

ما حدث بشكل خاطئ مع Ollama و OpenCode

عند توصيل OpenCode بنماذج محلية عبر Ollama، ظهرت عدة مشاكل:

  • بعض النماذج لم ترجع أي إجابة على الإطلاق
  • بعض الردود تم اقتطاعها في منتصف المخرجات
  • معالجة السياق كانت غير شفافة, من الصعب معرفة ما تم تحميله فعلاً
  • أمر الوكيل لـ OpenCode كان ثقيلاً جداً للسياقات الصغيرة
  • التجربة كانت غير متناسقة عبر الجلسات

لماذا LM Studio عمل بشكل أفضل

بعد تحويل OpenCode إلى LM Studio، اختفت المشاكل في الغالب:

  • معرف النموذج المحمل بالضبط كان مرئياً عبر /v1/models
  • طول السياق كان مرئياً وقابلاً للتكوين في الواجهة
  • API المتوافق مع OpenAI جعل استكشاف الأخطاء مباشراً
  • النماذج التي فشلت عبر Ollama عملت بشكل صحيح عبر LM Studio

ملاحظة رئيسية: النماذج نفسها لم تكن المشكلة الرئيسية. تركيبة Ollama + OpenCode كانت أقل موثوقية على هذا الجهاز. LM Studio + OpenCode تصرفت بشكل أفضل مع نفس النماذج.

يمكنك التحقق مما يخدمه LM Studio في أي وقت:

curl http://localhost:1234/v1/models

مقارنة النماذج

النموذجالسرعةاستخدام الأدواتالمعماريةالتوثيقالبرمجةالدور النهائي
qwen3.5:9b7/1010/1010/109/108/10النموذج الرئيسي
qwen3.5:2b10/109/106/107/105/10الوكيل السريع
Ministral 3B8/108/107/108/106/10بديل
qwen2.5-coder:7b6/104/106/105/108/10متخصص برمجة (وكيل ضعيف)
llama3.1:8b5/104/106/106/106/10مرفوض
gemma45/102/106/105/107/10مرفوض

نتائج اختبار استخدام الأدوات الواقعية

من أكثر الاختبارات كشفاً: طلب كل نموذج ببساطة إنشاء وتحرير ملفات باستخدام أدوات OpenCode.

النموذجينشئ ملفاتيحرر ملفاتيستخدم أدوات
qwen3.5:9b
qwen3.5:2b
Ministral 3Bأحياناً
qwen2.5-coder:7bمختلطمختلطمختلط
gemma4

gemma4 رفض مهام التحرير على الرغم من رؤية الأدوات المتاحة. llama3.1:8b عمل لكنه قدم قيمة ضعيفة مقابل تكلفة موارده.

qwen2.5-coder:7b يسجل درجات جيدة في معايير البرمجة لكن لديه استخدام أدوات مختلط عملياً, أداؤه كان أقل من المتوقع كعامل OpenCode مقارنة بالتوقعات. هذه هي النتيجة الجوهرية: درجات المعايير لا تتنبأ بقدرة الوكيل.

qwen3.5:9b هو النموذج الرئيسي: استدلال قوي، استخدام موثوق للأدوات، ممتاز للعمل المعماري والتوثيق. qwen3.5:2b هو الرفيق السريع للمهام والملاحظات السريعة.


مشكلة نافذة السياق

من أهم وأكثر الاكتشافات مفاجأة.

OpenCode يحتاج سياقاً أكثر مما تتوقع

عندما تم توصيل OpenCode بنموذج بسياق 8k، ظهر هذا الخطأ فوراً:

n_keep: 26460 >= n_ctx: 8192

ثم لاحقاً، بعد محاولات تقليله:

n_keep: 8232 >= n_ctx: 8192

أمر النظام الأولي لـ OpenCode وحده يتجاوز 8k رمز. هذا يعني أن النموذج لم يتلق أبداً الرسالة الأولى للمستخدم, السياق كان ممتلئاً بالفعل قبل أن تبدأ المحادثة.

الحل: ضبط سياق LM Studio على 32,768 رمزاً ومطابقته في تكوين نموذج OpenCode.

أحجام السياق الموصى بها

الأداةبيئة التشغيلالسياق
OpenCodeLM Studio32,768
Continue.devأي8,192

التركيبة النهائية

بعد كل هذه الاختبارات، الإعداد الموصى به له ثلاثة أوضاع:

رئيسي: عمل المعمارية والتوثيق

OpenCode + LM Studio + qwen3.5:9b
السياق: 32,768

استخدم لـ: مراجعات المعمارية، التوثيق، سجلات قرارات المعمارية، التخطيط، استكشاف المستودعات، ملاحظات Obsidian

الوضع السريع: المهام السريعة

OpenCode + LM Studio + qwen3.5:2b
السياق: 32,768

استخدم لـ: أسئلة سريعة، ملاحظات، ملخصات، استكشاف مستودعات

مرافق IDE

Continue.dev + LM Studio أو Ollama + qwen3.5:2b
السياق: 8,192

استخدم لـ: محادثة IDE، شروحات الكود، الإكمال التلقائي، تعديلات صغيرة


جدول القرار السريع

المهمةالأداةبيئة التشغيلالنموذج
مناقشة معماريةOpenCodeLM Studioqwen3.5:9b
كتابة توثيقOpenCodeLM Studioqwen3.5:9b
ملاحظات Obsidian / سجلات قراراتOpenCodeLM Studioqwen3.5:9b
استكشاف مستودعOpenCodeLM Studioqwen3.5:9b
تخطيطOpenCodeLM Studioqwen3.5:9b
أسئلة سريعة / ملاحظاتOpenCodeLM Studioqwen3.5:2b
محادثة IDE / شرحContinue.devLM Studio أو Ollamaqwen3.5:2b
إكمال تلقائيContinue.devLM Studio أو Ollamaqwen3.5:2b

التثبيت

Ollama (لـ Continue.dev)

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3.5:2b

LM Studio (لـ OpenCode)

قم بالتنزيل من موقع LM Studio الرسمي. حمل qwen3.5:9b للعمل الرئيسي أو qwen3.5:2b للوضع السريع، اضبط السياق على 32,768 وابدأ الخادم المحلي.

نصيحة: نماذج Zen من LM Studio فعالة بشكل خاص على الأجهزة ذات RAM المحدود. هي محسنة بشكل جيد لـ Apple Silicon وتستحق التجربة إذا كنت تريد أداءً جيداً دون دفع حدود الذاكرة.

تحقق من أن الخادم يعمل:

curl http://localhost:1234/v1/models

OpenCode

curl -fsSL https://opencode.ai/install | bash

قم بتكوين ~/.config/opencode/opencode.json للتوجيه إلى LM Studio. يجب أن يتطابق اسم النموذج في التكوين تماماً مع id الذي يتم إرجاعه بواسطة /v1/models:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio Local",
      "options": {
        "baseURL": "http://localhost:1234/v1"
      },
      "models": {
        "qwen/qwen3.5-9b": {
          "name": "Qwen 3.5 9B (Main)",
          "limit": {
            "context": 32768,
            "output": 2048
          }
        },
        "qwen/qwen3.5-2b": {
          "name": "Qwen 3.5 2B (Fast)",
          "limit": {
            "context": 32768,
            "output": 2048
          }
        }
      }
    }
  }
}

Continue.dev

قم بتثبيت إضافة Continue في VSCode ووجهها إلى LM Studio أو Ollama مع qwen3.5:2b.


الدروس المستفادة

الافتراضالواقع
أفضل معيار برمجة = أفضل وكيلخطأ, قدرة استخدام الأدوات تهم أكثر
نموذج أكبر = تجربة أفضلخطأ على 16 جيجابايت RAM
qwen2.5-coder:7b هو أفضل نموذج محليمبرمج قوي، وكيل ضعيف, استخدام أدوات مختلط
Aider هو أفضل أداة برمجة محليةغير موصى به لسير العمل هذا
Ollama هو أفضل بيئة تشغيلليس لـ OpenCode على هذا الجهاز
حجم السياق تفصيل بسيطخطأ, OpenCode يتطلب 32k كحد أدنى
LM Studio مجرد واجهة رسوميةخطأ, إنها أفضل بيئة تشغيل لـ OpenCode

مسار الترقية المستقبلية

عند الترقية إلى 32 جيجابايت RAM: قم بتقييم نماذج أكبر وسياقات أوسع.

عند الترقية إلى 64 جيجابايت RAM: أعد تقييم نماذج فئة 32B وسياقات 64k.

على 16 جيجابايت RAM، تجنب تشغيل التطبيقات كثيفة الذاكرة (Docker Desktop، نوافذ متصفح متعددة، فهرسة IDE) في نفس وقت تشغيل نموذج 9B محمل.


الخلاصة

أكبر اكتشاف لم يكن نموذجاً, بل كان تركيبة:

OpenCode + LM Studio قدما تجربة أفضل بشكل جوهري من أي إعداد آخر تم اختباره.

الإعداد الذي يعمل على MacBook Pro M1 بسعة 16 جيجابايت RAM:

  • OpenCode للتفكير والتخطيط والكتابة
  • Continue.dev لدعم IDE والإكمال التلقائي
  • LM Studio كبيئة تشغيل لـ OpenCode
  • سياق 32k لـ OpenCode، 8k لـ Continue.dev
  • qwen3.5:9b كنموذج رئيسي، qwen3.5:2b للمهام السريعة

المبدأ الذي قاد كل قرار: قدرة الوكيل تهم أكثر من درجات المعايير.

العودة للأعلى