آموزش هوش مصنوعی

انتخاب فریم‌ورک ایجنت؛ چه چیزی را آماده بگیریم و چه را بسازیم؟

متوسط مطالعه در ۹ دقیقه
mahdyar

انتخاب فریم‌ورک ایجنت یکی از تصمیم‌هایی است که اثرش سال‌ها در پروژه می‌ماند. فریم‌ورک می‌تواند کار با ابزار، وضعیت و اجرای چندمرحله‌ای را بسیار ساده کند. اما هر قابلیت آماده یک وابستگی هم ایجاد می‌کند؛ وابستگی به شیوه‌ی فکرکردن، به‌روزرسانی‌ها و محدودیت‌های آن فریم‌ورک.

در قسمت‌های قبل این مجموعه با smolagents و LangGraph کار کردیم. در این قسمت از مجموعه‌ی آموزش هوش مصنوعی تخته سبز، نگاهی کلی‌تر به فریم‌ورک‌های ایجنت می‌اندازیم. دو ابزار مایکروسافت را هم کنار آن‌ها مقایسه می‌کنیم. انتخاب درست از فهرست ویژگی‌ها شروع نمی‌شود؛ از نیاز واقعی پروژه شروع می‌شود.

فریم‌ورک ایجنت چیست و چه کاری انجام می‌دهد؟

فریم‌ورک‌های معمولی هوش مصنوعی به شما کمک می‌کنند هوش مصنوعی را در برنامه جا بدهید. شخصی‌سازی، مثل پیشنهاد فیلم در سرویس‌های پخش؛ خودکارسازی، مثل چت‌بات پشتیبانی؛ و تجربه‌ی بهتر، مثل دستیارهای صوتی، نمونه‌های رایج آن‌اند.

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

سه قابلیت کلیدی

فریم‌ورک ایجنت سه قابلیت اصلی فراهم می‌کند:

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

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

سه الگوی مشترک در همه‌ی فریم‌ورک‌ها

این حوزه سریع تغییر می‌کند، اما سه الگو تقریباً در همه‌ی فریم‌ورک‌ها مشترک است. اولی اجزای ماژولار است؛ اتصال آماده به مدل، تعریف ابزار، حافظه و مدیریت ایجنت. تیم می‌تواند این اجزا را سریع کنار هم بگذارد و بدون شروع از صفر یک نمونه‌ی کارا بسازد.

دومی ابزارهای همکاری است؛ تعریف ایجنت‌هایی با نقش و وظیفه‌ی مشخص که با هم کار می‌کنند. مثلاً یک ایجنت داده را بازیابی می‌کند و ایجنت دیگر آن را تحلیل می‌کند. سومی یادگیری از بازخورد است؛ حلقه‌هایی که ایجنت با آن‌ها از تعامل‌ها یاد می‌گیرد و رفتارش را تنظیم می‌کند.

دو رویکرد؛ کیت توسعه یا سرویس مدیریت‌شده

فریم‌ورک‌های ایجنت را می‌توان در دو دسته‌ی کلی گذاشت. این تمایز مهم‌تر از نام محصول است، چون تعیین می‌کند کنترل و مسئولیت کجا باشد.

کیت توسعه؛ کنترل در دست شما

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

smolagents و LangGraph هم در همین دسته‌اند. مزیت این رویکرد کنترل کامل است؛ کد، داده و محل اجرا در اختیار شماست. در عوض، استقرار، مقیاس‌پذیری و امنیت هم بر عهده‌ی خودتان است.

سرویس مدیریت‌شده؛ زیرساخت آماده

سرویس مدیریت‌شده پلتفرمی است که ایجنت را برایتان میزبانی می‌کند. Microsoft Foundry Agent Service نمونه‌ای از آن است. در این سرویس، ایجنت مثل یک میکروسرویس هوشمند عمل می‌کند که می‌تواند به پرسش‌ها پاسخ دهد، اقدام انجام دهد یا گردش کار را خودکار کند.

گفت‌وگوها در قالب رشته (Thread) نگه داشته می‌شوند و پیام‌ها و فایل‌ها در سرویس ذخیره می‌شوند. اتصال آماده به ابزارهایی مثل جستجو، مفسر کد و توابع ابری هم وجود دارد. سازوکارهای امنیتی و ذخیره‌سازی سازمانی هم از پیش فراهم است. در عوض، به همان پلتفرم وابسته می‌شوید.

ترکیب دو رویکرد

این دو رویکرد رقیب نیستند و می‌توانند کنار هم کار کنند. راه رایج این است که ایجنت را با کیت توسعه بسازید و آزمایش کنید. بعد هنگام نیاز به استقرار و مقیاس‌پذیری سازمانی، آن را روی سرویس مدیریت‌شده منتقل کنید.

جدول زیر تفاوت‌های اصلی را کنار هم می‌گذارد.

جنبهکیت توسعهسرویس مدیریت‌شده
نمونه‌هاMicrosoft Agent Framework، smolagents، LangGraphMicrosoft Foundry Agent Service
محل اجرازیرساخت شماپلتفرم ارائه‌دهنده
کنترلکاملمحدود به امکانات سرویس
امنیت و ذخیره‌ی گفت‌وگوبر عهده‌ی شماآماده
سرعت شروعسریع برای نمونه‌سازیسریع برای استقرار سازمانی
وابستگیبه کتابخانهبه کتابخانه و پلتفرم

مقایسه‌ی چهار گزینه‌ی رایج

حالا چهار گزینه را که در این مجموعه با آن‌ها آشنا شده‌ایم، از نظر فلسفه‌ی طراحی مقایسه می‌کنیم. هیچ‌کدام «بهترین» نیست؛ هر کدام برای نوع خاصی از پروژه ساخته شده است.

smolagents و LangGraph

smolagents سبک و ساده است و روی CodeAgent تمرکز دارد؛ ایجنتی که اقدام‌ها را با کد پایتون می‌نویسد. برای نمونه‌سازی سریع و پروژه‌هایی که ایجنت آزادی عمل زیادی دارد، عالی است. کنترل کمتری بر مسیر اجرا می‌دهد، چون مدل خودش قدم بعدی را انتخاب می‌کند.

LangGraph مسیر اجرا را به شکل گراف صریح تعریف می‌کند. هر گره یک مرحله است و یال‌ها مسیر حرکت را تعیین می‌کنند. کنترل بسیار دقیقی می‌دهد و توقف برای تأیید انسانی را به‌راحتی ممکن می‌کند. در عوض کد بیشتری می‌خواهد و یادگیری‌اش زمان‌برتر است.

Microsoft Agent Framework و Foundry Agent Service

Microsoft Agent Framework یک کیت توسعه‌ی آماده‌ی تولید برای پایتون و ‎.NET است. API ساده‌ای برای ساخت ایجنت با ابزار، مدیریت گفت‌وگو و گردش‌های چندمرحله‌ای دارد و با هویت و سرویس‌های Azure یکپارچه است. برای تیم‌هایی که در اکوسیستم مایکروسافت کار می‌کنند، انتخاب طبیعی است.

Foundry Agent Service برای برنامه‌های سازمانی ساخته شده که به استقرار امن و مقیاس‌پذیر نیاز دارند. اتصال آماده به جستجو، مفسر کد و توابع ابری دارد و با Agent Framework هم کار می‌کند. در قسمت چهل‌وششم همین مجموعه، یک نمونه‌ی کامل با Microsoft Agent Framework می‌سازیم.

ماتریس انتخاب فریم‌ورک ایجنت

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

ماتریس انتخاب فریم‌ورک ایجنت از نیاز پروژه تا امتیازدهی

پرسش‌های کلیدی

پیش از انتخاب، این پرسش‌ها را برای پروژه‌ی خودتان جواب دهید. پاسخ‌ها گزینه‌ها را به‌سرعت محدود می‌کنند:

  • میزان آزادی ایجنت: آیا مسیر کار از پیش مشخص است یا ایجنت باید خودش تصمیم بگیرد؟
  • توقف انسانی: آیا در میانه‌ی کار به تأیید انسان نیاز دارید و باید اجرا را بعداً ادامه داد؟
  • محل استقرار: ایجنت روی زیرساخت شما اجرا می‌شود یا روی سرویس ابری؟
  • اکوسیستم تیم: تیم با کدام زبان و کدام سرویس‌ها کار می‌کند؟
  • آزمون‌پذیری: آیا می‌توان هر مرحله را جداگانه آزمایش کرد؟

سناریو؛ دستیار جستجوی اسناد با تأیید مدرس

یک تیم دو نفره باید دستیار جستجوی اسناد آموزشی بسازد. دستیار باید بتواند در میانه‌ی کار برای تأیید مدرس متوقف شود و بعد از تأیید ادامه دهد. ورودی آزمون یکسان است: یک سناریو، یک ابزار جستجو و یک شرط توقف انسانی.

اقدام مورد بررسی، ساخت نمونه‌ی مسیر اصلی و یک مسیر خطا در دو یا سه گزینه‌ی منتخب است. معیار پذیرش سه بخش دارد: وضعیت ایجنت در هر لحظه روشن باشد، هر مرحله قابل آزمون باشد و ادامه‌ی اجرای متوقف‌شده ساده باشد. جدول زیر یک نمونه ماتریس امتیازدهی است.

معیاروزنگزینه‌ی الفگزینه‌ی بگزینه‌ی ج
وضوح وضعیت ایجنت۳
توقف و ادامه‌ی اجرا۳
آزمون‌پذیری مراحل۲
سازگاری با زیرساخت تیم۲
هزینه‌ی یادگیری۱

نمونه‌ی شکست؛ انتخاب بر اساس محبوبیت

شکستی که باید عمداً از آن پرهیز کنید، انتخاب فریم‌ورک فقط به دلیل تعداد نمونه‌کدها یا محبوبیتش است. فریم‌ورکی که در شبکه‌های اجتماعی پرطرفدار است، ممکن است دقیقاً قابلیتی را که شما لازم دارید، مثل ادامه‌ی اجرای متوقف‌شده، نداشته باشد.

راه پیشگیری ساده است. پیش از هر تصمیم، مسیر اصلی و یک مسیر خطای پروژه‌ی خودتان را در هر گزینه پیاده کنید. نیم روز نمونه‌سازی، از ماه‌ها مهاجرت از یک انتخاب اشتباه ارزان‌تر است.

تمرین عملی؛ ماتریس انتخاب پروژه‌ی خودتان

خروجی این تمرین ماتریس انتخاب فریم‌ورک بر اساس نیازهای پروژه‌ی خودتان است:

  1. پنج پرسش کلیدی بالا را برای پروژه‌تان جواب دهید.
  2. دو یا سه فریم‌ورک نامزد را انتخاب و برای هر کدام مسیر اصلی و یک مسیر خطا را پیاده کنید.
  3. ماتریس امتیازدهی را پر کنید و تصمیم نهایی را با دلیل بنویسید.

مشخص کنید کدام بخش را واقعاً اجرا کرده‌اید و کدام هنوز فرض است. اگر دو گزینه امتیاز نزدیک داشتند، گزینه‌ای را انتخاب کنید که مهاجرت از آن ساده‌تر است.

سخن پایانی

انتخاب فریم‌ورک ایجنت یعنی انتخاب اینکه چه چیزی را آماده بگیرید و مسئولیت چه چیزی را خودتان بپذیرید. کیت‌های توسعه‌ای مثل Microsoft Agent Framework، smolagents و LangGraph کنترل می‌دهند؛ سرویس‌های مدیریت‌شده‌ای مثل Foundry Agent Service زیرساخت آماده. از نیاز پروژه شروع کنید، هر گزینه را با مسیر اصلی و یک مسیر خطای واقعی بیازمایید و با یک ماتریس ساده تصمیم بگیرید؛ نه بر اساس محبوبیت.

در قسمت بعد سراغ اصول طراحی ایجنت کاربردی می‌رویم؛ مرز مسئولیت، اختیار و بازخورد.

این آموزش بر پایه‌ی درس Explore AI Agentic Frameworks از مجموعه‌ی آزاد AI Agents for Beginners مایکروسافت (مجوز MIT) به فارسی بازنویسی و تکمیل شده است.

پرسش‌های پرتکرار

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

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

فرق کیت توسعه‌ی ایجنت با سرویس مدیریت‌شده‌ی ایجنت چیست؟

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

برای شروع کدام فریم‌ورک ایجنت مناسب‌تر است؟

برای یادگیری و نمونه‌سازی سریع، کتابخانه‌های سبکی مثل smolagents یا کیت‌هایی مثل Microsoft Agent Framework مناسب‌اند. اگر کنترل دقیق بر مسیر اجرا و توقف برای تأیید انسانی می‌خواهید، LangGraph گزینه‌ی خوبی است.

اشتباه رایج در انتخاب فریم‌ورک ایجنت چیست؟

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

دیدگاه‌ها

هنوز دیدگاهی ثبت نشده است. شروع‌کننده باشید — پرسش و اصلاح را با آغوش باز می‌پذیریم.

دیدگاه بگذارید

برای **پررنگ**، *مورب*، `کد` و لینک از Markdown استفاده کنید. لینک‌ها nofollow هستند.

پنج رقم داخل تصویر را وارد کنید. اعداد فارسی و انگلیسی پذیرفته می‌شوند.

تصویر کد امنیتی پنج‌رقمی

در حال دریافت کد امنیتی…

مهلت کد تمام شد. روی «کد جدید» بزنید.