وكلاء متعددون قائمون على المحادثة (AutoGen)
يتيح Microsoft AutoGen لعدة وكلاء التحدث مع بعضهم حتى يتوصلوا إلى إجماع.
وكلاء متعددون قائمون على المحادثة (AutoGen) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
لماذا نستخدم عدة وكلاء؟
غالبًا ما يكون وكيل واحد مزود بكل الأدوات أسوأ من وكيلين متخصصين يتحدثان معًا. التخصص أفضل من الوكيل العام.
أمثلة:
- الباحث + الكاتب — يجمع أحدهما المعلومات ويصوغ الآخر الإجابة
- المبرمج + المراجع — يكتب أحدهما الشفرة وينتقدها الآخر
- User-Proxy + Assistant — يمثل المستخدم ويتحدث مع الوكيل المنفذ
نمط AutoGen
تتيح Microsoft AutoGen للوكلاء إجراء محادثات؛ إذ يكون كل منهم AssistantAgent أو UserProxyAgent. ويتبادلون الرسائل حتى يتوصلوا إلى توافق.
Two-Agent Example
# pip install pyautogen
from autogen import AssistantAgent, UserProxyAgent
llm_config = {'model': 'gpt-4o-mini', 'api_key': '...'}
assistant = AssistantAgent(
name='coder',
system_message='You write Python code. Reply with code only.',
llm_config=llm_config
)
user_proxy = UserProxyAgent(
name='user',
human_input_mode='NEVER',
code_execution_config={'work_dir': './workdir'}
)
user_proxy.initiate_chat(assistant, message='Write a function that returns the factorial of n.')UserProxyAgent
يمثل الإنسان أو أحد البرامج النصية. ويمكنه تنفيذ الشفرة التي يُرجعها المساعد، وطرح أسئلة توضيحية، وتحديد وقت اكتمال المهمة.
الوكلاء القابلون للمحادثة
ترث جميع وكلاء AutoGen من ConversableAgent. ويمكنكم إنشاء فئة فرعية لسلوك مخصص.
GroupChat for >2 Agents
class AssistantAgent:
def __init__(self, name, system_message=''):
self.name = name
self.system_message = system_message
def initiate_chat(self, manager, message):
manager.run(self, message)
class GroupChat:
def __init__(self, agents, messages, max_round=12):
self.agents = agents
self.messages = messages
self.max_round = max_round
class GroupChatManager:
def __init__(self, groupchat, llm_config=None):
self.groupchat = groupchat
def run(self, initiator, message):
self.groupchat.messages.append({'role': initiator.name, 'content': message})
for i, agent in enumerate(self.groupchat.agents):
if i >= self.groupchat.max_round:
break
reply = f'{agent.name} contributes to: {message}'
self.groupchat.messages.append({'role': agent.name, 'content': reply})
print(reply)
user_proxy = AssistantAgent(name='user_proxy')
researcher = AssistantAgent(name='researcher')
writer = AssistantAgent(name='writer')
critic = AssistantAgent(name='critic')
group = GroupChat(agents=[user_proxy, researcher, writer, critic], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group, llm_config={})
user_proxy.initiate_chat(manager, message='Write a blog post about RAG.')
اختيار المتحدث
يقرر GroupChatManager من سيتحدث بعد ذلك. وتشمل الاستراتيجيات:
- round_robin — تناوب ثابت
- auto — يختار LLM بناءً على المحادثة
- manual — يختار الإنسان
شروط الإنهاء
تنتهي المحادثات عندما:
- يصدر أحد الوكلاء الكلمة المفتاحية TERMINATE
- يُستنفد max_round
- يقرر UserProxyAgent اكتمال المهمة
تنفيذ الشفرة
يمكن لـ UserProxyAgent تنفيذ أي شفرة يُصدرها المساعد داخل كتل الشفرة. استخدموا بيئة معزولة:
user_proxy = UserProxyAgent(
name='user',
code_execution_config={
'work_dir': './workdir',
'use_docker': True # safer
}
)مراقبة التكلفة
المحادثات متعددة الوكلاء مكلفة؛ إذ يساوي عدد الوكلاء N × عدد الجولات M عدد استدعاءات LLM لكل مهمة. حدّدوا عدد الجولات بشكل صارم.
متى نستخدمه؟
- المهام ذات الفصل الواضح بين الأدوار، مثل البحث والبرمجة والمراجعة
- المهام التي يحسن فيها النقد الجودة
- المهام المعقدة جدًا بحيث لا تكفي لها مطالبة وكيل واحد
متى لا نستخدمه؟
- الأسئلة والأجوبة البسيطة — الوكيل الواحد أسرع وأقل تكلفة
- المسارات الحساسة لزمن الاستجابة
- المهام التي يستطيع وكيل واحد تنفيذها جيدًا بالكامل
AutoGen مقابل LangGraph
AutoGen قائم على المحادثة، أي على محادثات حرة بين الوكلاء. أما LangGraph فقائم على الرسم البياني، أي على آلة حالات صريحة. كلاهما صالح؛ فاختاروا ما يلائم طبيعة مهمتكم بصورة أكثر تلقائية.
نمط AutoGen
ما التجريد الأساسي في AutoGen؟
مراجعة
AutoGen = وكلاء قائمون على الأدوار ويتحاورون. وهو مناسب جدًا للمهام التي يشرف فيها وكيل على وكلاء آخرين متخصصين. راقبوا التكلفة وحدّدوا عدد الجولات.
الأسئلة الشائعة
هل درس «وكلاء متعددون قائمون على المحادثة (AutoGen)» مجاني؟
نعم — نص درس «وكلاء متعددون قائمون على المحادثة (AutoGen)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «وكلاء متعددون قائمون على المحادثة (AutoGen)»؟
يتيح Microsoft AutoGen لعدة وكلاء التحدث مع بعضهم حتى يتوصلوا إلى إجماع. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «وكلاء متعددون قائمون على المحادثة (AutoGen)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- وكلاء متعددون قائمون على المحادثة (AutoGen)
- المشرفون الهرميون (المنسق والعمال)
- أدوار الوكلاء وتخصصاتهم
- بروتوكولات الاتصال (حافلات الرسائل)