يحتاج سير عمل الذكاء الاصطناعي إلى موارد لأدواته الفعلية وتزامنه، وإلى صلاحيات تظل قابلة للتنفيذ خارج الموديل. الاستدلال البعيد والاستدلال المحلي يؤديان إلى قرارات مختلفة بشأن CPU والذاكرة والتخزين وGPU.
سمّ المهمة قبل اختيار الجهاز
يجمع عامل الذكاء الاصطناعي بين موديل وبرمجيات تستقبل المهام وتجمع السياق وتستدعي الأدوات. مصنّف مستندات مجدول ومساعد بحث داخلي وسير عمل يقوده المتصفح لها احتياجات تشغيلية مختلفة. اكتب المدخل والمخرج المتوقع والأنظمة التي قد يتصل بها والنقطة التي يوافق فيها شخص على إجراء ذي أثر. هذا المواصفة الصغيرة تخبرك عن المضيف أكثر مما تخبرك تسمية agent.
ابدأ بمهمة واحدة قابلة للتكرار وحساب ضيق. العامل الذي يصيغ ردًا يحتاج صلاحية أقل من الذي يرسله. أبقِ هذه المراحل منفصلة في التطبيق. يجب أن يدعم السيرفر سير العمل المعتمد دون تحويل كل تعليمة مولّدة إلى عملية قابلة للتنفيذ. الإكمال يعني نتيجة موثّقة أو حالة فشل واضحة، لا حلقة تعمل بلا نهاية.
افصل الموديل البعيد عن الموديل المحلي
عندما يعمل الموديل خلف API خارجي، يستضيف VPS أساسًا الطابور والتطبيق والأدوات والحالة الدائمة. يأتي طلب الذاكرة من تلك العمليات، بما في ذلك أي متصفحات أو محللات مستندات. وجود GPU على هذا الجهاز لا يسرّع موديلًا يعمل في مكان آخر. سجّل المحتوى الذي يعبر حدود API وقيّم ذلك المزوّد بشكل مستقل عن موقع العامل.
يضيف الاستدلال المحلي تخزين الموديل وذاكرة الموديل وتوافق وقت التشغيل إلى الميزانية. أدوات الاستدلال مثل Ollama تكشف معلومات عن وضع CPU أو GPU والطلبات المتزامنة. اختبر الموديل المختار وطول السياق والتزامن معًا. قد يرفع سياق أكبر أو مهام متزامنة أكثر طلب الذاكرة؛ وحجم ملف الموديل وحده طريقة تقدير غير مكتملة. تحقق من العتاد المدعوم في وقت التشغيل قبل اختيار إعداد GPU.
| نمط العامل | سؤال المورد الرئيسي | الحد الذي يجب مراجعته |
|---|---|---|
| API الموديل البعيد | ذاكرة التطبيق والأدوات | المحتوى المرسل إلى مزوّد الموديل |
| الموديل المحلي | الموديل والسياق وذاكرة العمل | توافق وقت التشغيل والجهاز |
| سير عمل المتصفح | عمليات المتصفح في الذروة والملفات المؤقتة | محتوى الويب والإجراءات المسموح بها |
قِس طابورًا تمثيليًا
جهّز مجموعة صغيرة من المهام بمدخلات عادية ومدخلات كبيرة بشكل غير معتاد. قِس ذاكرة الذروة وزمن المعالجة والتخزين المؤقت وعدد الاستدعاءات الخارجية. أدرج حالات الفشل: API غير متاح ومستند مشوّه ومهلة أداة. هذه القياسات تمرين تخطيط لبرمجياتك، وليست معيارًا أو وعدًا بالأداء لخطة SwissOctet.
حدد حدًا أقصى لعدد المهام النشطة وحدًا أقصى لزمن التنفيذ. ضع في الطابور العمل الذي لا يمكن أن يبدأ بأمان وارفض الحمل الزائد بطريقة متوقعة. إعادة محاولة كل فشل فورًا قد تضاعف ضغط السيرفر وإنفاق API. استخدم سياسة إعادة محاولة محدودة ومعرّفًا يمنع تطبيق الإجراء المكتمل نفسه مرتين. احتفظ بسعة لنظام التشغيل والمراقبة والصيانة أثناء نشاط المهام.
امنح الأدوات صلاحية أقل من طموح العامل
قد تحتوي المستندات وصفحات الويب المقدمة إلى موديل على تعليمات تهدف إلى توجيهه. تعامل مع المحتوى المسترجع كمدخل، لا كمصدر لصلاحية تشغيلية. توصي إرشادات OWASP بشأن حقن الأوامر بعدة طبقات من الضبط، بما في ذلك أدوات مقيّدة وفحوص حول الإجراءات الحساسة. ضع الصلاحيات في تنفيذ الأداة وبيئة التشغيل، حيث لا يستطيع الموديل إعادة كتابتها عبر رد.
استخدم بيانات اعتماد منفصلة لمهام منفصلة، مع وصول فقط إلى السجلات أو المجلدات التي تحتاجها كل مهمة. فضّل معاملات منظمة على أوامر shell المولّدة من الموديل. تحقق من وجهات الملفات والأهداف الصادرة. اشترط حد موافقة متعمدًا لإرسال الرسائل أو نشر التغييرات أو تعديل السجلات المهمة. يجب ألا يرث عامل بحث للقراءة فقط ومسؤول إنتاج بيانات الاعتماد نفسها لمجرد أنهما يعملان على مضيف واحد.
اجعل ضوابط الموارد والاستعادة واضحة
يمكن للحاويات تنظيم التبعيات وحدود العمليات، لكنها تحتاج إعدادًا متعمدًا. توثّق Docker أن الحاويات لا تحتوي على حدود موارد افتراضيًا. حدد حدودًا مناسبة للذاكرة وCPU، واستخدم عملية غير مميزة حيث يكون ذلك مدعومًا، واربط فقط البيانات المطلوبة. أبقِ نقاط نهاية الموديل وواجهات الإدارة مقيّدة بدلًا من كشفها ببساطة لتسهيل الاختبار الأولي.
احفظ حالة المهمة بشكل دائم منفصلة عن ملفات العمل المؤقتة. سجّل معلومات كافية للتعرف على العمل المكتمل بعد إعادة التشغيل دون تخزين كل أمر إلى الأبد. احمِ بيانات الاعتماد من السجلات والمخرجات المولّدة. حدد مدة الاحتفاظ بالمدخلات والمخرجات وبيانات التشخيص. يجب أن يعيد اختبار الاستعادة تشغيل العامل ويتحقق من أن المهام غير المنتهية تستأنف بأمان، والمهام المكتملة تبقى مكتملة، والفشل يبقى ظاهرًا للمشغّل.
اجعل أول نشر اختبار قبول
شغّل سير العمل الضيق ببيانات اصطناعية أو عينات معتمدة قبل منح وصول أوسع. تحقق من المخرجات المفيدة والصلاحيات وسلوك الطابور والاستعادة من تبعية فاشلة. راقب العملية كاملة، بما في ذلك عمليات المتصفح الفرعية وتنزيلات البيانات. إذا كان الموديل محليًا، أدرج بدءًا باردًا والعدد المقصود من الطلبات المتزامنة في الاختبار.
استخدم Vector أو Pulse كقائمة مواصفات مختصرة للعمال العاديين، وقارن Tensor فقط عندما يحتاج وقت تشغيل الاستدلال إلى موارد GPU مناسبة. أكد التوافق والتوافر قبل طلب حقيقي. وسّع صلاحيات العامل فقط بعد أن يصبح سلوكه قابلًا للمراجعة. الهدف خدمة بنطاق تشغيلي واضح وميزانية موارد قابلة للقياس وطريقة مباشرة لإيقاف العمل واستعادته.
قائمتك العملية.
- صِف مهمة واحدة وحد الموافقة الخاص بها.
- افصل معالجة API البعيدة عن الاستدلال المحلي.
- قِس الأدوات والمتصفحات والتزامن في الذروة.
- طبّق حدود الزمن والموارد والصلاحيات.
- اختبر إعادات التشغيل دون تكرار الإجراءات المكتملة.
التفاصيل اللي تفرق.
هل يحتاج كل عامل ذكاء اصطناعي إلى GPU؟+
لا. العامل الذي يستدعي API موديل بعيد يحتاج عادة إلى موارد للتنسيق والأدوات. الاستدلال المحلي له متطلبات عتاد ووقت تشغيل منفصلة.
هل تجعل الحاوية سير عمل مستقلًا آمنًا؟+
لا. اضبط صلاحياتها ووصلاتها ووصولها للشبكة وحدود مواردها، وتحقق من إجراءات الأدوات ذات الأثر خارج الموديل.
هل استضافة العامل في سويسرا تبقي كل أمر هناك؟+
لا. قد تعالج واجهات الموديل البعيدة والتكاملات الأخرى المحتوى في مكان آخر. ارسم تلك التبعيات بوضوح.
اذهب إلى المصدر.
تدعم هذه المراجع المفاهيم التقنية في هذا الدليل. اتبع الوثائق الحالية قبل تغيير نظام إنتاجي.
- Docker: قيود الموارد docs.docker.com
- OWASP: منع حقن الأوامر في LLM cheatsheetseries.owasp.org
- Ollama: الأسئلة الشائعة حول وقت التشغيل والتزامن docs.ollama.com
إرشاد تحريري من SwissOctet. الأمثلة توضيحية. يجب التحقق من مواصفات الخدمة والخيارات المتاحة والشروط التعاقدية بشكل منفصل.