بسیاری از فریمورکهای رایج ساخت ایجنت هوش مصنوعی، برای ساخت نمونههای اولیه عالی هستند؛ اما وقتی زمان بردن سرویس به محیط پروداکشن و زیر بار ترافیک واقعی میرسد، سربار ناشی از ایجاد نشست و پیچیدگی ساختار گرافها عملکرد سیستم را بهشدت کاهش میدهد. گلوگاه اصلی در سامانههای پرترافیک، زمان و منابع مورد نیاز برای نمونهسازی ایجنتها در هر درخواست است.
فریمورکهای نوینی مانند Agno در پایتون و Mastra در تایپاسکریپت دقیقاً برای پاسخ به این چالش متولد شدهاند. این ابزارها با حذف افزونگیهای ساختاری، معماری بدونوضعیت (Stateless) و بهینهسازی فرآیند مقداردهی اولیه را در اولویت قرار دادهاند تا بتوان ایجنتها را بدون افت سرعت، مستقیماً در کنار فریمورکهایی مثل FastAPI یا سرورهای جاوااسکریپتی مستقر کرد.
اگر برای راهاندازی این ابزارها و دانلود بستهها از مخازن PyPI یا npm با اختلال یا کندی شبکه روبهرو شدید، استفاده از میرورهای داخلی بستهها راهکاری عملی و پایدار خواهد بود. همچنین از آنجا که این فریمورکها از ارائهدهندگان متنوع مدل پشتیبانی میکنند، در صورت عدم دسترسی مستقیم به پرداخت ارزی یا کلیدهای خارجی، امکان اتصال کلاینتها به گیتویهای ارائهدهنده سازگار با OpenAI وجود دارد.
یک محیط اجرای (runtime) ایجنت در پروداکشن، روی مواردی دست میگذارد که فریمورکهای پروتوتایپ نادیدهاش میگیرند: هزینهی نمونهسازی (instantiation)، سطوح تایپشدهی گردشکار، و یک بکاندِ کاملاً آمادهی سرویسدهی. ترکیب سال 2026 این است: Agno (در پایتون) نمونهسازی میکروثانیهای ایجنت و بکاندهای بیوضعیتِ (stateless) مبتنی بر FastAPI را هدف گرفته؛ Mastra هم ایجنتها، ابزارها، پایپلاینهای کاری، مسیریابی یکپارچهی مدل و ذخیرهسازی ترکیبی را روی بستر Vercel AI SDK ارائه میدهد.
اهداف یادگیری
- اهداف عملکردی Agno را بشناسید و بدانید در چه شرایطی اهمیت پیدا میکنند.
- سه المان پایهای Mastra — ایجنتها (Agents)، ابزارها (Tools)، و پایپلاینهای کاری (Workflows) — بههمراه تطبیقدهندههای سرور (server adapters) تحت پشتیبانی آن را نام ببرید.
- توضیح دهید چرا یک بکاند بیوضعیت با دامنهی نشست (session-scoped) در FastAPI، مسیر پیشنهادی و استاندارد Agno برای محیط پروداکشن است.
- با توجه به پشتهی فناوری انتخابی (اولویت با پایتون در برابر اولویت با تایپاسکریپت)، میان Agno و Mastra گزینهی مناسب را انتخاب کنید.
صورت مسئله
فریمورکهایی مثل LangGraph، AutoGen و CrewAI بیشازحد سنگیناند. تیمهایی که صرفاً یک «حلقهی ایجنتِ (agent loop) سریع و بیحاشیه در محیط اجرای خودمان» میخواهند، سراغ Agno (پایتون) یا Mastra (تایپاسکریپت) میروند. هر دوی این ابزارها بخشی از ساختارهای اختصاصی فریمورکها را فدای سرعت خام و هماهنگی دقیقتر با پشتهی نرمافزاری موجود میکنند.
مفهوم اصلی
Agno
- محیط اجرای پایتونی؛ نام قبلی آن Phi-data بود.
- شعار آنها: «بدون گراف، زنجیره یا الگوهای پیچیده و دستوپاگیر — فقط پایتون خالص.»
- اهداف عملکردی طبق مستندات رسمی: نمونهسازی ایجنت در حدود 2μs، مصرف حافظهی حدود 3.75 KiB به ازای هر ایجنت، و پشتیبانی از حدود 23 ارائهدهندهی مدل.
- مسیر پروداکشن: بکاند بیوضعیت FastAPI با دامنهی نشست. با هر درخواست یک ایجنت تازه ساخته میشود و وضعیت نشست داخل پایگاه داده مینشیند.
- پشتیبانی درونساخت از مدلهای چندحالته (متن، تصویر، صوت، ویدیو، فایل) و RAG ایجنتی (agentic RAG).
این اهداف سرعتی زمانی ارزش دارند که با هزاران ایجنت کوتاهعمر در هر ثانیه سروکار داشته باشید (تجمع چتها یا پایپلاینهای ارزیابی). اگر قرار باشد یک ایجنت 10 دقیقه مداوم اجرا شود، این میکروثانیهها دیگر اهمیتی ندارند.
Mastra
- مبتنی بر تایپاسکریپت، ساختهشده روی Vercel AI SDK.
- سه المان پایهای: ایجنتها (Agents)، ابزارها (Tools) با اعتبارسنجی Zod، و پایپلاینهای کاری (Workflows).
- مسیریاب مدلِ (Model Router) یکپارچه — دسترسی به بیش از 3,300 مدل از میان 94 ارائهدهنده (مارس 2026).
- ذخیرهسازی ترکیبی (Composite storage): تفکیک حافظه، پایپلاینها و مشاهدهپذیری در بکاندهای مختلف؛ برای مشاهدهپذیری در مقیاس بالا ClickHouse پیشنهاد میشود.
- مجوز Apache 2.0 بههمراه دایرکتوریهای
ee/تحت مجوز تجاریِ منبعدردسترس (source-available). - تطبیقدهندههای سرور برای Express، Hono، Fastify و Koa؛ بههمراه یکپارچگی پیشفرض و درجهیک با Next.js و Astro.
- ارائهی Mastra Studio (در آدرس localhost:4111) برای اشکالزدایی.
- بیش از 22 هزار ستاره در گیتهاب و افزون بر 300 هزار دانلود هفتگی در npm تا نسخهی 1.0 (ژانویه 2026).
جایگاهیابی
هیچکدام نمیخواهند ادای LangGraph را درآورند. رقابت آنها در این بخشهاست:
- همخوانی با زبان برنامهنویسی. اگر پشتهی شما با پایتون چیده شده Agno را انتخاب کنید؛ اگر مبتنی بر تایپاسکریپت است Mastra.
- ارگونومی محیط اجرا. در Agno سربار سیستم نزدیک به صفر است؛ در Mastra همهچیز کاملاً با اکوسیستم Vercel چفتوبست دارد.
- مشاهدهپذیری. هر دو با Langfuse، Phoenix و Opik یکپارچه میشوند (درس 24)، ولی ابزار Mastra Studio متعلق به خود Mastra است.
کدام را چه زمانی انتخاب کنیم؟
- Agno — بکاند پایتونی، تعداد زیادی ایجنت کوتاهعمر، الزامات سفتوسخت کارایی، و زیرساخت متکی به FastAPI.
- Mastra — بکاند تایپاسکریپتی، استقرار روی Next.js یا Vercel، مسیریابی یکپارچه میان چندین ارائهدهندهی مدل، و ابزارهایی با تایپ دقیق با Zod.
- LangGraph (درس 13) — زمانی که وضعیت پایدار (durable state) و استدلال صریح در قالب گراف، مهمتر از سرعت پردازش خام باشد.
- OpenAI / Claude Agent SDK — زمانی که چارچوب استاندارد و محصولیِ ارائهدهنده را میخواهید (درسهای 16 و 17).
این الگو کجا به خطا میرود؟
- سرعتپرستی بیهوده. انتخاب Agno فقط به این دلیل که «2 میکروثانیه» جذاب به نظر میرسد، درحالیکه کل پردازش شما یک فراخوانی کند ایجنت در هر درخواست است. در این حالت گلوگاه شما اصلاً سربار سیستم نیست.
- قفل شدن در اکوسیستم (Lock-in). هماهنگی Mastra با سبک و سیاق Vercel، روی خود Vercel مزیت است اما در محیطهای دیگر عیب بهشمار میرود.
- سوءتفاهم دربارهی مجوز سازمانی. پوشههای
ee/در Mastra منبعدردسترس هستند، نه Apache 2.0. اگر برنامهای برای fork کردن پروژه دارید، حتماً متن مجوزها را بخوانید.
پیادهسازی از صفر
این درس ماهیت مقایسهای دارد — هیچ دستسازهی کدِ واحدی نمیتواند حق مطلب را دربارهی هر دو فریمورک ادا کند. برای دیدن یک نمونهی کوچک و مقایسهی روبهرو، به code/main.py سر بزنید: جریان سادهی «اجرای یک ایجنت، استریم کردن خروجی و ذخیرهی نشست» که دو بار پیادهسازی شده است (یک بار به سبک Agno و یک بار به سبک Mastra).
اجرای آن:
python3 code/main.py
این دستور دو ردگیری محاسبات (trace) با ساختار متفاوت ولی کارکردی کاملاً یکسان نمایش میدهد.
استفاده از ابزارهای واقعی
- Agno — مناسب بکاند پایتونی که نیازمند سرعت بالا و ساختار آمادهی FastAPI است.
- Mastra — مناسب بکاند تایپاسکریپتی با تنوع بالایی از ارائهدهندگان مدل و نیازمند الگوهای پیشرفتهی پایپلاین کاری.
- هر دو فریمورک هوکهای مشاهدهپذیری توکار ارائه میدهند و بهراحتی با Langfuse یکپارچه میشوند.
خروجی این درس
فایل outputs/skill-runtime-picker.md بر اساس پشتهی فنی، سقف تاخیر (latency budget) و وضعیت عملیاتی شما، بهترین گزینه را از میان Agno، Mastra، LangGraph یا SDK اختصاصی ارائهدهندگان انتخاب میکند.
تمرینها
- مستندات Agno را مطالعه کنید. حلقهی ReAct با کتابخانهی استاندارد (درس 01) را به Agno منتقل کنید. چه بخشهایی حذف شدند؟ چه چیزهایی دستنخورده باقی ماندند؟
- مستندات Mastra را بررسی کنید. همان حلقه را روی Mastra پیاده کنید. سیستم تایپگذاری ابزارها (استفاده از Zod در برابر عدم استفاده از آن) چه تغییری کرد؟
- بنچمارک بگیرید: تاخیر در نمونهسازی ایجنت را روی پشتهی خودتان بسنجید. آیا رسیدن به سرعت 2 میکروثانیهای Agno واقعاً روی حجم کاری شما اثر ملموسی دارد؟
- برنامهی مهاجرت طراحی کنید: اگر پروژهای را با CrewAI در پایتون اجرا کردهاید، جابهجایی به Agno چه بخشهایی از سیستم را از کار میاندازد؟
- متن مجوز
ee/را در Mastra بررسی کنید. چه محدودیتهایی ممکن است مانع یک fork متنباز از این پروژه شود؟
اصطلاحات کلیدی
| اصطلاح | باور عامیانه | معنای واقعی و فنی |
|---|---|---|
| Agno | «ایجنتهای سریع در پایتون» | محیط اجرای ایجنت بیوضعیت با دامنهی محدود به نشست |
| Mastra | «ایجنتهای تایپاسکریپت روی Vercel AI SDK» | ترکیب ایجنتها + ابزارها + پایپلاینهای کاری + مسیریاب مدل |
| Unified Model Router | «دسترسی به چند ارائهدهنده» | کلاینت یکپارچه برای بیش از 3,300 مدل از 94 ارائهدهنده |
| Composite storage | «پشتیبانی از چند بکاند» | تفکیک حافظه، پایپلاینها و مشاهدهپذیری در فضاهای ذخیرهسازی مجزا |
| Mastra Studio | «اشکالزدای محلی» | رابط کاربری روی localhost:4111 برای بازرسی درون برنامهای ایجنتها |
| Source-available | «متنباز نبودن» | مجوزی که خواندن کدهای منبع را مجاز میداند اما کاربرد تجاری آن را محدود میکند |
برای مطالعهی بیشتر
- مستندات Agno Agent Framework — اهداف عملکردی و شیوهی اتصال به FastAPI
- مستندات Mastra — المانهای پایهای، تطبیقدهندههای سرور و مسیریاب مدل
- بررسی اجمالی LangGraph — گزینهی جایگزین مبتنی بر گراف وضعیتدار
- Comet Opik — مقایسهی امکانات مشاهدهپذیری که در یکپارچهسازیهای Mastra به آن اشاره شده است
