فاز 11 · درس 17

مقایسه فریم‌ورک‌های ایجنت: ارکستراسیون بر پایه گراف، نقش و چت

نوع
مفهومی
زمان
حدود 45 دقیقه
زبان‌ها
Python
پیش‌نیاز
فاز 11 · 09 (فراخوانی توابع)، فاز 11 · 16 (LangGraph)
چهار مسیر متمایز معماری روی یک صفحه طراحی که با نمادهای گراف، نمودار درختی سازمانی، حباب‌های گفت‌وگو و یک جعبه ابزار نشان داده شده‌اند
فهرست مطالب
  1. صورت مسئله
  2. مفهوم
  3. معنای واقعی «انتزاع»
  4. مسئله‌ی وضعیت
  5. مسئله‌ی انشعاب
  6. مسئله‌ی رصدپذیری
  7. هزینه و تاخیر
  8. تعامل‌پذیری
  9. مهارت
  10. ماتریس تصمیم‌گیری
  11. تمرین‌ها
  12. اصطلاحات کلیدی
  13. برای مطالعه‌ی بیشتر

بسیاری از توسعه‌دهندگان وقتی سراغ ساخت سیستم‌های چندایجنت می‌روند، در همان روزهای اول پشت دموهای جذاب فریم‌ورک‌ها متوقف می‌شوند. ساخت پایپ‌لاین‌های چندمرحله‌ای مثل تحلیل داده، جست‌وجو و تدوین گزارش نیازمند ابزارهایی است که با ساختار داده و منطق مسئله هماهنگ باشند. استفاده از فریم‌ورک نامناسب باعث می‌شود بخش بزرگی از زمان پروژه صرف جنگیدن با لایه‌ی مدیریت وضعیت (State) یا ساختارهای نامنعطف ارکستراسیون شود.

اگر از داخل ایران روی توسعه‌ی این ایجنت‌ها کار می‌کنید، محدودیت‌های دسترسی به ارائه‌دهندگان خارجی و هزینه‌های ارزی مصرف توکن چالش را دوچندان می‌کند. کارت‌های بانکی ایرانی امکان پرداخت مستقیم به ارائه‌دهندگانی مانند OpenAI یا Anthropic را ندارند؛ در نتیجه استفاده از فریم‌ورک‌هایی که تصمیم‌گیری و مسیریابی را مدام به پرامپت‌های مدیر محول می‌کنند، هزینه و تاخیر فراخوانی‌ها را به شدت افزایش می‌دهد. برای این سناریوها شناخت معماری فریم‌ورک‌ها کمک می‌کند تا با کمترین مصرف توکن و از طریق گیت‌وی‌های واسط یا مدل‌های سبک محلی، سیستمی پایدار بسازید.

در این درس چهار فریم‌ورک مطرح LangGraph، CrewAI، AutoGen و Agno را در معیارهای کلیدی مثل نوع انتزاع، مدل ذخیره‌سازی وضعیت، شیوه‌ی انشعاب و رصدپذیری مقایسه می‌کنیم تا پیش از نوشتن حتی یک خط کد، ابزار درست را انتخاب کنید.

همه‌ی فریم‌ورک‌ها یک دمو را می‌فروشند (ایجنت پژوهشگری که گزارش می‌سازد) و یک باگ مشترک را پنهان می‌کنند (جنگ اسکیما با لایه‌ی ارکستراسیون). فریم‌ورکی را انتخاب کنید که انتزاع‌هایش با فرم مسئله‌تان جور باشد؛ هر چیز دیگری چسبی است که مجبورید دو بار بنویسید.

صورت مسئله

کاری دارید که به بیش از یک فراخوانی مدل زبانی (LLM call) نیاز دارد. شاید یک گردش‌کار پژوهشی است (برنامه‌ریزی، جست‌وجو، خلاصه‌سازی، ارجاع‌دهی). شاید یک پایپ‌لاین بازبینی کد است (پارس کردن diff، نقد، پچ زدن، اعتبارسنجی). شاید هم یک دستیار چندنوبته است که پرواز رزرو می‌کند، ایمیل می‌زند و گزارش‌های هزینه را ثبت می‌کند. یک فریم‌ورک انتخاب می‌کنید.

سه روز بعد متوجه می‌شوید که انتزاع‌های فریم‌ورک پس می‌زنند و محدودیت‌هایشان بیرون می‌زند. CrewAI به شما نقش می‌دهد، اما وقتی «پژوهشگر» بخواهد یک برنامه‌ی ساختاریافته تحویل «نویسنده» دهد، دست‌وپایتان را می‌بندد. AutoGen گفت‌وگوی بین ایجنت‌ها را فراهم می‌کند اما وضعیت (state) درجه‌یک ندارد؛ به همین دلیل چک‌پوینت شما عملاً یک فایل pickle از لاگ گفت‌وگوست. LangGraph به شما گراف وضعیت می‌دهد اما مجبورتان می‌کند پیش از آنکه بدانید ایجنت قرار است چه کند، تک‌تک گذارها (transitions) را نام‌گذاری کنید. Agno انتزاعی تک‌ایجنت ارائه می‌دهد که به‌محض تلاش برای پخش موازی کار بین سه ورکر هم‌روند، صدایش درمی‌آید.

راه چاره «انتخاب بهترین فریم‌ورک» نیست؛ هماهنگ کردن انتزاع هسته‌ای فریم‌ورک با فرم مسئله‌تان است. این درس همان نقشه‌ی راه را ترسیم می‌کند.

مفهوم

ماتریس فریم‌ورک‌های ایجنت: انتزاع هسته‌ای در برابر فرم مسئله

چهار فریم‌ورک بر فضای سال 2026 مسلط هستند. انتزاع‌های هسته‌ای آن‌ها یکسان نیستند.

فریم‌ورک انتزاع هسته‌ای بهترین کاربرد بدترین کاربرد
LangGraph StateGraph — وضعیت تیپ‌دار، نودها، یال‌های شرطی، چک‌پوینتر. گردش‌کارهای نیازمند وضعیت صریح و وقفه برای ورود انسان به چرخه (human-in-the-loop)؛ ایجنت‌های پروداکشن نیازمند دیباگ سفر در زمان (time-travel debugging). طوفان فکری آزاد و نقش‌محور که توپولوژی آن از پیش نامشخص است.
CrewAI Crew — نقش‌ها (هدف، پس‌زمینه‌ی شخصیتی)، تسک‌ها، فرایند (ترتیبی یا سلسله‌مراتبی). گردش‌کارهای نقش‌آفرینی یا مبتنی بر پرسونای مشخص با برنامه‌ی خطی/سلسله‌مراتبی کوتاه. هر سناریوی وضعیت‌داری فراتر از تاریخچه‌ی نوبت‌های تیم؛ انشعاب‌های پیچیده.
AutoGen جفت ConversableAgent — دو یا چند ایجنت که نوبتی گفت‌وگو می‌کنند تا به شرط خروج برسند. دیالوگ چندایجنت (استاد-شاگرد، پیشنهاددهنده-منتقد، مجری-بازبین) که در آن روند اندیشیدن از دل چت شکل می‌گیرد. گردش‌کارهای قطعی با یک DAG مشخص؛ هر سیستمی که پس از راه‌اندازی مجدد به وضعیت پایدار نیاز دارد.
Agno Agent — یک LLM تکی + ابزارها + حافظه، با قابلیت ترکیب در قالب تیم‌ها. ساخت سریع ایجنت‌های تکی و تیم‌های سبک؛ پشتیبانی قوی از چندوجهی (multi-modality) و درایورهای ذخیره‌سازی داخلی. گراف‌های عمیق با انشعاب‌های صریح و ردیوسرهای (reducers) سفارشی.

معنای واقعی «انتزاع»

انتزاع هسته‌ای یک فریم‌ورک همان چیزی است که وقتی معماری را روی تخته سفید ترسیم می‌کنید، می‌کشید.

  • LangGraph ← یک گراف می‌کشید. نودها مراحل کارند، یال‌ها گذارها هستند و شیء وضعیت در هر نقطه تیپ مشخصی دارد. مدل ذهنی آن یک ماشین وضعیت (state machine) است.
  • CrewAI ← یک چارت سازمانی می‌کشید. هر نقش شرح وظایف دارد و یک مدیر تسک‌ها را مسیریابی می‌کند. مدل ذهنی آن یک تیم کوچک از متخصصان است.
  • AutoGen ← یک پیام خصوصی در Slack می‌کشید. دو ایجنت به هم پیام می‌دهند؛ اگر ناظر نیاز باشد، سومی هم اضافه می‌شود. مدل ذهنی آن چت و گفت‌وگوست.
  • Agno ← یک جعبه‌ی تکی می‌کشید که ابزارهایی به آن متصل است. برای ساخت تیم، چند جعبه را کنار هم می‌گذارید. مدل ذهنی آن «ایجنت همه‌چیزتمام» (batteries included) است.

مسئله‌ی وضعیت

وضعیت همان نقطه‌ای است که بیشتر انتخاب‌های فریم‌ورک در محیط پروداکشن در آن گیر می‌کنند.

  • LangGraph. وضعیت تیپ‌دار (TypedDict یا مدل Pydantic)، ردیوسر برای هر فیلد، چک‌پوینتر درجه‌یک (SQLite/Postgres/Redis). ازسرگیری، وقفه و سفر در زمان بدون دردسر و رایگان در دسترس‌اند. (رجوع کنید به فاز 11 · 16.)
  • CrewAI. وضعیت در قالب رشته از طریق فیلد context بین تسک‌ها جابه‌جا می‌شود، یا با output_pydantic ساختار می‌گیرد. به‌صورت پیش‌فرض حافظه‌ی پایدار مجزایی به ازای هر تیم ندارد؛ اگر قرار است تیم پس از ری‌استارت کارش را ادامه دهد، باید خودتان آن را به سیستم وصل کنید.
  • AutoGen. وضعیت همان تاریخچه‌ی چت و context تعریف‌شده توسط کاربر است. متن گفت‌وگوها ذخیره می‌شود؛ وضعیت دلخواه گردش‌کار پایدار نمی‌ماند مگر اینکه خودتان برایش آداپتور بنویسید.
  • Agno. درایورهای ذخیره‌سازی داخلی (SQLite، Postgres، Mongo، Redis، DynamoDB) که با storage= به Agent متصل می‌شوند — نشست‌های گفت‌وگو و حافظه‌های کاربر خودبه‌خود ذخیره و پایدار می‌مانند. این ابزار یک چک‌پوینتر گراف کامل نیست؛ یک ذخیره‌ساز نشست (session store) است.

مسئله‌ی انشعاب

هر ایجنت غیرساده‌ای انشعاب پیدا می‌کند. مسئله‌ی مهم این است که چه کسی درباره‌ی انشعاب تصمیم می‌گیرد.

  • LangGraph — شما از طریق یال‌های شرطی تصمیم می‌گیرید. مسیریابی یک تابع پایتون با شاخه‌های نام‌گذاری‌شده است. شاخه‌ها در گراف کامپایل‌شده موجودیت درجه‌یک دارند؛ چک‌پوینتر ثبت می‌کند کدام شاخه طی شده است.
  • CrewAI — در حالت سلسله‌مراتبی مدیر تصمیم می‌گیرد؛ در حالت ترتیبی شما در زمان ساخت کد تعیین می‌کنید. مسیریابی در دل فهرست تسک‌ها پنهان است؛ هیچ «شرط (if)» درجه‌یکی خارج از پرامپت مدیر وجود ندارد.
  • AutoGen — ایجنت‌ها از طریق چت تصمیم می‌گیرند. انشعاب بر اساس این شکل می‌گیرد که چه کسی نوبت بعدی صحبت را بر عهده بگیرد. GroupChatManager گوینده‌ی بعدی را انتخاب می‌کند؛ می‌توانید یک speaker_selection_method دستی بنویسید اما حالت پیش‌فرض بر پایه‌ی LLM است.
  • Agno — ایجنت بر اساس ابزاری که برای فراخوانی بعدی انتخاب می‌کند تصمیم می‌گیرد. تیم‌ها حالت هماهنگ‌کننده/مسیریاب/همکار دارند؛ انشعاب فراتر از آن بر عهده‌ی توسعه‌دهنده است.

مسئله‌ی رصدپذیری

  • LangGraph — پشتیبانی از OpenTelemetry از طریق LangSmith یا هر اکسپورتر دیگر OTel. هر گذار بین نودها یک span در ردگیری محاسبات است؛ چک‌پوینت‌ها کار تریس‌های قابل بازپخش را هم انجام می‌دهند. LangSmith گزینه‌ی رسمی است؛ Langfuse و Phoenix هم برای آن آداپتور دارند.
  • CrewAI — پشتیبانی درجه‌یک از OpenTelemetry از اواخر 2025؛ با قابلیت اتصال به Langfuse، Phoenix، Opik و AgentOps.
  • AutoGen — یکپارچگی با OpenTelemetry از طریق autogen-core؛ اتصال‌دهنده‌های AgentOps و Opik هم در دسترس‌اند. سطح جزئیات ردگیری محاسبات به ازای هر پیام ایجنت است، نه به ازای هر نود.
  • Agno — پرچم داخلی monitoring=True به همراه اکسپورترهای OpenTelemetry؛ سازگاری یکپارچه با Langfuse برای ثبت تریس‌های هر نشست.

هزینه و تاخیر

هر چهار فریم‌ورک به ازای هر فراخوانی سربار ایجاد می‌کنند (منطق فریم‌ورک، اعتبارسنجی، سریال‌سازی). ترتیب تقریبی افزایش سربار: Agno ≈ LangGraph < CrewAI ≈ AutoGen. بخش عمده‌ی این تفاوت به میزان مسیریابی اضافه‌ای برمی‌گردد که فریم‌ورک به دوش LLM می‌اندازد. مدیر سلسله‌مراتبی در CrewAI برای تصمیم‌گیری درباره‌ی نوبت بعدی توکن مصرف می‌کند؛ GroupChatManager در AutoGen هم همین‌طور. LangGraph تنها در جاهایی توکن مصرف می‌کند که شما صریحاً llm.invoke نوشته باشید. مسیر تک‌ایجنت Agno نیز بسیار سبک است.

وقتی هزینه به ازای هر بار اجرا اهمیت دارد، مسیریابی صریح (یال‌های LangGraph، متد speaker_selection_method در AutoGen) را به مسیریابی با انتخاب LLM ترجیح دهید.

تعامل‌پذیری

  • LangGraph ↔ ابزارها، بازیاب‌ها (retrievers) و مدل‌های زبانی LangChain. آداپتور درجه‌یک MCP (ابزارها در قالب سرورهای MCP ایمپورت می‌شوند).
  • CrewAI ↔ ابزارها از BaseTool ارث‌بری می‌کنند؛ ابزارهای LangChain، ابزارهای LlamaIndex و ابزارهای MCP همگی هماهنگ می‌شوند. تفویض اختیار از تیمی به تیم دیگر از طریق allow_delegation=True انجام می‌شود.
  • AutoGen ← کلاس FunctionTool هر کالبل پایتونی را پوشش می‌دهد؛ آداپتور MCP هم در دسترس است. اتصال تنگاتنگ با اکوسیستم AG2 برای الگوهای ارتباط ایجنت با ایجنت.
  • Agno ← دکوراتور tool@ یا زیرکلاس BaseTool؛ دارای آداپتور MCP؛ ابزارها را می‌توان میان ایجنت‌ها و تیم‌ها به اشتراک گذاشت.

مهارت

بتوانید در یک جمله توضیح دهید چرا فریم‌ورکی خاص برای مسئله‌ی مشخصی از ایجنت مناسب است.

چک‌لیست پیش از پیاده‌سازی:

  1. فرم مسئله را رسم کنید. آیا با یک گراف روبه‌رو هستید (وضعیت تیپ‌دار، گذارهای مشخص)؟ نقش‌آفرینی (متخصصانی که کار را دست‌به‌دست می‌کنند)؟ چت (ایجنت‌هایی که تا پایان کار گفت‌وگو می‌کنند)؟ یا یک ایجنت تکی مجهز به ابزار؟
  2. مشخص کنید انشعاب‌ها دست کیست. انشعاب با تصمیم توسعه‌دهنده ← LangGraph. انشعاب با تصمیم ایجنت مدیر ← CrewAI در حالت سلسله‌مراتبی. شکل‌گیری خودبه‌خودی از دل چت ← AutoGen. تصمیم‌گیری با فراخوانی ابزار ← Agno.
  3. ظرفیت و نیازهای وضعیت را بررسی کنید. آیا به قابلیت ازسرگیری از روی چک‌پوینت نیاز دارید؟ سفر در زمان چطور؟ وقفه‌ی انسانی در میانه‌ی اجرا؟ اگر بله، LangGraph گزینه‌ی پیش‌فرض است؛ نشست‌های Agno هم وضعیت‌های در دامنه‌ی گفت‌وگو را پوشش می‌دهند.
  4. بودجه‌ی هزینه را بسنجید. مسیریابی با انتخاب LLM در هر نوبت توکن اضافه مصرف می‌کند. اگر ایجنت هزاران بار در روز اجرا می‌شود، سراغ مسیریابی صریح بروید.
  5. سربار فریم‌ورک را محاسبه کنید. هر فریم‌ورک یعنی یک وابستگی اضافه. اگر کار با دو فراخوانی LLM و یک ابزار راه می‌افتد، 30 خط پایتون خالص بنویسید؛ هیچ فریم‌ورکی ارزان‌تر از ننوشتن فریم‌ورک نیست.

پیش از آنکه بتوانید گراف، چارت سازمانی، چت یا جعبه‌ی ایجنت را رسم کنید، دست به فریم‌ورک نبرید. سراغ گزینه‌ای نروید که برای ابتدایی‌ترین نیازهایتان مجبورتان کند با مدل وضعیت آن بجنگید.

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

فرم مسئله فریم‌ورک پیشنهادی دلیل
DAG گردش‌کار با وضعیت تیپ‌دار، تاییدیه‌های انسانی، اجرای طولانی‌مدت LangGraph وضعیت درجه‌یک، چک‌پوینتر، وقفه‌ها، سفر در زمان.
پایپ‌لاین پژوهش / نویسندگی با نقش‌های تفکیک‌شده CrewAI (حالت ترتیبی) یا زیرگراف‌های LangGraph تعریف نقش به ازای هر تسک در CrewAI بسیار ساده و کم‌هزینه بیان می‌شود؛ با پیچیده شدن انشعاب‌ها، مقیاس کار را با LangGraph بالا ببرید.
دیالوگ پیشنهاددهنده-منتقد یا استاد-شاگرد AutoGen چت دونفره فرم بومی و طبیعی این فریم‌ورک است.
ایجنت تکی همراه با ابزارها، نشست‌ها و حافظه Agno سبک‌ترین راه‌اندازی، همراه با ذخیره‌سازی و حافظه‌ی داخلی.
پخش موازی به هزاران شاخه همراه با ردیوسرها LangGraph به همراه Send تنها گزینه‌ای که API درجه‌یک برای دیسپچ موازی دارد.
نمونه‌ی اولیه‌ی سریع، بدون تعهد به فریم‌ورک پایتون خالص + SDK ارائه‌دهنده استفاده نکردن از فریم‌ورک، سریع‌ترین فریم‌ورک ممکن است.
موازنه‌های فریم‌ورک‌هاتطبیق انتزاع با ساختار مسئله
FRAMEWORK TRADEOFFSEach framework has one core abstraction, and it is the thing you would draw on a whiteboard. LangGraph draws a state graph, CrewAI an org chart, AutoGen a conversation, Agno a single agent with tools attached. Pick the one whose drawing matches your problem; forcing the wrong shape means writing the missing abstraction yourself, twice.آزمون وایت‌برد: ساختار مسئله شما به چه شکل است؟LangGraphرسم گراف: وضعیت تایپ‌شده، یال‌هاCrewAIرسم چارت سازمانی: نقش‌ها و وظایفAutoGenرسم چت: ایجنت‌ها نوبتی صحبت می‌کنندAgnoرسم یک جعبه: ایجنت به همراه ابزارها
هر فریم‌ورک یک انتزاع محوری دارد که همان طرحی است که روی وایت‌برد رسم می‌کنید: LangGraph یک گراف وضعیت، CrewAI یک چارت سازمانی، AutoGen یک گفت‌وگو و Agno یک ایجنت منفرد متصل به ابزارها را به تصویر می‌کشد. گزینه‌ای را انتخاب کنید که طرح آن با مسئله‌تان همخوانی دارد؛ تحمیل قالبی اشتباه به معنای دوباره‌نویسی انتزاع‌های غایب به دست خودتان خواهد بود.

تمرین‌ها

  1. ساده. تسک یکسانی را در نظر بگیرید — «پژوهش درباره‌ی دفتر مرکزی Anthropic، نوشتن خلاصه در 200 کلمه، ارجاع‌دهی به منابع» — و آن را هم در LangGraph (چهار نود: برنامه‌ریزی، جست‌وجو، نگارش، ارجاع‌دهی) و هم در CrewAI (سه نقش: پژوهشگر، نویسنده، ویراستار) پیاده کنید. هزینه‌ی توکن در هر بار اجرا و تعداد خطوط کد را گزارش دهید.
  2. متوسط. همین تسک را در AutoGen (چت بین پژوهشگر ↔ نویسنده، پیوستن ویراستار از طریق GroupChat) و Agno (یک ایجنت تکی با search_tools و write_tools به همراه ذخیره‌ساز نشست) بسازید. این چهار پیاده‌سازی را از نظر (الف) هزینه در هر اجرا، (ب) قابلیت ازسرگیری پس از کرش، (ج) امکان اعمال تاییدیه انسانی پیش از مرحله‌ی نوشتن رتبه‌بندی کنید.
  3. سخت. یک اسکریپت درخت تصمیم با نام pick_framework.py بسازید که شرح کوتاهی از مسئله را (در قالب JSON: {has_typed_state, has_roles, has_dialogue, has_parallel_fanout, needs_resume}) دریافت کند و فریم‌ورک پیشنهادی را همراه با دلیل در یک جمله برگرداند. درستی کارکرد آن را روی شش سناریوی طراحی‌شده توسط خودتان بیازمایید.

اصطلاحات کلیدی

اصطلاح در گفت‌وگوهای روزمره معنای فنی و دقیق
ارکستراسیون (Orchestration) «نحوه‌ی هماهنگی ایجنت‌ها» لایه‌ای که مشخص می‌کند کدام نود/نقش/ایجنت در مرحله‌ی بعد اجرا شود.
وضعیت پایدار (Durable state) «ادامه‌ی کار بعد از ری‌استارت» وضعیتی که پس از توقف پروسه حفظ می‌شود و به یک چک‌پوینت یا ذخیره‌ساز نشست متصل است.
مسیریابی با انتخاب LLM (LLM-selected routing) «سپردن تصمیم به خود مدل» یک LLM برنامه‌ریز در هر نوبت گام بعدی را تعیین می‌کند؛ منعطف است اما در هر تصمیم توکن می‌سوزاند.
مسیریابی صریح (Explicit routing) «تصمیم‌گیری توسط توسعه‌دهنده» یک تابع پایتون یا یال استاتیک مرحله‌ی بعد را مشخص می‌کند؛ ارزان و قابل ارزیابی است.
تیم (Crew) «یک تیم در CrewAI» نقش‌ها + تسک‌ها + فرایند (ترتیبی یا سلسله‌مراتبی) که در قالب یک شیءِ قابل‌اجرا یکپارچه شده‌اند.
گپ گروهی (GroupChat) «چت چندایجنت در AutoGen» یک گفت‌وگوی مدیریت‌شده میان N ایجنت همراه با یک انتخاب‌کننده‌ی گوینده.
تیم در Agno (Team) «حالت چندایجنت فریم‌ورک Agno» حالت‌های مسیریابی / هماهنگی / همکاری روی مجموعه‌ای از ایجنت‌ها.
گراف وضعیت (StateGraph) «گراف در LangGraph» انتزاعی مبتنی بر وضعیت تیپ‌دار، نودها، یال‌های شرطی و چک‌پوینتر.

برای مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پس از درسکدام فریم‌ورک اولین انتخاب مناسب برای گردش کاری است که باید پس از کرش ادامه یابد، تأیید انسانی حین اجرا بگیرد و به صورت موازی بین سه بازیاب پخش شود؟
  2. پس از درسچرا مسیریابی با انتخاب LLM به ازای هر نوبت گفت‌وگو توکن‌های بیشتری نسبت به مسیریابی صریح مصرف می‌کند؟
  3. پس از درسگفت‌وگوی پیشنهاددهنده-منتقد در بررسی کد، به طور طبیعی با انتزاع محوری کدام فریم‌ورک همخوانی دارد؟
  4. پس از درسکدام فریم‌ورک دارای درایورهای ذخیره‌سازی داخلی (SQLite, Postgres, Redis, Mongo, DynamoDB) است که مستقیماً به کلاس Agent برای ماندگاری نشست و حافظه متصل شده‌اند؟
  5. پس از درسشما یک خلاصه‌ساز دو-فراخوانی دارید: دریافت متن، خلاصه‌سازی. کدام گزینه انتخاب درستی برای فریم‌ورک است؟

سؤالات متداول

چه زمانی باید از LangGraph به جای CrewAI یا AutoGen استفاده کرد؟

وقتی گردش‌کار شما دارای گراف مشخص (DAG)، وضعیت تیپ‌دار، نیاز به ازسرگیری پس از کرش، سفر در زمان برای دیباگ و وقفه‌های تایید انسانی (Human-in-the-loop) است، LangGraph بهترین گزینه خواهد بود.

کدام فریم‌ورک مصرف توکن و هزینه کمتری در هر اجرا دارد؟

LangGraph و Agno کمترین سربار توکن را دارند، چون تصمیم‌گیری درباره‌ی انشعاب‌ها را به جای یک ایجنت مدیر پرامپت‌محور، با توابع صریح پایتون یا فراخوانی ابزار انجام می‌دهند.

آیا برای همه‌ی کارهای چندمرحله‌ای نیاز به استفاده از فریم‌ورک است؟

خیر؛ اگر تسک مورد نظر تنها با دو فراخوانی مدل زبانی و یک ابزار ساده انجام می‌شود، نوشتن حدود 30 خط پایتون خالص با SDK ارائه‌دهنده کم‌هزینه‌تر و سریع‌تر از اضافه‌کردن وابستگی به فریم‌ورک‌ها است.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.