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

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

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

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