يفتح تشغيل عدة وكلاء في Antigravity الباب أمام سير عمل متوازٍ وسريع في الذكاء الاصطناعي، لكن التنسيق وعزل المهام وضبط التوقيت تتطلب تخطيطًا دقيقًا. يشرح هذا المقال الأنماط الحقيقية التي تعمل، والأخطاء الشائعة التي تضيّع ساعات، وكيفية إقران الوكلاء المتزامنين بأدوات توليد الصور والنصوص بالذكاء الاصطناعي للحصول على مخرجات أغنى وأكثر أتمتة.
يبدو تشغيل عدة وكلاء في Antigravity أمرًا بسيطًا، إلى أن يتعطل الوكيل الثالث بصمت، فتقضي أربعين دقيقة تتساءل عن سبب خروج النتيجة ناقصة. التنفيذ المتوازي من أقوى ميزات Antigravity، لكنه يتطلب نموذجًا ذهنيًا محددًا. يتناول هذا المقال ما يعمل فعليًا في بيئات الإنتاج، وكيف تبني الفرق الحقيقية خطوط معالجة وكلائها، وأين يجب تجنب الفخاخ التي تبدو بريئة للوهلة الأولى.
ما الذي تفعله Antigravity بشكل مختلف
تُنفّذ معظم أطر عمل الوكلاء المهام بالتسلسل افتراضيًا. تحدد مهمة، فيلتقطها وكيل وينهيها، ولا تبدأ المهمة التالية إلا بعد ذلك. أما Antigravity فتعكس هذا المنطق. فمجدوِل المهام الأساسي مبني على حلقة أحداث متزامنة تعامل مهام الوكلاء كعناصر من الدرجة الأولى، وليس كإضافات تُلحق بمجموعة خيوط.
الحلقة التي تشغّل كل شيء
تشغّل Antigravity في جوهرها حلقة تفاعلية. عندما تسجّل وكيلًا، فأنت لا تُشغّل عملية جديدة، بل تسجّل كوروتين (coroutine) يديره المجدوِل. وهذا يعني أن زمن الاستجابة يتراكم بطريقة مختلفة عما هو عليه في الأنظمة المعتمدة على الخيوط. فعشرة وكلاء يعملون بالتزامن في Antigravity سيتفوقون عادةً على عشرة استدعاءات متسلسلة، لأن زمن انتظار الإدخال والإخراج، وهو الزمن الذي تقضي فيه معظم استدعاءات النماذج اللغوية الكبيرة (LLM) 80% من وقتها، يُشارَك عبر المجموعة.
الفكرة الجوهرية هنا: التزامن لا يعني غياب الضبط. توفر Antigravity اللبنات الأساسية، لكن منطق التنسيق يبقى من مسؤوليتك بالكامل.
لماذا تهم حدود الوكيل الواحد
قبل إضافة مزيد من الوكلاء، من المفيد أن تعرف سبب وجود الإعداد الافتراضي للوكيل الواحد. الوكيل الواحد قابل للتنبؤ، فهو يقرأ السياق ويتصرف بناءً عليه ويعيد نتيجة. ما إن تُدخل وكيلًا ثانيًا يقرأ السياق نفسه، حتى تصبح احتمالية اختلاف المخرجات قائمة. Antigravity لا توفّق بين هذه المخرجات تلقائيًا، فهذه مهمتك أنت.
💡 ابدأ بوكيل واحد، وراقب أين يقضي وقت انتظاره، ثم قرر بعد ذلك أي فترات الانتظار تستحق التوازي.
إعداد عدة وكلاء
يتطلب إعداد عدة وكلاء في Antigravity ثلاثة قرارات مسبقة: كيف يتم إنشاء الوكلاء، وهل يشاركون الحالة، وكيف يعيدون نتائجهم إلى المنسّق.
إنشاء الوكلاء بالتوازي
أبسط طريقة هي الإنشاء الصريح على مستوى تعريف المهمة. فبدلًا من استدعاء الوكلاء بالتسلسل، تعرّف مجموعة من المهام وتترك للمجدوِل إرسالها في الوقت نفسه.
التفصيلة الحاسمة: asyncio.gather في Antigravity يحترم حجم مجموعة الوكلاء. فإذا ضبطت max_concurrent=3 وأرسلت 10 مهام، فإن الثلاث الأولى تنطلق فورًا، وتنتظر السبع المتبقية في الطابور. وهذا تحكم مقصود في المعدل، وليس خللًا.
الحالة المشتركة مقابل المهام المعزولة
هذا هو القرار الذي يُفسد معظم إعدادات الوكلاء المتعددين. هناك ثلاثة أنماط صالحة:
النمط
متى يُستخدم
المخاطرة
معزول
كل وكيل يحتاج إلى بيانات مختلفة
منخفضة: لا تعارضات
قراءة مشتركة
الوكلاء يحتاجون السياق الأساسي نفسه
متوسطة: تضخم الذاكرة
كتابة مشتركة
الوكلاء يحدّثون كائنًا مشتركًا
عالية: حالات التسابق
المهام المعزولة هي الخيار الافتراضي الصحيح في معظم الأحوال. فإذا احتاج وكيلان إلى القطعة نفسها من البيانات، مرّر نسخة إلى كل منهما. تكلفة الذاكرة مبرّرة لأنها تضمن القابلية للتنبؤ.
ينبغي التعامل مع الحالة المشتركة للكتابة كملجأ أخير، لا كوسيلة مريحة. وإذا كنت بحاجة إليها فعلًا، فاستخدم StateManager المدمج في Antigravity مع قفل صريح، بدلًا من قاموس Python عادي.
تمرير السياق بين الوكلاء
عندما يغذّي مخرجُ الوكيل A الوكيلَ B، فأنت أمام تبعية. وفي Antigravity، التبعيات تكسر التوازي بحكم تعريفها. فالوكيلان اللذان يعتمد أحدهما على الآخر لا يمكن أن يعملا في الوقت نفسه.
بالنسبة إلى خطوط المعالجة الكبيرة ذات التبعيات المختلطة، استخدم نهج الرسم البياني للتبعيات. حدّد المهام المستقلة (التي تعمل بالتوازي) والمهام المتسلسلة (التي تعمل بالترتيب)، ودع مجدوِل Antigravity يتولى الباقي.
أنماط تعمل على نطاق واسع
ثلاثة أنماط تغطي نحو 90% من حالات استخدام الوكلاء المتعددين في Antigravity. ليست هذه الأنماط غريبة أو معقدة، بل هي بسيطة بأفضل معنى ممكن.
نمط التفريع المتوازي
نمط التفريع المتوازي هو الأكثر شيوعًا في أعمال الذكاء الاصطناعي الدفعية. مدخل واحد، وكثير من الوكلاء المتوازين، ونقطة تجميع واحدة.
كيف يعمل:
يستقبل المنسّق دفعة من العناصر، مثل 20 مستندًا
يُنشئ المنسّق وكيلًا واحدًا لكل عنصر (أو لكل جزء)
تعمل جميع الوكلاء بالتزامن
يجمع المنسّق كل النتائج بعد انتهائها
يتألق هذا النمط عندما تكون المهام متوازية بشكل بديهي: لا يحتاج أي وكيل إلى معرفة ما يفعله الآخرون. توليد الصور، وتلخيص المستندات، ومهام التصنيف، والترجمة، كلها تتناسب مع هذا الشكل تمامًا.
💡 في الدفعات الكبيرة جدًا، أضف سيمافور (semaphore) للتحكم في الحد الأقصى للتزامن: يضمن asyncio.Semaphore(10) ألا تُنشئ أكثر من 10 وكلاء في وقت واحد، مما يحمي حدود معدل الطلبات في واجهات API اللاحقة.
سلسلة خطوط المعالجة
سلسلة خطوط المعالجة هي النظير المقابل للتفريع: تدفق متسلسل صارم يبني فيه كل وكيل على مخرج الوكيل السابق.
الأنسب للمهام: التي تعتمد جودتها على التحسين التدريجي. الكتابة، وتوليد الشيفرة، والاستدلال متعدد الخطوات تستفيد من سلاسل خطوط المعالجة، لأن الوكلاء اللاحقين يمكنهم تصحيح أخطاء الوكلاء السابقين.
الخطر في سلاسل خطوط المعالجة هو انتشار الأخطاء. إذا أعاد الوكيل 1 مخرجًا معيبًا، فإن الوكلاء من 2 إلى 4 سيبنون عليه بثقة. أضف تحققًا بين المراحل، ولو كان مجرد فحص بسيط للطول أو للمخطط (schema).
نموذج المشرف
نموذج المشرف هو الأكثر تطورًا بين الأنماط الثلاثة. وكيل واحد، هو المشرف، ينسّق مجموعة من وكلاء العمال. ولا يقوم المشرف بالعمل الفعلي، بل يخطط ويفوّض ويراجع ويقرر ما إذا كان سيعيد المحاولة.
مسؤوليات المشرف:
تفكيك المهمة الأصلية إلى مهام فرعية
إسناد المهام الفرعية إلى وكلاء العمال المناسبين
التحقق من كل نتيجة قبل تمريرها إلى المرحلة اللاحقة
معالجة الإخفاقات بإعادة المحاولة أو إعادة الإسناد أو التصعيد
في هذا النمط، يُعدّ Kimi K2.6 و GPT 5.1 نموذجين ممتازين للمشرف. كلاهما مصمم خصيصًا لمهام تنسيق الوكلاء، مع أن GPT 5.1 مصمم بشكل خاص لبناء وكلاء الذكاء الاصطناعي. أما كوكلاء عمال، فإن النماذج الأخف مثل Claude 4.5 Haiku أو GPT 4.1 Mini تخفض التكاليف بدرجة كبيرة دون التضحية بالجودة في المهام محددة النطاق.
بالنسبة إلى الموارد الخارجية مثل الملفات أو API، نفّذ عمليات الكتابة بالتسلسل عبر وكيل كاتب واحد مخصص. يمرّر الوكلاء الآخرون مخرجاتهم إلى الكاتب، والكاتب هو الوحيد الذي يتعامل مع المورد.
تصادمات ميزانية التوكنات
هذا النوع أقل وضوحًا. عندما تشغّل عدة وكلاء في الوقت نفسه، يطلب كل وكيل توكنات من نقطة النهاية نفسها للنموذج. وإذا لم تكن تدير إجمالي إنفاق التوكنات المتزامن، فستصطدم بحدود المعدل في فترات غير متوقعة.
النمط هنا هو ضبط ميزانية التوكنات على مستوى المنسّق. قبل إنشاء الوكلاء، قدّر إجمالي متطلبات التوكنات للدفعة. فإذا تجاوز التقدير نافذة حد المعدل، أضف تأخيرًا أو قلّص حجم الدفعة.
💡 بالنسبة إلى أحمال العمل المتوازية الثقيلة، يوفّر Llama 4 Maverick Instruct و Deepseek v3.1 خيارات عالية الإنتاجية بحدود معدل سخية، مما يجعلهما خيارين عمليين لخطوط معالجة الوكلاء كثيفة الحجم.
الأعراض الشائعة لتصادمات ميزانية التوكنات:
ينتهي الوكلاء، لكن بعض النتائج مقطوعة
أخطاء 429 متقطعة دون نمط واضح
تنخفض جودة المخرجات الإجمالية كلما زاد حجم الدفعة
بعض الوكلاء يعيدون استجابات فارغة أو جزئية
إذا لاحظت أيًا من هذه الأعراض، فتحقق من استهلاك التوكنات المتزامن قبل أن تفترض وجود خطأ في منطق الوكيل.
إقران الوكلاء بتوليد الصور بالذكاء الاصطناعي
تصبح إعدادات الوكلاء المتعددين مثيرة للاهتمام بشكل خاص عندما تمزج بين مهام توليد النص والصور. حالة استخدام شائعة في الواقع: توليد دفعة من المقالات، ثم إنشاء الصور لكل مقال تلقائيًا بالتوازي.
وكيل واحد لكل نوع وسائط
أنظف طريقة هي تخصيص وكلاء منفصلين لأنواع الوسائط المختلفة. وكيل واحد يتولى كل توليد النصوص، ومجموعة وكلاء منفصلة تتولى كل طلبات توليد الصور. تعمل المجموعتان بالتزامن دون أن تتفاعلا مباشرة.
البنية المعتادة:
مجموعة وكلاء النصوص تعالج المقالات بالتوازي
يُمرَّر كل مقال مكتمل إلى طابور الصور
يلتقط وكلاء الصور المهام من الطابور ويولّدون الأعمال الفنية
وكيل مجمِّع يجمع أزواج النص والصورة للمخرج النهائي
هذا الفصل مهم لسبب عملي: لتوليد النص وتوليد الصور زمن استجابة مختلف جدًا. قد يستغرق النص لمقال من 1000 كلمة نحو 8 ثوانٍ، بينما قد يستغرق توليد الصورة من 15 إلى 25 ثانية. إذا خلطتهما في مجموعة الوكلاء نفسها، فإن المهام النصية السريعة ستنتظر خلف مهام الصور البطيئة. أما إبقاؤهما منفصلين فيزيد الإنتاجية لكليهما.
استخدام النماذج اللغوية الكبيرة كمنسّقين على PicassoIA
في سير العمل الذي يشمل الكتابة والإنتاج البصري معًا، يُعدّ استخدام نموذج لغوي كبير كمنسّق، ونماذج صور مخصصة كعمال، بنية فعّالة للغاية. يتولى النموذج اللغوي تفكيك المهام، وتحسين الأوامر النصية، ومراجعة الجودة. أما نماذج الصور فتتولى التوليد الفعلي.
على PicassoIA، ينقسم هذا بشكل طبيعي على النحو التالي:
💡 عند بناء خطوط معالجة الوكلاء متعددة الوسائط، تعامل مع هندسة الأوامر كمهمة من الدرجة الأولى. خصص وكيل نموذج لغوي واحدًا لتحسين أوامر الصور من المحتوى الخام للمقال قبل تمريرها إلى نماذج الصور. تتحسن جودة المخرجات بشكل ملحوظ مع هذه الخطوة.
إدارة حالة الوكلاء بالشكل الصحيح
الحالة هي القاتل الصامت لأنظمة الوكلاء المتعددين. الوكلاء الذين يحملون حالة زائدة يصبحون غير قابلين للتنبؤ، والوكلاء الذين لا يحملون أي حالة يصبحون عديمي الفائدة. النقطة المثالية هي وكلاء عديمو الحالة مع حقن سياق صريح.
ماذا يعني هذا عمليًا:
يتلقى كل وكيل كل ما يحتاجه في كائن إدخال واحد
لا تحتفظ الوكلاء بذاكرة داخلية بين الاستدعاءات
تعيش كل الحالة في المنسّق، لا في الوكلاء الفرديين
هذا النمط، الذي يُسمّى أحيانًا أسلوب تمرير الرسائل، يجعل الوكلاء أسهل بكثير في الاختبار والتصحيح والتوسع. يمكنك استبدال أي وكيل دون تحديث الآخرين، لأن لا وكيل يحتفظ بحالة يعتمد عليها الآخرون.
أنماط مضادة يجب تجنبها:
النمط المضاد
ما الذي يحدث بشكل خاطئ
قاموس مشترك عام
تعارضات كتابة، وفقدان بيانات صامت
"ذاكرة" الوكيل بين التشغيلات
انحراف الحالة، ومخرجات غير متوقعة
سجل المحادثة الكامل لكل وكيل
تضخم التوكنات، واستجابات أبطأ
أسماء النماذج مكتوبة داخل الوكلاء
جمود، وصعوبة في استبدال النماذج
اللحظة التي تجد فيها نفسك تتساءل لماذا تغيّر مخرج وكيل دون أن تغيّر شيفرته، فانحراف الحالة هو المتهم في الغالب.
منطق إعادة المحاولة وتحمّل الأعطال
تفشل أنظمة الوكلاء المتعددة في بيئة الإنتاج. تنتهي مهلة استدعاءات الشبكة، وتعيد واجهات النماذج أخطاءً في API، وأحيانًا ينتج وكيل مخرجات لا تجتاز قواعد التحقق لديك. بناء منطق إعادة المحاولة داخل المنسّق من اليوم الأول، بدلًا من إضافته لاحقًا، هو الفرق بين مسار معالجة موثوق وآخر هش.
استراتيجية عملية لإعادة المحاولة:
تصنيف الأعطال: عابرة (أعد المحاولة فورًا)، أو بسبب حد المعدل (انتظر ثم أعد المحاولة)، أو قاتلة (صعّد إلى إنسان)
حدّد أقصى عدد لإعادة المحاولة لكل مهمة: 3 افتراض معقول لمعظم أحمال العمل
طبّق التراجع الأسي (exponential backoff): انتظر ثانية، ثم ثانيتين، ثم 4 ثوانٍ بين المحاولات
سجّل كل عطل مع السياق: أدرج معرّف المهمة، ومعرّف الوكيل، ونوع الخطأ، وتجزئة الإدخال (input hash)
بالنسبة إلى المهام كثيفة الاستدلال، حيث ينتج الوكيل إجابة خاطئة منطقيًا لا خطأ تقنيًا، يُستحسن استخدام Deepseek R1 كمدقق احتياطي. فاستدلاله خطوة بخطوة يجعله مناسبًا جدًا لالتقاط الأخطاء المنطقية التي تفوتها نماذج أخرى.
إعادة المحاولة مقابل الاحتياط:
ليس كل عطل يستدعي إعادة المحاولة بالنموذج نفسه. فكّر في مجموعة احتياطية تُعاد فيها إسناد المهام الفاشلة إلى نموذج مختلف. قد تكتمل مهمة انتهت مهلتها على GPT 5 Pro بنجاح على Claude 4.5 Sonnet، خاصة إذا كانت المهلة سببها عمق الاستدلال لا مشكلة في الاتصال.
ابنِ أول سير عمل لك متعدد الوكلاء
تشغيل عدة وكلاء في Antigravity لا يتعلق بإضافة مزيد من النماذج إلى سكربت. بل يتعلق بالتفكير في خطوط المعالجة، حيث تملك كل مرحلة مدخلًا واضحًا ومخرجًا واضحًا وطريقة فشل واضحة.
الفرق التي تستفيد أكثر من إعدادات Antigravity للوكلاء المتعددين تتبع تسلسلًا بسيطًا:
اجعل وكيلًا واحدًا يعمل بإتقان على مهمة واحدة
حدّد الاختناق (غالبًا ما يكون انتظار الإدخال والإخراج)
وازِ بالضبط المهام التي تنتظر
أضف مشرفًا إذا زادت تعقيدات التنسيق
راقب وأعد المحاولة وتحقق في كل مرحلة
تمنحك مجموعة النماذج اللغوية الكبيرة في PicassoIA كل ما تحتاجه من نماذج لكل دور في هذه البنية: عمال سريعون، ومشرفون أكفاء، ومستدلون عميقون. سواء كنت تبني خط إنتاج للمحتوى، أو أداة بحث آلية، أو سير عمل إبداعي متعدد الوسائط، فاللبنات الأساسية كلها متاحة.
جرّب تكوين أول خط معالجة تفريعي لك على PicassoIA اليوم. اختر مهمة دفعية تنجزها يدويًا الآن، وأسندها إلى ثلاثة وكلاء متوازين باستخدام Kimi K2.6 أو GPT 5.1، ثم قِس الفرق في الوقت. النتيجة الأولى غالبًا ما تغيّر طريقة تفكيرك في الأتمتة إلى الأبد.