انتقل إلى المحتوى
سعر المؤسِّسين — مثبَّت للعملاء الأوائلابدأ الآن ←

أنماط تسليم العملاء: توجيه المهام بين عملاء الذكاء الاصطناعي

أنماط تسليم العملاء هي البروتوكولات التي يقوم من خلالها عميل ذكاء اصطناعي بنقل مهمة وسياق متراكم وصلاحية تنفيذ إلى عميل آخر. تحدد هذه الأنماط البيانات التي تعبر الحدود، وما يُستبعد، وما إذا كانت بيانات الاعتماد تسافر مع المهمة. معظم إخفاقات التسليم ليست إخفاقات توجيه؛ بل هي إخفاقات فقدان سياق أو تسريب بيانات اعتماد لا تظهر إلا عندما يفشل عميل مصب بصمت أو يسرب عميل مخترق بيانات حمولة حساسة.

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

الأنماط الأربعة القياسية للتسليم

التسليم بالدفع: المستدعي يوقظ المستدعى مباشرة

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

التسليم بالدفع هو النمط الذي يستخدمه المبدئي handoff() في OpenAI Agents SDK (27,133 نجمة GitHub، MIT). يمكن للمستدعي اختياريًا تمرير دالة input_filter تحذف أو تحول حقول السياق قبل النقل. بدون input_filter، تنتقل نافذة السياق الكاملة إلى المستدعى، بما في ذلك أي محتوى حساس متراكم.

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

الإرسال بالسحب: المستدعى يطلب من قائمة انتظار مشتركة

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

يقلل الإرسال بالسحب من التعرض لبيانات الاعتماد: تحتوي رسالة قائمة الانتظار فقط على وصف المهمة ومؤشر مفتاح الإخراج، وليس السياق الكامل للمستدعي.

نقاط القوة: التوسع الأفقي، الترابط المفكوك، توزيع الأحمال الطبيعي عبر العمال المتطابقين.
المخاطر: يمكن أن يتزايد عمق قائمة الانتظار بلا حدود تحت الحمل؛ ضمانات ترتيب المهام تعتمد على دلالات قائمة الانتظار.

توجيه اللوحة السوداء: عزل السياق القائم على المؤشر

في تسليم مؤشر اللوحة السوداء، يكتب المستدعي إخراجه في مفتاح مسمى على مخزن مشترك دائم، مثل output/researcher/task_abc123، ويرسل إلى المستدعى اسم المفتاح فقط. يقرأ المستدعى المفتاح ويسترد الحقول التي يحتاجها بدقة. لا تظهر بيانات الاعتماد الخام ومحتويات لوح المسودة الوسيطة والسياق الكامل للمستدعي أبدًا في رسالة التسليم.

تنفذ دالة hand_off() في OpenLegion هذا النمط بشكل أصلي: تكتب بيانات الإخراج في output/{agent_id}/{handoff_id} على اللوحة السوداء، وتنشئ إدخال مهمة في صندوق بريد المستقبل بمؤشر لهذا المفتاح، وتوقظ المستقبل. تُحقن بيانات الاعتماد المخزنة في Vault بواسطة الشبكة في وقت التنفيذ.

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

التسليم المتدفق: نقل السياق التدريجي

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

يحمل التسليم المتدفق أعلى مخاطر التعرض لبيانات الاعتماد: قد يتضمن الدفق محتوى حساسًا تم إنشاؤه في منتصف عملية الاستدلال قبل أن يتمكن المستدعي من تصفيته.

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

رأي OpenLegion: لماذا فقدان السياق وتسريب بيانات الاعتماد هما الأخطاء الحقيقية للتسليم

تقع معظم إخفاقات التسليم متعدد العملاء في فئتين: أخطاء فقدان السياق وأخطاء تسريب بيانات الاعتماد. كلاهما يمكن الوقاية منه بالتصميم.

أرقام فقدان السياق: تُظهر تقييمات ضغط سياق LLM باستمرار أن الاقتطاع البسيط عند حد التسليم يقلل من معدلات إكمال المهام في مهام الاستدلال متعدد القفزات مقارنة بالتلخيص المنظم. الحل ليس نافذة سياق أكبر، بل حمولة تسليم منظمة بحقول صريحة للعمل المكتمل والعمل المتبقي والنتائج الرئيسية.

تسريب بيانات الاعتماد: يغطي OWASP LLM06:2025 (الإفصاح عن المعلومات الحساسة) صراحةً تسريب بيانات الاعتماد عبر تمرير الرسائل بين العملاء كضعف من أبرز 10 ثغرات أمنية في نماذج اللغة الكبيرة.

مشكلة فقدان السياق: ما يُفقد عند الحد

السبب الجذري لفقدان السياق هو التناقض بين ما يعرفه العميل المستدعي وما تنقله حمولة التسليم. تمنع حمولات التسليم المنظمة ذلك: يملأ المستدعي الحقول صراحةً: هدف المهمة، والعمل المكتمل حتى الآن، والمهام الفرعية المعلقة، والنتائج الرئيسية، ومؤشر مفتاح الإخراج.

سرقة بيانات الاعتماد عبر حمولات التسليم (OWASP LLM06:2025)

يمرر transfer_to_agent() في Google ADK كائن Session الكامل بما في ذلك سجل المحادثة إلى العميل المستقبل، مما يخلق نقل سياق يصل إلى 32K رمز بشكل افتراضي. يحتاج الفرق إلى مراجعة تطبيقات التسليم لديهم مقارنة بـأمان عملاء الذكاء الاصطناعي: عزل بيانات الاعتماد والدفاع ضد حقن الأوامر.

نمط مؤشر اللوحة السوداء كافتراضي آمن

يُزيل نمط مؤشر اللوحة السوداء تعرض بيانات الاعتماد على مستوى البروتوكول بدلاً من الاعتماد على التصفية على مستوى التطبيق. لا تُحقن بيانات الاعتماد المخزنة في Vault الخاص بـ OpenLegion أبداً في سياق العميل.

كيف تُطبق الأطر الرئيسية التسليم

OpenAI Agents SDK: handoff() مع input_filter (27,133 نجمة)

يُطبق openai/openai-agents-python (27,133 نجمة GitHub، ترخيص MIT) دالة handoff() كنمط دفع. أُضيفت معامل input_filter في الإصدار v0.0.5 (مارس 2025) وتتطلب اشتراكًا صريحًا.

from agents import Agent, handoff, RunContextWrapper

def strip_credentials(ctx: RunContextWrapper, input_data: ResearchInput) -> ResearchInput:
    return ResearchInput(task=input_data.task, context=input_data.context)

researcher = Agent(
    name="researcher",
    handoffs=[handoff(writer_agent, input_filter=strip_credentials)]
)

Google ADK: transfer_to_agent() ونقل كائن Session (20,100 نجمة)

يُطبق google/adk-python (20,100 نجمة GitHub، Apache-2.0) التسليم عبر transfer_to_agent()، الذي يمرر كائن Session الكامل بما في ذلك سجل المحادثة. يستقبل العميل المستقبل كل شيء ويجب عليه صراحةً التخلص من السجل غير ذي الصلة.

LangGraph: Command(goto=) مع حالة مكتوبة مشتركة

يُطبق LangGraph (langchain-ai/langgraph، Apache-2.0) توجيه العملاء عبر Command(goto='اسم_العقدة') مع تحديثات حالة اختيارية. الحالة قاموس مكتوب مشترك عبر جميع العقد في الرسم البياني. لا يوفر نموذج الحالة المشتركة لـ LangGraph عزل بيانات الاعتماد بين العقد.

from langgraph.types import Command

def researcher_node(state: AgentState) -> Command:
    result = researcher.invoke(state)
    return Command(
        goto="writer",
        update={"research_output": result, "completed_steps": state["completed_steps"] + ["research"]}
    )

OpenLegion: hand_off() مع مؤشر اللوحة السوداء وتسليم صندوق البريد

تُطبق دالة hand_off() في OpenLegion تسليم مؤشر اللوحة السوداء بشكل أصلي.

hand_off(
    to="writer",
    summary="اكتمل البحث: langchain-alternative، 2847 كلمة من المواد المصدرية",
    data='{"topic": "langchain-alternative", "sources_key": "research/langchain-alt-sources", "word_count_target": 3000}'
)

عقود بيانات التسليم

ما يجب تضمينه: ملخص المهمة، مفتاح الإخراج، السجل ذو الصلة

حمولة التسليم المُصممة جيدًا هي مواصفة منظمة، وليس تفريغ نصًا. تضمين:

  • ملخص المهمة (200 كلمة كحد أقصى): ما يجب على المستدعى إنجازه
  • مؤشر مفتاح الإخراج: مفتاح اللوحة السوداء حيث يُخزَّن إخراج المستدعي
  • ملخص العمل المكتمل: ما تم إنجازه بالفعل، مُعبَّرًا عنه كحقائق
  • المهام الفرعية المعلقة: العناصر المحددة التي يُعدّ المستدعى مسؤولاً عنها
  • المعاملات المنظمة: أي مدخلات مكتوبة تتطلبها مهمة المستدعى

ما يجب استبعاده: بيانات الاعتماد الخام، نوافذ السياق الكاملة، لوحات المسودة الوسيطة

استبعاد من حمولات التسليم:

  • مفاتيح API والرموز المميزة وبيانات الاعتماد: يجب أن تُحقن بواسطة الشبكة في وقت التنفيذ
  • نسخ المحادثة الكاملة: قصّها إلى ملخصات ذات صلة
  • لوحات المسودة للاستدلال الوسيط: سلسلة التفكير للمستدعي ليست مفيدة للمستدعى
  • البيانات التي لا يتطلبها دور المستدعى: تطبيق الامتياز الأدنى على السياق أيضًا

آليات توجيه التسليم

التوجيه الثابت: معرفات العملاء المُرمَّزة

يُرسل التوجيه الثابت كل تسليم من نوع معين إلى عميل مسمى محدد. بسيط في التطبيق، سهل في التتبع. ينهار عندما يكون العميل الهدف غير متاح أو محمّلًا بشكل زائد أو مُستبدَلًا.

التوجيه الديناميكي: المتخصص المختار بواسطة LLM

يستخدم التوجيه الديناميكي استدعاء LLM لاختيار العميل المتخصص المناسب بناءً على خصائص المهمة. يوفر المرونة ولكنه يضيف زمن استجابة ويُدخل إمكانية أخطاء التوجيه عند تصنيف LLM للمهمة بشكل خاطئ.

التوجيه الشرطي: التصعيد القائم على القواعد

يطبق التوجيه الشرطي قواعد حتمية لاختيار العميل الهدف. أكثر قابلية للتنبؤ من التوجيه المعتمد على LLM، لكنه يتطلب تعريفًا صريحًا للقواعد لكل شرط توجيه.

معالجة الاحتياط والمهلة الزمنية

يجب أن يحدد كل تسليم ما يحدث عندما لا يستجيب المستدعى خلال نافذة مهلة زمنية. الخيارات:

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

مقارنة الأمان والموثوقية لأنماط التسليم

البُعدالتسليم بالدفعالإرسال بالسحبتوجيه اللوحة السوداءالتسليم المتدفق
آلية التوجيهاستدعاء مباشر لإيقاظ المستدعىقائمة انتظار مشتركة/طلب صندوق البريدكتابة مفتاح+مراقبة المستدعىدفق رمز تدريجي
عزل السياقالمستدعي يتحكم في الحمولة؛ input_filter مطلوبرسالة قائمة الانتظار فقطالأعلى: المستدعى يقرأ المفتاح المسمى فقطالأدنى: السياق الكامل يعبر الحد
مخاطر تعرض بيانات الاعتمادمتوسط: يعتمد على الاشتراك في input_filterمنخفض: قائمة الانتظار تحتفظ بمؤشر المهمة فقطمنخفض جدًا: بيانات الاعتماد غير موجودة في الحمولة أبدًامرتفع: قد يتضمن الدفق سياقًا حساسًا
قابلية الرصدحدث تتبع واحد لكل تسليمعمق قائمة الانتظار+أحداث الطلبسجل إصدارات المفتاح+أحداث صندوق البريديتطلب تتبعًا على مستوى الرمز
زمن الاستجابةالأدنىمنخفض (عبء قراءة قائمة الانتظار)منخفض (عبء قراءة اللوحة السوداء)الأدنى شاملاً (المتدفق)
الأفضل لـالتفويض المتخصص المترابط بإحكاممجموعات العمال ذات الأحمال الموزعةخطوط الأنابيب اللامتزامنة المنفصلةالتعاون الفوري

الأسئلة الشائعة

ما هو نمط تسليم العميل؟

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

كيف يُطبق OpenAI Agents SDK التسليم؟

يُطبق OpenAI Agents SDK (27,133 نجمة GitHub، MIT) دالة handoff() كنمط دفع. يستدعي العميل المستدعي handoff() مع عميل هدف ودالة input_filter اختيارية تحذف الحقول من السياق قبل النقل. أُضيف معامل input_filter في الإصدار v0.0.5 (مارس 2025) ويتطلب اشتراكًا صريحًا؛ بدونه، تنتقل نافذة السياق الكاملة إلى المستدعى.

كيف يُطبق Google ADK تسليم العميل؟

يستخدم Google ADK (20,100 نجمة GitHub، Apache-2.0) دالة transfer_to_agent()، التي تمرر كائن Session الكامل بما في ذلك سجل المحادثة إلى العميل المستقبل. يُنشئ ذلك نقل سياق يصل إلى 32K رمز بشكل افتراضي. يستقبل العميل المستقبل السجل الكامل ويجب عليه صراحةً التخلص من السياق السابق غير ذي الصلة.

ما هو نمط تسليم مؤشر اللوحة السوداء ولماذا هو أكثر أمانًا؟

في تسليم مؤشر اللوحة السوداء، يكتب المستدعي إخراجه في مفتاح مسمى على مخزن مشترك (مثل output/agent-id/task-id)، ثم يرسل إلى المستدعى مؤشر المفتاح فقط، وليس البيانات نفسها. يقرأ المستدعى الحقول التي يحتاجها فقط. لا تظهر بيانات الاعتماد أبدًا في رسالة التسليم، مما يُزيل متجه السرقة OWASP LLM06:2025. تُطبق دالة hand_off() في OpenLegion هذا النمط بشكل أصلي.

ما هي مخاطر الأمان الموجودة في تسليم العملاء؟

المخاطرة الرئيسية هي سرقة بيانات الاعتماد: تُعرض الأطر التي تتضمن متغيرات البيئة أو رموز حاملها أو مفاتيح API في كائن السياق الممرر أثناء التسليم للعميل المستقبل الذي قد يكون مخترقًا. يُحدد OWASP LLM06:2025 ذلك كثغرة أمنية من بين أبرز 10 ثغرات في نماذج اللغة الكبيرة. المخاطرة الثانوية هي تسميم السياق.

كيف تتعامل مع إخفاقات التسليم والمهل الزمنية؟

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

ما البيانات التي يجب تضمينها في حمولة التسليم؟

التضمين: ملخص مهمة موجز (أقل من 200 كلمة)، ومؤشر إلى مفتاح بيانات الإخراج على المخزن المشترك، وحقائق العمل المكتمل، والمهام الفرعية المعلقة، وأي معاملات منظمة يتطلبها دور المستدعى. الاستبعاد: بيانات اعتماد API الخام، ونسخ المحادثة الكاملة، ولوحات المسودة للاستدلال الوسيط، وأي بيانات لا يتطلبها دور المستدعى.

تسليم العميل الآمن في OpenLegion

حد التسليم هو منشأ معظم مشكلات موثوقية العملاء المتعددين. يُقلل فقدان السياق من جودة المهام النهائية، وتسريب بيانات الاعتماد في الحمولة يُنشئ مخاطر سرقة تنمو مع طول خط الأنابيب.

يُعالج تسليم مؤشر اللوحة السوداء في OpenLegion كلتا المشكلتين على مستوى البروتوكول. تكتب hand_off() المخرجات في مفتاح مسمى، وتُسلم مؤشرًا فقط إلى صندوق بريد المستقبل، وتعتمد على حقن بيانات الاعتماد عبر وكيل Vault. يقرأ المستقبل من اللوحة السوداء بالضبط ما يحتاجه، لا أكثر.

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

بناء خطوط أنابيب متعددة العملاء آمنة على OpenLegion ←