ai-agents-for-beginners

طراحی چندعاملی

(برای مشاهده ویدیو این درس روی تصویر بالا کلیک کنید)

الگوهای طراحی چندعاملی

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

معرفی

در این درس، قصد داریم به سؤالات زیر پاسخ دهیم:

اهداف یادگیری

پس از این درس باید بتوانید:

تصویر بزرگ‌تر چیست؟

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

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

سناریوهایی که چندعامل کاربرد دارند

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

مزایای استفاده از چند عامل نسبت به یک عامل واحد

سیستم یک عاملی ممکن است برای کارهای ساده خوب باشد، اما برای کارهای پیچیده‌تر، استفاده از چند عامل می‌تواند مزایای فراوانی داشته باشد:

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

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

بلوک‌های ساختمانی پیاده‌سازی الگوی طراحی چندعاملی

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

بیایید این موضوع را دوباره با مثال رزرو سفر برای یک کاربر ملموس‌تر کنیم. در این مورد، بلوک‌های ساختمانی شامل موارد زیر هستند:

دید به تعاملات چندعاملی

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

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

بیایید هر یک از این جنبه‌ها را دقیق‌تر بررسی کنیم.

الگوهای چندعاملی

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

چت گروهی

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

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

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

چت گروهی

تحویل کار

این الگو زمانی مفید است که بخواهید برنامه‌ای بسازید که در آن چند عامل بتوانند کارها را به یکدیگر تحویل دهند.

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

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

تحویل کار

فیلترینگ مشارکتی

این الگو زمانی مفید است که بخواهید برنامه‌ای بسازید که در آن چند عامل بتوانند برای ارائه توصیه به کاربران همکاری کنند.

دلیل اینکه بخواهید چند عامل همکاری کنند این است که هر عامل می‌تواند تخصص متفاوتی داشته باشد و به روش‌های مختلف در فرایند توصیه نقش داشته باشد.

بیایید مثالی بزنیم که کاربری می‌خواهد توصیه درباره بهترین سهام برای خرید در بازار بورس دریافت کند.

توصیه

سناریو: فرآیند بازپرداخت

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

عوامل خاص فرآیند بازپرداخت:

عوامل زیر می‌توانند در فرآیند بازپرداخت دخیل باشند:

عوامل عمومی:

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

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

تمرین

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

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

نکته: به مراحل مختلف فرآیند پشتیبانی مشتری فکر کنید و همچنین عواملی را که برای هر سیستمی لازم است در نظر بگیرید.

راه‌حل

Solution

ارزیابی دانش

سؤال: چه زمانی باید استفاده از چند عامل را در نظر بگیرید؟

Solution quiz

خلاصه

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

سوالات بیشتری درباره الگوی طراحی چندعامله دارید؟

به Microsoft Foundry Discord بپیوندید تا با دیگر یادگیرندگان ملاقات کنید، در ساعت کاری حضور داشته باشید و سوالات خود درباره عوامل هوش مصنوعی را مطرح کنید.

منابع بیشتر

درس قبلی

Planning Design

درس بعدی

Metacognition in AI Agents


تذکر مهم:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. هرچند ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی اشتباهات یا نادرستی‌هایی باشند. سند اصلی به زبان بومی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، استفاده از ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ‌گونه سو تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه نیستیم.