الإجابة السريعة (TL;DR)
- الـ Harness (إطار التشغيل) للذكاء الاصطناعي هو بيئة التشغيل والهيكل المحيط بالنموذج. يشمل التعليمات (prompts) والسياق، والوصول إلى الأدوات، والذاكرة والحالة، والتحكم في الحلقة، وضوابط الأمان، والسجلات والتقييمات. هو ما يحوّل نموذجًا خامًا إلى نظام يعمل فعلًا.
- وكيل الذكاء الاصطناعي (AI Agent) هو نظام يقرر فيه النموذج خطوته التالية بنفسه ضمن حلقة. ينظر إلى وضعه، ويختار إجراءً (غالبًا استدعاء أداة)، ويرى النتيجة، ثم يكرر ذلك حتى يتحقق الهدف أو يتم إيقافه.
- تنسيق الذكاء الاصطناعي (AI Orchestration) هو طبقة التنسيق التي تحدد ما الذي يعمل، وبأي ترتيب، ومن يتولى ماذا. يشمل التسلسل، والتوجيه، والعمل المتوازي، وتسليم المهام، وموافقات البشر، ومعالجة الأخطاء، سواء بين وكلاء أو استدعاءات LLM بسيطة.
باختصار: الـ Harness هو البيئة التي يعمل النموذج داخلها، والوكيل هو سلوك (قرارات يتخذها النموذج ضمن حلقة)، والتنسيق هو طريقة تنظيم عدة مكونات معًا.
المقدمة
بصفتي مهندس منتجات (product engineer) أعمل أساسًا مع React وNext.js وLaravel وTypeScript، ومع أدوات LLM بشكل متزايد، ألاحظ باستمرار أن هذه المصطلحات الثلاثة تُستخدم وكأنها تعني الشيء نفسه. هي ليست كذلك. الخلط بينها يقود إلى قرارات معمارية سيئة، وغالبًا ببناء «وكيل» حيث كان خط معالجة (pipeline) بسيط كافيًا.
يشرح هذا المقال كل مصطلح، وكيف تتكامل هذه المفاهيم، وكيف تختار مستوى التعقيد المناسب.
تنبيه أولًا: لم يوحّد المجال هذه المصطلحات بعد. التعريفات أدناه تعكس الاستخدام الأكثر شيوعًا في الواقع، وهي الأكثر فائدة لي عند البناء.
ما هو الـ Harness في الذكاء الاصطناعي؟
الـ Harness هو الطبقة البرمجية التي تحيط بنموذج لغوي وتتحكم في كيفية تشغيله: ما السياق الذي يراه، وما الأدوات التي يستطيع استدعاءها، وما الحالة التي يحتفظ بها، ومتى يتوقف، وما الذي لا يُسمح له به. النموذج يولّد النص، والـ Harness يجعل هذا الناتج مفيدًا وآمنًا.
يتولى الـ Harness المعتاد ما يلي:
- التعليمات والسياق: تعليمات النظام، والمستندات المسترجعة، وسجل المحادثة، وتقليص السياق ليتسع في نافذة النموذج.
- الأدوات: تعريف الدوال التي يستطيع النموذج استدعاءها (بحث، استعلامات قواعد بيانات، تعديل ملفات، واجهات API)، وتنفيذها، وإرجاع نتائجها إليه.
- الذاكرة والحالة: ما يبقى بين الخطوات أو الجلسات (مسودات، ملخصات، حالة المهمة).
- التحكم في الحلقة: الحد الأقصى للتكرارات، ومهل الانتظار، وميزانيات الرموز (tokens) والتكلفة، وشروط التوقف.
- ضوابط الأمان: التحقق من المدخلات والمخرجات، وفحص الصلاحيات، وفرض المخططات (schemas)، والإجراءات المحظورة.
- المراقبة والتقييم: تسجيل كل تعليمة واستدعاء أداة ومخرج، مع اختبارات تتأكد أن النظام ما زال يعمل بشكل صحيح بعد كل تغيير.
مساعد برمجة يقرأ مستودعك، ويشغّل الاختبارات، ويعدّل الملفات هو نموذج ذهني جيد. النموذج اللغوي ليس سوى جزء واحد منه. أما الوصول إلى الملفات، وبيئة تنفيذ الأوامر المعزولة، ونوافذ طلب الإذن، وإدارة السياق، فكلها Harness.
ملاحظة جانبية: يظهر مصطلح «harness» أيضًا في «evaluation harness»، أي إطار لتشغيل اختبارات المقارنة (benchmarks) على نموذج. هذا مرتبط لكنه أضيق. في هذا المقال، يعني الـ Harness بيئة التشغيل الكاملة حول النموذج.
ما هو وكيل الذكاء الاصطناعي (AI Agent)؟
وكيل الذكاء الاصطناعي هو نظام يقرر فيه النموذج اللغوي إجراءه التالي بنفسه ضمن حلقة، سعيًا نحو هدف: ينظر إلى الحالة الحالية، ويختار إجراءً، وينفذه عبر الأدوات، ويرى النتيجة، ويواصل حتى ينتهي أو يتم إيقافه. الكلمة المفتاحية هي يقرر. فمسار التحكم ليس مكتوبًا بالكامل مسبقًا من طرفك.
حلقة الوكيل الأساسية:
goal → [observe state] → [model decides next action] → [execute tool] → [observe result] → repeat or finish
ما يجعل النظام وكيلًا هو من يتحكم في المسار. إذا كان كودك يقول «الخطوة 1: صنّف، الخطوة 2: لخّص، الخطوة 3: احفظ»، فهذا سير عمل (workflow) يستخدم LLM. أما إذا اختار النموذج بين البحث، أو قراءة ملف، أو طرح سؤال توضيحي، أو الإنهاء، بناءً على ما رآه للتو، فهذا وكيل.
لاحظ أن الوكيل يحتاج دائمًا إلى Harness. الحلقة والأدوات وشروط التوقف وضوابط الأمان كلها أجزاء من الـ Harness. إذن «الوكيل» يصف نمط سلوك، والـ Harness هو البنية التحتية التي تجعل هذا السلوك ممكنًا.
ما هو تنسيق الذكاء الاصطناعي (AI Orchestration)؟
تنسيق الذكاء الاصطناعي هو طبقة التنسيق التي تدير كيفية عمل عدة خطوات ونماذج ووكلاء وأدوات وبشر معًا: التسلسل، والتوجيه، وتشغيل المهام بالتوازي، ونقل السياق بين الخطوات، وإدراج موافقات بشرية، والتعافي من الأعطال.
يشمل التنسيق:
- التسلسل: تعمل الخطوة B بعد الخطوة A مستخدمةً مخرجاتها.
- التوجيه: إرسال الطلب إلى النموذج أو التعليمة أو الوكيل المناسب حسب نوعه.
- التوازي: تشغيل مهام مستقلة في الوقت نفسه ودمج النتائج.
- تسليم المهام: نقل مهمة وسياقها من مكوّن إلى آخر.
- الإنسان ضمن الحلقة: التوقف لطلب موافقة قبل الإجراءات الخطرة أو التي لا يمكن التراجع عنها.
- معالجة الأخطاء: إعادة المحاولة، والتحويل إلى نموذج آخر، ومهل الانتظار، وطوابير الرسائل الفاشلة.
نقطة مهمة كثيرًا ما تُغفل: التنسيق لا يحتاج إلى وكلاء. يمكنك تنسيق خمسة استدعاءات LLM بسيطة ومنفردة في خط معالجة ثابت، وهذا يظل تنسيقًا. كما يمكن أن يقوم التنسيق على كود حتمي (طابور، آلة حالات، محرك سير عمل)، أو على نموذج يعمل كـ«مخطِّط» يوزّع المهام على غيره.
كيف يتكامل الـ Harness والوكيل والتنسيق
الـ Harness هو الطبقة الأساسية، والوكلاء طريقة لاستخدامه، والتنسيق يعلوهما لتنظيم عدة وحدات. هي طبقات وليست خيارات متنافسة.
التنسيق
الوكيل A
الوكيل B
استدعاء LLM بسيط
Harness
نموذج (نماذج) اللغة
في المشاريع الصغيرة، قد تعيش الثلاثة في قاعدة كود واحدة وتتداخل الحدود. وهذا لا بأس به. الغرض من هذا التمييز هو مساعدتك على التفكير بوضوح، وليس إجبارك على إنشاء ثلاث خدمات منفصلة.
جدول مقارنة: Harness مقابل وكيل مقابل تنسيق
| الجانب | Harness الذكاء الاصطناعي | وكيل الذكاء الاصطناعي | تنسيق الذكاء الاصطناعي |
|---|---|---|---|
| ما هو | بيئة تشغيل وهيكل حول النموذج | سعي نحو هدف يقوده النموذج ضمن حلقة | طبقة تنسيق بين المكونات |
| السؤال الجوهري | «كيف يعمل النموذج بأمان وفائدة؟» | «ما الذي ينبغي أن أفعله بعد ذلك لبلوغ الهدف؟» | «من يفعل ماذا، وبأي ترتيب، وماذا لو فشل؟» |
| من يتحكم في المسار | كودك (يضع الحدود والقواعد) | النموذج (ضمن حدود الـ Harness) | كودك، أو محرك سير عمل، أو نموذج مخطِّط |
| الأجزاء الرئيسية | التعليمات، السياق، الأدوات، الذاكرة، ضوابط الأمان، السجلات، التقييمات | الهدف، الحلقة، استخدام الأدوات، شرط التوقف | التوجيه، التسلسل، التوازي، تسليم المهام، الموافقات، إعادة المحاولة |
| هل يحتاج الآخرين؟ | لا، فاستدعاء LLM واحد يعمل أيضًا داخل Harness بسيط | نعم، يحتاج دائمًا إلى Harness | يحتاج مكونات ينسّقها؛ ولا يشترط أن تكون وكلاء |
| مثال | واجهة خلفية لدردشة مع RAG واستدعاء أدوات والتحقق من المخرجات | مساعد برمجة يستكشف مستودعًا ويصلح اختبارًا فاشلًا | خط معالجة يصنّف تذاكر الدعم ويوجّهها ويصعّدها |
الوكيل مقابل النظام متعدد الوكلاء مقابل الوكيل المستقل
الوكيل هو حلقة واحدة يقودها نموذج. النظام متعدد الوكلاء هو عدة وكلاء يعملون معًا، وهذا يتطلب تنسيقًا. أما «المستقل» فيصف مقدار ما ينجزه الوكيل دون موافقة بشرية، فهو خاصية تعبر الاثنين، وليس معمارية منفصلة.
| الجانب | وكيل الذكاء الاصطناعي | نظام متعدد الوكلاء | وكيل مستقل |
|---|---|---|---|
| ما الذي يصفه | كيان واحد يشغّل حلقته الخاصة: فكّر – نفّذ – راقب | عدة وكلاء بأدوار أو تعليمات أو أدوات مختلفة، منسَّقون معًا | درجة الاستقلالية: كم يحتاج من موافقة بشرية |
| نوع المفهوم | وحدة معمارية | نمط معماري | خاصية على طيف |
| العلاقة بالتنسيق | قد لا يحتاج إليه | يحتاج إليه (مشرف، تسليم مهام، حالة مشتركة) | يشكّل التنسيق (نقاط موافقة أقل) |
| مثال | وكيل بحث واحد بأدوات بحث وقراءة | وكيل مخطِّط يوزّع المهام على باحث وكاتب، ومراجع يفحص المخرجات | أي من السابقين، يعمل من البداية إلى النهاية دون توقف للموافقة |
بعض الملاحظات الدقيقة:
- تعدد الوكلاء ليس أفضل تلقائيًا. كل وكيل إضافي يضيف عمليات تسليم، وسياقًا أكثر ليُنقل، وتكلفة أعلى، ونقاط فشل أكثر. قسّم إلى عدة وكلاء حين تتطلب الأدوار فعلًا أدوات أو صلاحيات أو سياقًا مختلفًا. لا تقسّم لمجرد أن الشكل يبدو أنيقًا في المخطط.
- الاستقلالية مؤشر قابل للتدرج، وليست فئة. قد يكون وكيل واحد مستقلًا للغاية (يعمل طوال الليل ويفتح طلبات دمج PR)، وقد يكون نظام متعدد الوكلاء خاضعًا لإشراف دقيق (إنسان يوافق على كل عملية تسليم). مستويات مفيدة: يقترح فقط ← يتصرف بموافقة ← يتصرف وحده بإجراءات قابلة للتراجع ← يتصرف وحده بالكامل.
- كلما زادت الاستقلالية، زاد العبء على الـ Harness: ضوابط أمان أشد، وتسجيل أفضل، وتقييمات متينة.
أمثلة عملية
هذه أمثلة عامة لتوضيح المفاهيم. وهي لا تصف أعمالًا محددة لعملاء.
المثال 1: فرز تذاكر الدعم (تنسيق، دون حاجة إلى وكيل)
- يصنّف استدعاء LLM التذكرة (فوترة، خطأ برمجي، طلب ميزة، عاجل).
- يوجّهها الكود إلى طابور بناءً على التصنيف.
- يصيغ استدعاء LLM ثانٍ ردًا مقترحًا باستخدام مقالات مركز المساعدة المسترجعة.
- يراجعه موظف دعم بشري ويرسله.
هذه استدعاءات LLM منسَّقة داخل Harness (مع الاسترجاع والتحقق من مخطط المخرجات والتسجيل). لا يوجد وكيل، لأن المسار معروف مسبقًا. وهذا يجعله أكثر قابلية للتوقع، وأقل تكلفة، وأسهل اختبارًا.
المثال 2: مراجعة كود آلية (وكيل واحد + إنسان ضمن الحلقة)
يمنح الـ Harness النموذج صلاحية قراءة الفروقات (diff) والمستودع، مع أدوات لتشغيل أداة فحص الكود (linter) والاختبارات. يقرر الوكيل أي الملفات يفحص، ويشغّل الاختبارات عند الحاجة، ويكتب تعليقات المراجعة. ويضيف التنسيق قاعدة واحدة: تُنشر التعليقات كاقتراحات، ويوافق مطوّر على أي تغيير مقترح قبل تطبيقه.
الوكيل مناسب هنا لأن الملفات المهمة تعتمد على ما يكتشفه النموذج أثناء العمل.
المثال 3: خط محتوى/بحث (متعدد الوكلاء، منسَّق)
يقسّم مخطِّط موضوعًا إلى أسئلة. يعمل وكلاء البحث بالتوازي، كلٌّ يبحث ويلخّص مصادر. تصوغ خطوة الكتابة المسودة، وتفحص خطوة المراجعة الادعاءات مقابل المصادر المجمَّعة، ويعتمد محرر بشري النص قبل نشر أي شيء.
هنا يكون التنسيق في أهم حالاته: عمل متوازٍ، وتسليم مهام، وإعادة محاولة عند فشل مصدر، ونقطة تحقق بشرية أخيرة.
متى يكون الوكيل مبالغة؟
الوكيل مبالغة حين تستطيع كتابة الخطوات مسبقًا. إذا كانت المهمة تتبع مسارًا متوقعًا، فسير عمل ثابت من استدعاءات LLM يكون عادةً أرخص وأسرع وأسهل في التصحيح والتقييم من وكيل.
استخدم خط معالجة/سير عمل بسيطًا عندما:
- تكون الخطوات معروفة وثابتة (استخراج ← تصنيف ← تنسيق).
- تحتاج إلى مخرجات متسقة وقابلة للتدقيق.
- تكون زمن الاستجابة والتكلفة أهم من المرونة.
استخدم وكيلًا عندما:
- يعتمد عدد الخطوات وترتيبها على ما يُكتشف أثناء العمل.
- تتضمن المهمة الاستكشاف (قواعد كود، مستندات، الويب المفتوح).
- لا يستطيع شخص معقول رسم المخطط الانسيابي الكامل مسبقًا.
قاعدتي العملية: ابدأ بأبسط نسخة تعمل، ولا تضف حلقات الوكلاء إلا حيث يستمر المسار الثابت في الفشل. هذا هو المبدأ نفسه الذي أطبقه على أي قرار معماري، كما في مقارنتي بين Laravel + Inertia.js مقابل Next.js: اختر الخيار الأقل تعقيدًا الذي يناسب المتطلبات الحقيقية.
الأسئلة الشائعة
هل الـ Harness هو نفسه إطار عمل الوكلاء (agent framework)؟
ليس تمامًا. إطار عمل الوكلاء مكتبة تساعدك على بناء Harness وحلقات وكلاء. أما الـ Harness فهو بيئة التشغيل الفعلية التي يستخدمها نظامك، سواء بنيتها بإطار عمل أو بكودك الخاص.
هل يمكن وجود تنسيق دون وكلاء ذكاء اصطناعي؟
نعم. يمكن للتنسيق أن ينسّق استدعاءات LLM بسيطة ومنفردة وكودًا حتميًا وخطوات بشرية. كثير من ميزات الذكاء الاصطناعي في الإنتاج هي أنظمة سير عمل منسَّقة بلا أي وكيل.
هل يحتاج كل وكيل ذكاء اصطناعي إلى Harness؟
نعم. يحتاج الوكيل إلى ما يشغّل حلقته، وينفذ استدعاءات الأدوات، ويدير السياق، ويفرض الحدود، ويسجّل ما حدث. هذا الشيء هو الـ Harness، حتى لو لم يتجاوز بضع مئات من أسطر الكود.
هل النظام متعدد الوكلاء هو نفسه تنسيق الذكاء الاصطناعي؟
لا. النظام متعدد الوكلاء هو مجموعة وكلاء منسَّقين. أما التنسيق فهو عملية التنسيق نفسها. الأنظمة متعددة الوكلاء تحتاج إلى تنسيق، لكن التنسيق لا يحتاج إلى وكلاء متعددين.
ما الذي يجعل الوكيل «مستقلًا»؟
مقدار ما يستطيع إنجازه دون موافقة بشرية. الاستقلالية طيف يمتد من الاقتراح فقط إلى التصرف الكامل بذاته، ويمكن أن تنطبق على وكيل واحد أو على نظام متعدد الوكلاء بأكمله.
الخاتمة: اختيار مستوى التعقيد المناسب
الـ Harness هو الأساس الذي يحتاجه كل نظام LLM. والوكلاء نمط تترك فيه للنموذج اختيار مساره بنفسه. أما التنسيق فهو كيفية تنظيم عدة أجزاء معًا، بوجود وكلاء أو بدونهم. التعامل مع هذه الأمور كقرارات منفصلة يسهّل بناء أنظمة بسيطة قدر الإمكان ومعقدة بقدر الحاجة فقط.
قائمة تحقق قبل أن تبني:
- هل يكفي استدعاء LLM واحد؟ استخدم استدعاءً واحدًا داخل Harness بسيط (تعليمة، تحقق، تسجيل).
- هل الخطوات معروفة مسبقًا؟ استخدم سير عمل منسَّقًا من استدعاءات LLM. دون وكيل.
- هل يعتمد المسار على ما يُكتشف؟ استخدم وكيلًا واحدًا بمجموعة أدوات محددة جيدًا وحدود للحلقة.
- هل تحتاج المهام الفرعية إلى أدوات أو صلاحيات أو سياقات مختلفة؟ فكّر في نظام متعدد الوكلاء، مع تنسيق وتسليم مهام صريحين.
- ما مقدار الاستقلالية المقبول؟ حدّد أين يوافق البشر، خصوصًا في الإجراءات التي لا رجعة فيها.
- هل تستطيع مراقبته وتقييمه؟ إن لم تستطع تسجيله واختباره، فلست مستعدًا لمنحه مزيدًا من الاستقلالية.
هل تحتاج إلى مساعدة في إضافة ميزات الذكاء الاصطناعي إلى منتج ويب، أو في تحديد ما إذا كنت تحتاج فعلًا إلى وكيل؟ في Dywan Dev أبني تطبيقات ويب متكاملة (fullstack) بأبسط معمارية تناسب المشكلة. لنتحدث.
