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

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

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

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