Autogen vs Crewai: دو رویکرد برای ارکستراسیون چند عامل


نویسنده (ها): مانا

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

Autogen vs Crewai: دو رویکرد برای ارکستراسیون چند عامل

فهرست مطالب

  1. نمای کلی
  2. خودروژن
    2.1 تاریخ و تکامل
    2.2 چرا اتوژن اهمیت دارد
    2.3 چگونه اتوژن کار می کند
    2.4 نمونه اتوژن
    2.5 معماری (V0.4) با قیاس
  3. خدمه
    3.1 تاریخ و تکامل
    3.2 چرا خدمه
    3.3 چگونه Crewai کار می کند
    3.4 نمونه خدمه
    3.5 معماری با قیاس
  4. نمودارهای گردش کار
  5. ماتریس تصمیم گیری
  6. منابع

نمای کلی

خودروژن است چارچوب منبع باز برای ساخت سیستم های چند عامل، توسط توسعه یافته تحقیقات مایکروسافتبشر آن را فراهم می کند معماری مکالمه ای ، رویداد محور این امکان پذیر است LLMعوامل قدرتمند ، انسان و ابزار برای همکاری از طریق دیالوگ های ساختاری و گردش کاربشر پشتیبانی می کند بافایبا ادغام ابزار/APIوت اجرای کد امن (به عنوان مثال ، از طریق Docker) ، و شامل استودیوی اتوژن، UI بدون کد برای طراحی و آزمایش گردش کار.

خدمه است چارچوب پایتون منبع باز برای ارکستر تیم های چند عامل مبتنی بر نقشبشر تمرکز دارد نمایندگان → وظایف → خدمه ابتدایی ، فعال کردن گردش کار ساختاری و مدولار. Crewai یکپارچه با یکپارچه با هم ادغام می شود ابزارهای لانگچین برای حافظه ، بازیابی و اقدامات خارجی ، آن را برای توسعه دهندگان از قبل از Langchain یا Langgraph ایده آل می کند.

تاریخ و تکامل

Origins (2023)

  • انتشار اولیه: Autogen به عنوان یک ابزار هماهنگی اساسی برای مکالمات چند عامل ، فعال کردن LLMنمایندگان رانده شده برای همکاری در کارهایی مانند تولید کد و اشکال زدایی.
  • معماری: نسخه های اولیه (v0.1 -v0.2) از یک طراحی همزمان استفاده می کردند که مقیاس پذیری و انعطاف پذیری را محدود می کند.
  • ویژگی ها: الگوهای اصلی AssistantAgeAgent ، UserProxyAgent و Simple GroupChat برای تعامل دو عامل یا تیم کوچک.

Autogen v0.2 (2023-2024)

  • API AgentChat معرفی شده برای گردش کار چند عامل ساختاری.
  • استفاده از ابزار اصلی پشتیبانی ، چت های گروهی و پایداری دولت.
  • محدودیت ها: مسدود کردن تماس ها ، مشاهده محدود و API های سفت و سخت.

Autogen v0.4 (ژانویه 2025) – طراحی مجدد کامل

  • چرا تجدید نظر؟ بازخورد جامعه خواستار مشاهده بهتر ، کنترل تعاملی و مقیاس پذیری بود.
  • تغییرات کلیدی:

معماری ناهمزمان ، رویداد محور (مدل بازیگر) برای همزمانی و اجرای توزیع.

طراحی لایه ای: هسته ، عامل و پسوندها

پشتیبانی از زبان متقاطع (Python + .NET ، برنامه ریزی شده تر).

مشاهده: ردیابی داخلی ، OpenTelemetry ، ابزار اشکال زدایی.

Autogen Studio: UI کشیدن و رها کردن ، به روزرسانی های عامل در زمان واقعی ، کنترل میانی.

اکوسیستم: ادغام با هسته معنایی ، معرفی Magentic-One و TinyTroupe برای ارکستراسیون و شبیه سازی.

نقشه راه آینده

  • اتصالات بیشتر زبان ، عوامل قابل آموزش ، عوامل پیشرفته خزنده و حاکمیت درجه یک.

چرا اتوژن اهمیت دارد

گردش کار چند عامل قدرتمند اما پیچیده برای مدیریت دستی است. اتوژن این کار را توسط:

  • تأمین کننده نقش های عامل قابل تنظیم و حلقه های مکالمهبشر
  • حامی بافای برای حاکمیت
  • قابل قبول همکاری پویا برای کارهایی مانند نمایندگی ، تأیید و تصمیم گیری.

چگونه اتوژن کار می کند

  • نمایندگان و نقش ها: عوامل را با نقش ها ، حافظه و توانایی ها تعریف کنید (به عنوان مثال ، برنامه ریزی ، اجرای ، نقد).
  • حلقه های مکالمه: استفاده کردن گروه الگوهای (Roundrobin یا Selector) برای نوبت ساختار یافته.
  • ادغام ابزار: نمایندگان می توانند با API تماس بگیرند ، کد را اجرا کنند یا با پرونده ها ارتباط برقرار کنند.

نمونه های خودکار

مثال 1: حلقه تأیید صحت برنامه ریز

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import TextMentionTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient
model = OpenAIChatCompletionClient(model="gpt-4o")
planner = AssistantAgent("planner", model_client=model, system_message="Plan steps.")
critic = AssistantAgent("critic", model_client=model, system_message="Review and approve.")
team = RoundRobinGroupChat([planner, critic], termination_condition=TextMentionTermination("APPROVED"))
result = team.run(task="Fix this Python bug: def add(a,b): return a-b")
print(result.messages[-1].content)

مثال 2: تأیید انسان در حلقه

from autogen_agentchat.agents import AssistantAgent, UserProxyAgent
from autogen_agentchat.teams import RoundRobinGroupChat
writer = AssistantAgent("writer", model_client=model, system_message="Draft the report.")
approver = UserProxyAgent("approver")
team = RoundRobinGroupChat([writer, approver])
team.run(task="Draft a summary and wait for approval.")

قیاس معماری اتوژن

“کنترل ترافیک هوایی برای نمایندگان هوش مصنوعی”

  • هسته (زمان اجرا بازیگر) → برج کنترل ترافیک هوایی: ارتباطات ایمن ، ناهمزمان را تضمین می کند ، مسیریابی را از رفتار خلبان و مقیاس به بسیاری از پروازها (نمایندگان) جدا می کند.
  • AgentChat مرکز عملیات پرواز: رویه های عملیاتی استاندارد (به عنوان مثال ، چت گروهی دور / انتخاب کننده) ، حالت / حافظه و جریان را پخش کنید تا خلبانان بدانند چه کسی صحبت می کند و چگونه هماهنگی می کنند.
  • برنامه های افزودنی خدمات فرودگاهی (وسایل نقلیه ویژه و پشتیبانی از زمین): عوامل پیشرفته/مشتری/ابزار و ادغام اکوسیستم.
  • استودیوی autogen داشبورد سرپرست: جریان را تجسم کنید ، کنترل در اواسط پیش بینی و اجزای کشش و قطره ای بدون کدگذاری سنگین اجرا می شود.

معماری اتوژن (V0.4)

https://www.microsoft.com/en-us/research/project/autogen/

طراحی لایه ای

  • هسته مدل بازیگر را پیاده سازی می کند: عوامل پیام های ناهمزمان را که توسط یک رویداد اجرا شده توسط یک رویداد هدایت می شود ، تبادل می کنند. این جداشدگی باعث بهبود مدولار ، همزمانی و انعطاف پذیری استقرار (چند فرآیند ، زبان متقابل) می شود.
  • مأمور عامل یک API با سطح بالا و کار با رابط های تایپ شده ، حالت/حافظه ، جریان و الگوهای ساخته شده در چند عامل (به عنوان مثال ، GroupChat با رومیزی گرد یا انتخاب کننده) اضافه می کند.
  • الحاق ارائه مشتری های پیشرفته/زمان های Runtimes/تیم ها و ادغام های شخص ثالث (ابزار و خدمات).
  • رعایت و کنترلبشر در ردیابی/معیارها/اشکال زدایی (با پشتیبانی OpenTelemetry) برای بازرسی از تعامل ، پخش مجدد و هدایت رفتار با مسئولیت پذیری ساخته شده است.
  • تجربه توسعه دهنده Autogen Studio (بازسازی شده در AgentChat) فراهم می کند و نویسندگی های کشش و drop ، به روزرسانی های زمان واقعی و کنترل های اجرا را فراهم می کند.
  • اکوسیستمبشر مثال برنامه Magentic – یک و همکاری با هسته معنایی برای زمان اجرا به صورت سازمانی نشان دهنده جهت این پلتفرم است.

خدمه

تاریخ و تکامل

انتشار اولیه (V0.1 ، 2024)

  • به عنوان یک چارچوب لاغر و پایتون بومی برای ارکستراسیون چند عامل مبتنی بر نقش راه اندازی شد.
  • مفهوم اصلی: نمایندگان → وظایف → خدمه ، امکان گردش کار ساختاری را با دست های روشن فراهم می کنند.
  • تمایز دهنده: مستقل از Langchain ، اما بعداً بسته های ابزار Langchain اختیاری را برای استفاده مجدد اکوسیستم اضافه کرد.

تکرار سریع (2024-2025)

  • v0.6x-0.9x: جریانهای اضافه شده برای ارکستراسیون رویداد محور ، سیستم های حافظه (کوتاه مدت ، موجودیت ، بردار) و قلاب های مشاهده.
  • V0.126+: CLI ، پیکربندی های YAML و ویژگی های سازمانی (RBAC ، Telemetry) معرفی شده است.
  • v0.150+: اضافه شده ادغام LANGDB ، رویدادهای GuardRail و ابزارهای ارزیابی.
  • V0.165+: افزایش مجدد جریان ، سیستم پیکربندی RAG و پشتیبانی QDrant.
  • V0.175+: پیکربندی های تعبیه شده متمرکز ، بهبود ردیابی و محرک های اتوماسیون.
  • v0.186 (آخرین): از رزومه سازی جزئی جریان ، مشتری های RAG عمومی و تنظیم مجدد پیکربندی برای استقرار شرکت ها.

موقعیت

  • Crewai Enterprise Suite: اضافه می کند هواپیمای کنترل ، داشبورد رعایت ، ویژگی های امنیت/انطباق و گزینه های استقرار در محل/ابر.
  • جامعه: توسعه دهندگان 100K+ ، فعالیت قوی GitHub و نسخه های مکرر (~ هفتگی).

چرا خدمه

Crewai باعث می شود که گردش کار چند عامل توسط تعریف و حفظ آن آسان شود:

  • دلگرم کننده مدولار بودن مبتنی بر نقشبشر
  • حامی ادغام لانگچین برای ابزار و حافظه.
  • اجازه تیم های عامل قابل استفاده مجدد برای مقیاس پذیری

Crewai چگونه کار می کند

  • نماینده: نقش ، پشت پرده ، ابزارها و پیکربندی LLM.
  • کار: آنچه باید انجام شود را تعریف می کند و چه کسی این کار را انجام می دهد.
  • خدمه: اجرای و اعدام ارکستر.

نمونه های خدمه

مثال 1: تحقیق → کد → بررسی

from crewai import Agent, Task, Crew
researcher = Agent(role="Researcher", goal="Collect data.")
coder = Agent(role="Coder", goal="Generate Python report.")
reviewer = Agent(role="Reviewer", goal="Check quality.")
tasks = [
Task("Collect 5 sources on AI trends.", agent=researcher),
Task("Write Python script for summary.", agent=coder),
Task("Review and finalize report.", agent=reviewer)
]
crew = Crew(agents=[researcher, coder, reviewer], tasks=tasks)
print(crew.kickoff())Workflow Diagrams

قیاس معماری خدمه

“خدمه تولید فیلم”

  • نمایندگان → اعضای خدمه (مدیر/فیلمنامه نویس/فیلمبردار/ویرایشگر) با نقش ها ، مهارت ها و ابزارها.
  • وظایف → صحنه ها در یک اسکریپت ؛ هر صحنه به متخصص مناسب اختصاص می یابد.
  • خدمه (Orchestrator) → دستیار مدیر مدیریت دنباله ، دستاورد و تغییر شکل (متوالی در مقابل سلسله مراتبی با یک مدیر).
  • جریان → برنامه تیراندازی با دولت ، پایداری/رزومه و محرک های محرک رویداد برای فرآیندهای طولانی مدت.
  • ابزارها/حافظه → دوربین ها/غرفه ها/یادداشت های پیوستگی (ابزارهای Langchain ، دانش بردار ، RAG).
  • رعایت → مانیتور تولید پیشرفت ، هزینه ها و کیفیت را از طریق ادغام ردیابی.
https://docs.crewai.com/en/introduction

جزئیات معماری خدمه

  • اصلی اصلی. کارگردها → وظایف، به علاوه جریان برای ارکسترهای رویداد محور با تداوم/رزومه. عوامل دارای نقش ، پشت پرده ، ابزار و حافظه هستند. کارها کار و خروجی های مورد انتظار را مشخص می کنند. خدمه هماهنگ می کنند که چه کاری انجام می دهد و چه زمانی.
  • الگوهای اعدام
    متوالی
    : خط لوله های آگاهانه ، قطعی ، وابستگی با زمینه مشترک.
    سلسله مراتبی: الف عامل مدیر نمایندگان ، بررسی ها و ادغام خروجی ها. خدمه سیاهههای مربوط به اجرای و نتایج را ردیابی می کنند.
  • ابزار و پارچهبشر سیستم ابزار درجه یک ، به علاوه استفاده مجدد از ابزار Langchain از طریق بسته بندی ها (به عنوان مثال ، LangChainTool) برای ضربه زدن به اکوسیستم Langchain در داخل نمایندگان Crewai.
  • حافظه/دانش حافظه کوتاه/طولانی/موجودیت و دانش وکتور ساخته شده با کروما/Qdrant گزینه ها ؛ ارائه دهنده – پارچه خنثی.
  • رعایت و شرکت ردیابی/معیارها با ادغام (Langfuse ، Phoenix و غیره) ، CLI برای اجرای/تست/استقرار ، پشتیبانی از پیکربندی YAML و ویژگی های سازمانی چند منظوره.

Crewai چگونه کار می کند

  • عوامل را تعریف کنید (نقش ، پشت پرده ، ابزارها ، پیکربندی LLM).
  • وظایف را تعریف کنید و مسئولیت را تعیین کنید.
  • یک خدمه برای اجرای و اجرای Handoff (یا هیئت به رهبری مدیر) ایجاد کنید.
  • به صورت اختیاری جریانی را برای مسیریابی رویداد ، دولت ، پایداری/رزومه اضافه کنید.

گردش کار خودکار

گردش کار خدمه

ماتریس تصمیم گیری

منابع

خودروژن

خدمه (رسمی)

زمینه در چارچوب های ارکستراسیون مرتبط

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/machine-learning/autogen-vs-crewai-two-approaches-to-multi-agent-orchestration