تخطَّ إلى المحتوى

بروتوكول Agent-to-Agent (A2A)

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

عندما يُهيَّأ Agent بقدرات A2A:

  1. يحلل الـ Agent كل مهمة
  2. يقرر إما:
    • معالجة المهمة مباشرة باستخدام قدراته الخاصة
    • التفويض إلى Agent A2A بعيد للمعالجة المتخصصة
  3. إذا فوّض، يتواصل الـ Agent مع Agent A2A البعيد عبر البروتوكول
  4. تُعاد النتائج إلى سير عمل CrewAI
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.

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

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