معرفی AACP (پروتکل ارتباطی عامل به نماینده)

عامل ها هسته های خرد خود مختار هستند که پتانسیل انجام بسیاری از وظایف فکری و دانش محور را دارند. کلید توانمندسازی این عوامل برای انجام خوب، تخصص عمیق کار، همراه با داشتن زمینه آن کار و یادگیری درون متنی است. با این حال، مهم است که بدانیم که پیچیده ترین کار توسط “تیم ها” انجام می شود، نه افراد. برای عملکرد موثر تیم ها، همکاری و ساختار ارتباطی مناسب بسیار مهم است.
ما به عنوان انسان، مکانیسمهای ارتباطی پیچیدهای را در راهاندازی کار دانش توسعه دادهایم، از جمله بلیط، پیامهای شل، جلسات حضوری یا از راه دور، هیئتهای نمایندگی، بررسیها، ردیابها و غیره. این مکانیسمها همکاری معنادار را برای انجام وظایف پیچیده تسهیل میکنند. مکانیزم مشابهی در مورد عوامل مستقل وجود ندارد. اگر مکانیسم مناسبی برای تعامل با عوامل همکار خود داشته باشند، می توانند حداقل 1000 برابر بازدهی بیشتری داشته باشند.
تمام ساختارهای ارتباطی دارای پروتکل های معنایی و نحوی هستند که منجر به انتقال و دریافت منسجم اطلاعات رمزگذاری شده می شود. به عنوان مثال، زبان های باینری یا برنامه نویسی را در نظر بگیرید، که به عنوان ابزار مؤثری برای تعامل انسان با رایانه ها عمل می کنند. مثال دیگر HTTP است، پروتکلی که اساس هرگونه تبادل داده در وب را تشکیل می دهد و انتقال اسناد ابررسانه ای مانند HTML را تسهیل می کند. این یک پروتکل درخواست-پاسخ در مدل محاسباتی مشتری-سرور است. مرورگر وب را در نظر بگیرید که به عنوان یک کلاینت عمل می کند در حالی که یک برنامه کاربردی در رایانه ای که میزبان یک صفحه وب است به عنوان سرور اجرا می شود. در این رابطه، کلاینت درخواستی را به سرور ارسال می کند که پاسخی را برمی گرداند. HTTP فقط کار را به نحو احسن انجام می دهد!
یک پروتکل مشابه باید برای عامل ها وجود داشته باشد، پروتکلی که صرفاً به تبادل داده محدود نمی شود، بلکه شامل انتقال معنایی یا مذاکره بین عامل های هوشمند است. ما AACP یا پروتکل ارتباطی عامل به نماینده را پیشنهاد می کنیم.
🗝️ اجزای کلیدی AACP
AACP می تواند شامل اجزای زیر باشد:
شناسه عامل (AI): یک شناسه منحصر به فرد جهانی، مانند یک UUID، برای هر عامل در شبکه.
Session Identifier (SI): شناسه جلسه منحصر به فرد در هر تعامل. این شناسه برای ارتباط بین درخواست ها و پاسخ ها استفاده می شود، به ویژه در ارتباطات ناهمزمان مفید است.
Action Code (AC): یک کد منحصر به فرد که نشان دهنده عملی است که یک عامل می خواهد انجام دهد.
پارامترهای عمل (AP): مجموعه ای از جفت های کلید-مقدار جزئیات لازم برای انجام عمل را ارائه می دهد. اینها می توانند داده های مربوط به عملکرد، شناسه ها، ابرداده ها و غیره باشند.
مهر زمانی (TS): زمانی که درخواست/پاسخ ایجاد شد.
زمینه عامل (CTX): وضعیت یا زمینه یک عامل در زمان ایجاد یک درخواست. این می تواند شامل وضعیت فعلی، قرائت سنسور و غیره باشد.
Payload (PL): هر داده یا پیام اضافی مرتبط با عمل.
علاوه بر این، AACP باید شامل موارد زیر باشد:
Multiplexing: به درخواست ها و پاسخ های متعدد در یک جلسه اجازه می دهد.
مکانیسم امتحان مجدد: اگر نماینده در بازه زمانی مشخصی پاسخی دریافت نکند، میتواند درخواست را دوباره ارسال کند.
Throttling: برای جلوگیری از بارگذاری بیش از حد هر عاملی، میتوان مکانیزمی برای محدود کردن تعداد درخواستهایی که یک نماینده میتواند در یک بازه زمانی خاص ارائه کند وجود داشته باشد.
سازگاری به عقب: تضمین می کند که نسخه های جدید پروتکل با نسخه های قدیمی تر کار می کنند.
🌐 یک مثال عملی از تعامل AACP
سناریویی را در نظر بگیرید که در آن Master وظیفه ای را به Worker اختصاص می دهد که شامل تجزیه و تحلیل یک مجموعه داده خاص و برگرداندن نتایج است. یک نمونه درخواست از عامل Master به عامل Worker می تواند به شکل زیر باشد:
{
"AI": "Master-UUID-001",
"SI": "Session-UUID-100",
"TS": "2023-06-09T14:30:15Z",
"AC": "TA",
"AP": {
"TaskID": "Task-UUID-200",
"DataSet": "DataSet-UUID-300"
},
"CTX": {
"CurrentTaskStatus": "Idle",
"LastTaskCompletionTime": "2023-06-09T14:00:00Z"
},
"PL": {
"AnalysisType": "Deep Learning",
"Model": "Model-UUID-400"
}
}
👨💻 پیاده سازی کدهای پیام AACP
علاوه بر اجزای ذکر شده قبلی، AACP باید کدهای پیام مشترک، مشابه کدهای وضعیت HTTP مانند 404، 200 و غیره را نیز ایجاد کند.
تبادل داده (DE): ‘AP’ داده هایی را برای مبادله حمل می کند و ‘PL’ ممکن است شامل اشیاء داده بزرگ باشد.
تخصیص وظیفه (TA): “AP” وظیفه را مشخص می کند و “PL” ممکن است حاوی جزئیات کار اضافی باشد.
درخواست قابلیت (CR): «AP» مشخص میکند که در مورد چه قابلیتهایی سؤال میشود.
پرس و جو وضعیت (SQ): “AP” شامل شناسه های وظایف برای بررسی وضعیت است.
ساخت یک پروتکل ارتباطی مشترک به عنوان یک چارچوب باز می تواند به طور قابل توجهی بهره وری شبکه عامل را افزایش دهد. سناریویی را تصور کنید که در آن یک نماینده تدارکات از شرکتی مانند SAP با یک نماینده فروش فروشنده جدید تعامل دارد یا نماینده سلامت شخصی شما با یک پزشک در ارتباط است. امکانات، در واقع، هیجان انگیز و بی حد و حصر هستند.