Skip to main content

تفويض Agent A2A

يعامل CrewAI بروتوكول A2A كبنية تفويض أساسية، مما يمكّن الـ Agents من تفويض المهام وطلب المعلومات والتعاون مع Agents بعيدة، وكذلك العمل كـ Agents خادم متوافقة مع A2A. في وضع العميل، تختار الـ Agents تلقائيًا بين التنفيذ المحلي والتفويض البعيد بناءً على متطلبات المهمة.

كيف يعمل

عندما يُهيَّأ Agent بقدرات A2A:
  1. يحلل الـ Agent كل مهمة
  2. يقرر إما:
    • معالجة المهمة مباشرة باستخدام قدراته الخاصة
    • التفويض إلى Agent A2A بعيد للمعالجة المتخصصة
  3. إذا فوّض، يتواصل الـ Agent مع Agent A2A البعيد عبر البروتوكول
  4. تُعاد النتائج إلى سير عمل CrewAI
تفويض A2A يتطلب حزمة a2a-sdk. ثبّتها بـ: uv add 'crewai[a2a]' أو pip install 'crewai[a2a]'

التهيئة الأساسية

crewai.a2a.config.A2AConfig مهمل وسيُزال في v2.0.0. استخدم A2AClientConfig للاتصال بـ Agents بعيدة و/أو A2AServerConfig لعرض الـ Agents كخوادم.
Code
from crewai import Agent, Crew, Task
from crewai.a2a import A2AClientConfig

agent = Agent(
    role="Research Coordinator",
    goal="Coordinate research tasks efficiently",
    backstory="Expert at delegating to specialized research agents",
    llm="gpt-4o",
    a2a=A2AClientConfig(
        endpoint="https://example.com/.well-known/agent-card.json",
        timeout=120,
        max_turns=10
    )
)

task = Task(
    description="Research the latest developments in quantum computing",
    expected_output="A comprehensive research report",
    agent=agent
)

crew = Crew(agents=[agent], tasks=[task], verbose=True)
result = crew.kickoff()

خيارات تهيئة العميل

راجع الملف الإنجليزي الأصلي للحصول على القائمة الكاملة لمعاملات A2AClientConfig وخيارات المصادقة وآليات التحديث وتهيئة الخادم.

أفضل الممارسات

عيّن مهلات مناسبة

هيّئ المهلات بناءً على أوقات استجابة Agent A2A المتوقعة.

حدّ جولات المحادثة

استخدم max_turns لمنع التبادل المفرط.

استخدم معالجة أخطاء مرنة

عيّن fail_fast=False لبيئات الإنتاج مع عدة Agents.

أمّن بيانات الاعتماد

خزّن رموز المصادقة وبيانات الاعتماد كمتغيرات بيئة، ليس في الكود.

تعلم المزيد