پروتکل متن مدل: عصر جدید یکپارچگی هوش مصنوعی

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

برای اطمینان از قابلیت اطمینان و ارتباط خروجی‌های LLM، استراتژی‌های مختلفی ظهور کرده‌اند که هر کدام برای پر کردن شکاف بین این مدل‌ها و مجموعه‌های داده خاص طراحی شده‌اند. این استراتژی‌ها از ایجاد جاسازی‌های سفارشی و استفاده از تکنیک‌های تولید تقویت‌شده بازیابی (RAG) – استفاده از پایگاه‌های داده گراف برای کشف روابط پیچیده در داده‌ها – تا استفاده از LLMها برای تقطیر و ارائه داده‌های به‌دست‌آمده از طریق فراخوانی‌های OpenAPI که توسط دستورات کاربر ایجاد می‌شوند، متغیر هستند. علاوه بر این، مدل پلاگین که توسط ChatGPT OpenAI محبوب شده است، راه دیگری برای ادغام داده‌ها ارائه می‌دهد. در میان این رویکردهای متنوع، پروتکل متن مدل (MCP) به عنوان یک راه حل امیدوارکننده برای استانداردسازی اتصال بین LLMها و منابع داده خارجی برجسته می‌شود.

رونمایی از پروتکل متن مدل

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

MCP به عنوان یک ابتکار منبع باز، پیاده‌سازی‌های SDK را برای طیف گسترده‌ای از زبان‌های برنامه‌نویسی ارائه می‌دهد که با مستندات جامع در مخزن GitHub خود همراه است. این مستندات توسعه‌دهندگان را قادر می‌سازد تا سرورهای MCP را به طور موثر پیاده‌سازی یا استفاده کنند. توصیف پروژه از MCP به عنوان یک ‘پورت USB-C برای برنامه‌های هوش مصنوعی’ به خوبی ماهیت آن را نشان می‌دهد و توانایی آن را در استانداردسازی اتصالات به منابع داده متنوع برجسته می‌کند. MCP که بر پایه یک پایه استاندارد ساخته شده است، به راحتی با پروژه‌های موجود ادغام می‌شود و به طور یکپارچه با LLMها و ارائه دهندگان استنتاج مختلف ارتباط برقرار می‌کند.

معماری MCP از یک مدل کلاینت/سرور تثبیت‌شده پیروی می‌کند، جایی که یک کارگزار مسئولیت ترجمه درخواست‌های MCP به درخواست‌های محلی یا راه دور را بر عهده می‌گیرد. این طراحی عملکرد زبان‌های تعریف رابط مانند CORBA را منعکس می‌کند و MCP را به یک لایه قابلیت همکاری همه‌کاره تبدیل می‌کند که جابجایی یکپارچه بین منابع اطلاعات و برنامه‌های LLM را تسهیل می‌کند. MCP با استفاده از اتصال JSON RPC، کنترل دقیق در سطح کاربر را از طریق ابزارهایی مانند Azure API Management امکان‌پذیر می‌کند.

MCP توسعه رابط‌های عمومی برای کد مبتنی بر هوش مصنوعی را ترویج می‌کند، که با افزایش پذیرش آن در سراسر پلتفرم‌های توسعه هوش مصنوعی مایکروسافت مشهود است. MCP از ادغام آن در ابزار ارکستراسیون مدل Semantic Kernel تا استقرار آن به عنوان سرورهای MCP سازگار با Azure OpenAI و Azure AI Foundry، به سرعت در حال محبوبیت است. مایکروسافت همچنین در حال تقویت Azure API Management با ویژگی‌هایی برای کنترل دسترسی به داده‌ها بر اساس اعتبارنامه کاربر است که نقش MCP را در استقرارهای ایمن و مدیریت‌شده هوش مصنوعی بیشتر تقویت می‌کند.

سرور Azure MCP: یک پیاده‌سازی اولیه

سرور منبع باز Azure MCP که اخیراً در پیش‌نمایش عمومی منتشر شده است، نمونه‌ای از یک پیاده‌سازی اولیه از MCP در پلتفرم مایکروسافت است. این سرور به عنوان یک کارگزار مشترک برای دسترسی هوش مصنوعی به سرویس‌های کلیدی Azure عمل می‌کند و به اصول منبع باز که بسیاری از پروژه‌های اخیر Azure از آن استقبال کرده‌اند، پایبند است. کد آن به راحتی در GitHub قابل دسترسی است. سرور Azure MCP دسترسی به بخش قابل توجهی از پلتفرم Azure، از جمله پایگاه‌های داده، راه حل‌های ذخیره‌سازی و سرویس‌هایی مانند Azure CLI را فراهم می‌کند.

گنجاندن پشتیبانی از Azure CLI (و Developer CLI) به ویژه قابل توجه است، زیرا عوامل مبتنی بر MCP را قادر می‌سازد تا مستقیماً با Azure تعامل داشته باشند و فراخوانی‌های MCP را به عنوان اپراتور در نظر بگیرند. این قابلیت راه را برای ساختن عواملی هموار می‌کند که یک رابط سلف‌سرویس زبان طبیعی به Azure ارائه می‌دهند. به عنوان مثال، یک عامل می‌تواند توضیحی از یک زیرساخت را دریافت کند و به طور خودکار قالب‌های ARM مورد نیاز برای استقرار آن را ایجاد کند. با گسترش بیشتر این مفهوم، می‌توان یک عامل چندوجهی را متصور شد که یک طرح وایت‌بورد را تجزیه و تحلیل می‌کند، توضیحی از منابع لازم را استخراج می‌کند و سپس زیرساخت را مستقر می‌کند و توسعه فوری کد را امکان‌پذیر می‌کند. سرویس‌های مدیریت سیستم اضافی قابل دسترسی از طریق سرور Azure MCP شامل فهرست کردن گروه‌های منابع فعلی و استفاده از KQL برای پرس و جو از گزارش‌های Azure Monitoring است.

ادغام سرور Azure MCP با GitHub Copilot Chat

از آنجا که از استاندارد MCP پیروی می‌کند، سرور Azure MCP به طور یکپارچه با هر ابزار هوش مصنوعی که از MCP پشتیبانی می‌کند، مانند حالت عامل GitHub Copilot، ادغام می‌شود. با افزودن ساده سرور به مستاجر خود، می‌توانید از طریق Copilot، چه مستقیماً و چه از طریق ادغام Visual Studio Code، سؤال بپرسید. این گزینه دوم وسیله‌ای موثر برای یادگیری نحوه استفاده از MCP و ساخت دستورات برای برنامه‌های هوش مصنوعی مبتنی بر MCP خود ارائه می‌دهد.

در حال حاضر، مایکروسافت هنوز یک ابزار MCP اختصاصی برای زبان‌های برنامه‌نویسی خود منتشر نکرده است، و استفاده از SDKهای رسمی برای توسعه کد سفارشی را ضروری می‌سازد. توسعه‌دهندگان با پشتیبانی از TypeScript، C# و Python، به ابزارهای لازم برای ایجاد عوامل Azure MCP خود دسترسی دارند. آزمایش را می‌توان در Visual Studio Code با استفاده از اعتبارنامه‌های Azure موجود انجام داد.

سرور روی رایانه توسعه شما اجرا می‌شود و به Node.js نیاز دارد. نصب به طور مستقیم از مخزن GitHub پروژه در VS Code انجام می‌شود. پس از نصب، اطمینان حاصل کنید که هر دو افزونه GitHub Copilot و GitHub Copilot Chat برای استفاده از حالت عامل آزمایشی پیکربندی شده‌اند (از طریق ابزار تنظیمات VS Code قابل دسترسی است). پس از آن، پانل چت GitHub Copilot را باز کنید و به حالت عامل تغییر دهید. بررسی کنید که سرور Azure MCP در لیست کشویی ابزارها نصب شده باشد. اکنون می‌توانید پرس و جوهایی مانند ‘لیست اشتراک‌های Azure من’ را ارسال کنید.

این ابزار حاصل ثابت می‌کند برای هر کسی که با Azure کار می‌کند ارزشمند است و فراتر از ادغام Copilot گسترش می‌یابد. سرور Azure MCP را می‌توان در هر جایی که Node.js پشتیبانی می‌شود نصب کرد و ادغام آن در عوامل سفارشی را امکان‌پذیر می‌کند.

نقش MCP در Azure AI Foundry

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

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

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

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

این سرور در پایتون پیاده‌سازی شده است و می‌توان آن را با استفاده از Azure CLI از طریق pip نصب کرد. از طرف دیگر، یک نسخه TypeScript برای کسانی که آن را ترجیح می‌دهند در دسترس است. مشابه سرور Azure MCP، این سرور خارج از محیط AI Foundry کار می‌کند و به آن اجازه می‌دهد تا روی یک رایانه توسعه یا به عنوان بخشی از یک برنامه میزبانی شده در ابر در داخل ظرف یا VM خود نصب شود و از Windows، macOS و Linux پشتیبانی می‌کند.

استفاده از سرورهای MCP از برنامه‌های Semantic Kernel AI

MCP به عنوان یک استاندارد باز، سازگاری سرور را با هر مشتری فعال می‌کند. مخزن GitHub دستورالعمل‌هایی را در مورد نحوه ایجاد اتصال با استفاده از Claude Desktop Anthropic ارائه می‌دهد، اما ارزش واقعی در ساخت گردش‌های کاری عامل سفارشی در Semantic Kernel نهفته است.

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

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