Table of Contents

وكيل برمجة محلي على وحدة معالجة رسومية بسعة 16GB خيار عملي لمهام التطوير المحددة. يجمع Strata وOpenCode بين الاستدلال المحلي وتحرير الملفات وأوامر الصدفة وتنفيذ الاختبارات. أتم تشغيل معلن لـ Qwen3.8-Flash-Next على RTX 4060 Ti تطبيقًا وتغييرات لاحقة ونموذجًا أوليًا للعبة سباق دون استدعاءات استدلال مدفوعة.

استبدال الاشتراك يحتاج إلى اختبار أوسع. تعرض النتائج المنشورة إعدادًا عاملًا على جهاز واحد. لا تثبت النتائج التكافؤ مع خدمات البرمجة المدفوعة عبر اللغات والمستودعات أو مهام تصحيح الأخطاء الصعبة. يضم العتاد أيضًا 64GB من ذاكرة النظام، وتحمل هذه الذاكرة جزءًا كبيرًا من النموذج.

أهم النقاط

  • 16GB تصف ذاكرة GPU، وليست إجمالي الذاكرة المطلوبة للإعداد المعلن.
  • إعادة استخدام المطالبة مهمة لأن وكلاء البرمجة يرسلون سجل محادثة متداخلًا مرارًا.
  • الاستدلال يحتاج إلى ميزانية كي يترك التخطيط مساحة للشيفرة واستدعاءات الأدوات.
  • نجاح الاختبارات المولدة دليل جزئي، بينما يحتاج Docker واللعب إلى فحوص منفصلة.
  • انعدام إنفاق API لا يلغي تكاليف الملكية والكهرباء ووقت الصيانة.

المتطلبات السابقة: حاسوب متوافق، ومساحة تخزين حرة كافية للنموذج المختار، وGit، وNode.js مع npm، ومعرفة بأدوات الطرفية. طابق إعداد IQ3_S المعلن مع 64GB من RAM. استخدم مُثبّت Strata الحالي لفحص الإعدادات الأخرى.

الوقت والصعوبة: متوسط. خصص وقتًا لتنزيل النماذج الكبيرة وتثبيتها قبل تقييم سرعة إكمال المهمة. تستثني أزمنة المهام المعلنة الإعداد.

الإعداد المختبر

المكوّنالإعداد المعلن
GPUNVIDIA RTX 4060 Ti، وذاكرة VRAM بسعة 16GB
CPUIntel Core i5-11600K
ذاكرة النظام64GB RAM
التخزينNVMe SSD
النموذجQwen3.8-Flash-Next، ‏125B MoE، ‏IQ3_S
محرك الاستدلالStrata
وكيل البرمجةOpenCode
السياق المكوّن65,536 رمزًا
حد الإخراج المكوّن16,384 رمزًا

توفر إعدادات ونتائج NetworkCoder المنشورة هذه الأرقام. يذكر مستودع الاختبار تحميل 46.84GiB من أوزان الخبراء خلال 28 ثانية، مع شَغل 4,431 خبيرًا مساحة 8.45GiB من ذاكرة GPU. تصف هذه القياسات التشغيل المختبر، ولا تضمن تخصيصًا مماثلًا في إصدار آخر من المحرك.

التوافق الحالي أوسع من هذا الاختبار. وفق الفحص في 6 أكتوبر 2026، يوثق مشروع Strata بطاقات NVIDIA وAMD محددة بذاكرة VRAM لا تقل عن 12GB، مع خيارات نماذج أصغر لأنظمة RAM بسعة 32GB. لا تعيد هذه الخيارات إنتاج تجربة GPU بسعة 16GB وRAM بسعة 64GB وIQ3_S. افحص وحدة GPU الدقيقة ومتغير النموذج ودعم وقت التشغيل قبل شراء العتاد.

أين يوجد النموذج

مزيج الخبراء، أو MoE، يفعّل مجموعة فرعية من شبكات خبراء النموذج لكل رمز. يقلل هذا الحساب النشط مقارنة باستخدام كل معامل في كل خطوة. تحتاج الأوزان المتبقية إلى تخزين ومسار إلى الحساب.

التنفيذ الهجين في Strata يبقي الخبراء المستخدمين كثيرًا على GPU، مع الاحتفاظ بمجموعة الخبراء في RAM النظام. تحسب CPU الخبراء غير المخزنين مؤقتًا في مكانهم، بينما تعالج GPU الخبراء المخزنين مؤقتًا. يدعم التخزين أيضًا ملفات النموذج وبيانات البحث. لا يحشر النظام النموذج الكامل بحجم 125B داخل 16GB من VRAM.

لذاكرة GPU استخدامات متنافسة. تتشارك تخصيصات وقت التشغيل وحالة الانتباه وذاكرة الخبراء المؤقتة موردًا محدودًا. يغيّر توفير مساحة أكبر للسياق سعة ذاكرة الخبراء المتبقية. تدعم إصدارات Strata الحالية أيضًا بث ذاكرة KV المؤقتة، لذلك يختلف التوزيع الدقيق عن إعداد أقدم. راجع التوثيق التقني لإصدار محركك.

رسم يوضح محطة عمل محلية توزع تنفيذ النموذج بين بطاقة رسومية وذاكرة النظام والتخزين الصلب

GPU جزء واحد من نظام الاستدلال، إلى جانب تنفيذ CPU وذاكرة النظام والتخزين

إعادة استخدام المطالبة تغيّر السرعة

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

المعالجة المسبقة تعالج رموز الإدخال قبل التوليد. فك الترميز ينتج الاستجابة. يتركك نظام ذو فك ترميز سريع ومعالجة مسبقة متكررة بطيئة منتظرًا بين استدعاءات الأدوات.

استخدم توقيت 44K رمزًا المعلن إعادة استخدام البادئة. أعاد Strata استخدام محتوى المحادثة المعالج سابقًا، مع تجهيز المطالبة المتنامية خلال نحو ثانية إلى ثلاث ثوانٍ. هذا دليل مفيد لجلسة وكيل مستمرة. لا يثبت معالجة 44,000 رمز جديد بالكامل من الصفر خلال ثانية واحدة.

القياسما يجب تسجيله
المطالبة الباردةزمن المحتوى الجديد دون حالة بادئة قابلة لإعادة الاستخدام
المتابعة الدافئةالزمن بعد إلحاق نتيجة أداة بسياق موجود
سرعة التوليدالرموز في الثانية أثناء الاستجابة
مدة المهمةالتخطيط والتوليد والأدوات والاختبارات وإعادات المحاولة معًا

تخدم ذاكرتان مؤقتتان غرضين مختلفين. تبقي ذاكرة الخبراء الأوزان المستخدمة كثيرًا قريبة من حساب GPU. تتجنب إعادة استخدام البادئة تكرار العمل على الإدخال السابق. لا يثبت معدل إصابة مرتفع لذاكرة الخبراء المؤقتة إصابة ذاكرة المطالبة المؤقتة.

ما أثبتته المهام

المهمةالزمن المعلنالنتيجة المعلنة
بناء مدير مهام3m 38sExpress API، واجهة، 5/5 اختبارات
إصلاح التحرير وإضافة التواريخ4m 58sاكتملت التغييرات، 6/6 اختبارات
إضافة التصدير والاستيراد والتغليف3m 48s7/7 اختبارات، بناء Docker غير متحقق
لعبة سباق، المحاولة الأولى6m 35sنفد الإخراج أثناء الاستدلال، بلا شيفرة
لعبة سباق، إعادة محاولة بميزانية4m 51sولّدت اللعبة، وفُحص بناء جملة JavaScript

يسجل ملف النتائج المنشور سرعات إخراج قدرها 48–52 رمزًا في الثانية للمهمة الأولى، و40–43 للثانية، و37–44 للثالثة. «حتى 52» ذروة ضمن هذه الملاحظات، وليست معدلًا مستمرًا لكل مهمة.

تمد المهام الثلاث الأولى تطبيقًا واحدًا. تصف أعداد 5/5 و6/6 و7/7 مجموعات اختبارات متتابعة. جمعها لا يثبت 18 قدرة مستقلة. تحتاج الاختبارات التي كتبها الوكيل نفسه إلى مراجعة للتغطية وصحة التأكيدات.

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

ظل Docker دون تحقق. كتب الوكيل Dockerfile لكنه افتقر إلى محرك Docker عامل للبناء. لا يثبت نجاح اختبارات التطبيق خارج الحاوية وجود صورة عاملة. فحصت إعادة محاولة اللعبة بناء الجملة وفتحت متصفحًا أيضًا، بينما افتقر الوكيل إلى تأكيد بصري مباشر للعب.

اترك مساحة للإخراج

{
  "reasoning_budget_tokens": 8000
}

ادمج هذا الإعداد في تكوين strata-iq3_s.json الموجود مع الحفاظ على حقوله الأخرى، ثم أعد تشغيل نموذج Strata المختار. هذا إعداد Strata وليس ملف تكوين OpenCode بديلًا. تحقق من الميزانية النشطة في مخرجات بدء التشغيل.

يوثق Strata ميزانية استدلال صلبة تنهي مرحلة التفكير وتنتقل نحو الإجابة. تتجاوز قيمة على مستوى الطلب الإعداد الافتراضي المكوّن. يختلف هذا الإعداد عن توجيه عام لمستوى الاستدلال مثل منخفض أو مرتفع.

استنفدت محاولة اللعبة الأولى مخصصها البالغ 16,384 رمزًا أثناء التخطيط. طبقت إعادة المحاولة ميزانية تفكير قدرها 8,000 رمز وقدمت شيفرة. يدعم هذا استخدام مرحلة استدلال محددة لهذه المهمة. لا يثبت أن 8,000 إعداد أفضل لكل مهمة.

بدل الإخراج المتبقي حد أقصى، وليس ضمان حجز. إذا استُهلك سقف 8,000 رمز كاملًا ضمن حد إجمالي قدره 16,384، فستبقى نحو 8,384 رمزًا قبل النفقات الأخرى. يسجل سجل النتائج 11,054 رمزًا مكتوبًا في إعادة المحاولة دون تفصيل كامل بين رموز الاستدلال والشيفرة. لا تفسر هذا على أنه 8,000 رمز استدلال إضافة إلى 11,054 رمز شيفرة ضمن الحد نفسه.

استخدم ميزانية أصغر للتعديلات الضيقة، ثم اختبر ميزانيات أكبر للمهام التي تحتاج إلى تحليل أكثر. افحص إخراج الملف الكامل وحالة الإنهاء ونتائج الاختبار. يفيد وقت التخطيط فقط حين يحسن التغيير المسلّم.

ربط Strata وOpenCode

git clone https://github.com/Niko1221/Strata.git
cd Strata
./setup.sh

هذا هو مدخل الإعداد في Linux. راجع تعليمات التثبيت الحالية واستخدم START-HERE.bat لمسار Windows الموثق. اختر نسخة Qwen3.8-Flash-Next IQ3_S الأصلية وسياقًا من 65,536 رمزًا لتقريب الإعداد المعلن. احفظ إصدار المحرك وملفات النموذج المختارة مع ملاحظات الاختبار.

npm install -g opencode-ai

ثبّت OpenCode باستخدام التعليمات الرسمية . في طرفية منفصلة، عرّف STRATA_BASE_URL على أنه أساس API المحلي الذي يطبعه Strata، مع لاحقة /v1. أبق الاستدلال مرتبطًا بالجهاز المحلي لهذا الإعداد.

{
  "provider": {
    "strata": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Strata local",
      "options": {
        "baseURL": "{env:STRATA_BASE_URL}",
        "apiKey": "local"
      },
      "models": {
        "qwen3.8-flash-next-iq3_s": {
          "name": "Qwen3.8-Flash-Next IQ3_S",
          "limit": { "context": 65536, "output": 16384 }
        }
      }
    }
  },
  "model": "strata/qwen3.8-flash-next-iq3_s"
}

ادمج كتلة المزوّد في ~/.config/opencode/opencode.json مع الحفاظ على الإعدادات الموجودة. يكيّف هذا مثال التكوين المنشور بتحميل نقطة النهاية المحلية من متغير بيئة. يوثق OpenCode المزوّدين المخصصين و استبدال البيئة .

local بيانات اعتماد بديلة تطابق الإعداد المحلي غير المصادق عليه في المثال. لا تؤمّن خادمًا. إذا فعّل مثيل Strata لديك المصادقة، فمرر بيانات الاعتماد المكوّنة عبر آلية الأسرار المحلية المناسبة.

ابدأ opencode في نسخة مشروع مؤقتة واختر النموذج المكوّن. تحقق من المزوّد المختار قبل إرسال الشيفرة. لا يزيد إعلان السياق من جهة العميل السياق المكوّن على الخادم، ولا تترك نافذة من 65,536 رمزًا 65,536 رمزًا للإدخال حين تحتاج أيضًا إلى مساحة للإخراج.

الاستدلال المحلي والأذونات

{
  "permission": {
    "edit": "ask",
    "bash": "ask"
  }
}

ادمج هذه الأذونات الأولية في تكوين OpenCode أثناء تقييم الوكيل. يشرح توثيق الأذونات عناصر التحكم المتاحة. تؤثر تغييرات الملفات وتنفيذ الصدفة في جهازك بغض النظر عن مكان تشغيل الاستدلال.

الاستدلال المحلي لا يجعل كل أداة محلية. تتضمن تنزيلات الحزم وأدوات الويب والتكاملات الخارجية والمشاركة الاختيارية خدمات شبكة. راجع الأدوات المفعلة قبل التعامل مع مستودعات خاصة. «يعمل النموذج محليًا» ادعاء أضيق من «لا يغادر شيء الحاسوب».

استكشاف مشكلة التشغيل الأولى

العَرَضافحص أولًا
المزوّد غير متاحيعمل Strata ويصل متغير البيئة إلى عملية OpenCode
النموذج مفقود من الاختياريطابق معرّف المزوّد ومعرّف النموذج التكوين المحفوظ
خطأ حد السياقطول المطالبة مع الإخراج المطلوب يقع ضمن النافذة النشطة للخادم
التخطيط دون شيفرةميزانية الاستدلال وحد الإخراج الإجمالي وحالة الإنهاء
متابعة بطيئةإعادة استخدام البادئة وضغط الذاكرة وسلوك ذاكرة الخبراء المؤقتة والعمليات المتنافسة
فشل أمر Dockerيتوفر محرك عامل، وليس عميله لسطر الأوامر فقط

غيّر إعدادًا واحدًا في كل مرة وكرر المهمة نفسها من حالة بدء محفوظة. يفصل هذا تحسين التكوين عن مطالبة مختلفة أو اختبار أسهل.

هل يستبدل اشتراكًا؟

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

انعدام إنفاق API ذو معنى، خصوصًا حين يكون العتاد متاحًا أصلًا. يستثني الكهرباء واستهلاك قيمة العتاد والتخزين والوقت المبذول في صيانة البيئة. لا يقيس حقل التكلفة الصفرية المعروض هذه المصروفات أيضًا.

مقارنة الاشتراك تحتاج إلى مهام متطابقة. شغّل المستودع الأولي والتعليمات وفحوص القبول نفسها عبر النظامين. سجّل إعادات المحاولة والتصحيحات البشرية مع الزمن المنقضي. أدرج محاولة اللعبة الأولى الفاشلة عند تقييم سير العمل الكامل بدل الإبلاغ عن إعادة المحاولة الناجحة فقط.

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

العرض والخطوات التالية

مشاهدة إضافية: عرض وكيل البرمجة المحلي 125B . تنتمي القياسات المعلنة أعلاه إلى الاختبار المنشور، وليست معيارًا مستقلًا أُجري لهذا المقال.

  1. أعد تنفيذ مهمة صغيرة بمعايير قبول ثابتة ومراجعة بدء محفوظة.
  2. قس أدوارًا باردة ودافئة بدل اعتبار إعادة استخدام البادئة سرعة معالجة مسبقة باردة.
  3. تحقق من التغليف منفصلًا ببناء صورة ناجح وبدء التشغيل وفحوص على مستوى الحاوية.
  4. افحص الاختبارات المولدة وأضف حالات لم يتوقعها التنفيذ.
  5. قارن العمل المكتمل بأداة البرمجة الحالية قبل تغيير الاشتراكات.

لتخطيط العتاد، اقرأ دليل نموذج الذكاء الاصطناعي المحلي وسياق GPU . ولسلوك النماذج المستضافة، راجع توجيه المزوّدين وتكاليف OpenRouter .