پروتکل بافت مدل (Model Context Protocol یا MCP) به عنوان یک استاندارد ملموس برای تبدیل مدلهای زبانی بزرگ (LLMs) به عاملهایی (agents) که میتوانند ابزارهای خارجی را در یک حلقه امن و قابل اندازهگیری فراخوانی کنند، منتشر شده است. با تعریف یک «رابط» مشترک بین هر میزبان (host) آگاه به MCP و هر سرور MCP، این پروتکل به توسعهدهندگان اجازه میدهد تا کدهای موردی (ad-hoc) را با یک گردش کار قابل پیشبینی و قابل حسابرسی جایگزین کنند.
چرا LLMها به یک پروتکل نیاز دارند
یک LLM فقط توکن بعدی متن را بر اساس دادههای آموزشی خود پیشبینی میکند. این مدل بدون منطق اضافی، نمیتواند حقایق جدید را استخراج کند، در یک پایگاه داده بنویسد یا یک API خارجی را فراخوانی کند. توسعهدهندگان «عاملهایی» ساختهاند که یک مدل را در یک حلقه قرار میدهند: مدل درخواست یک ابزار را میکند، ابزار اجرا میشود، نتیجه بازگردانده میشود و مدل تصمیم میگیرد که آیا ادامه دهد یا به کاربر پاسخ دهد.
این حلقه کار میکند، اما بدون مجموعهای از قوانین مشترک، ایجاد فرآیندهای مهارنشدنی یا قرار دادن سیستم در معرض فراخوانیهای ناخواسته آسان است. هر ابزار جدید به یک یکپارچهسازی سفارشی نیاز داشت که ردیابی میزان مصرف توکن، محدودیتهای بودجه یا سیاستهای امنیتی را در پروژههای مختلف دشوار میکرد.
MCP این شکافها را با قانونمند کردن ساختار حلقه و دادههایی که باید از طریق آن منتقل شوند، پر میکند.
آناتومی دو بخشی یک عامل MCP
MCP یک عامل را به دو بخش تقسیم میکند: یک تعریف (definition) – قالبی که شرح میدهد عامل چه کارهایی میتواند انجام دهد – و یک نمونه (instance) – اجرای عینی یک درخواست کاربر.
تعریف عامل (قالب)
- حلقه میزبان (Host loop) – هماهنگکنندهای که چرخه «پرسش-ابزار-خواندن-تصمیمگیری» را هدایت میکند.
- بافت سیستم (System context) – شخصیت و دستورالعملهای سطح بالا که رفتار مدل را شکل میدهند.
- مجموعه سرورهای MCP – کاتالوگی از منابع ابزار موجود که میزبان ممکن است آنها را فراخوانی کند.
- سیاست ابزار (Tool policy) – لیست صریحی از ابزارهایی که برای یک عامل مشخص مجاز هستند.
- انتخاب LLM – مدل خاصی که استدلال متنی را تولید خواهد کرد.
- محدودیتهای پایان (Termination limits) – حداکثر تعداد تکرارها و بودجه توکن برای جلوگیری از حلقههای بیپایان.
- قرارداد وظیفه (Task contract) – شرح رسمی از ورودیهایی که عامل میپذیرد و قالب خروجی که باز میگرداند.
- استراتژی بافت (Context strategy) – قوانینی برای نحوه کوتاه کردن یا خلاصهسازی تاریخچه گفتگو جهت باقی ماندن در محدوده محدودیتهای توکن.
نمونه عامل (وظیفه در حال اجرا)
- هدف (Goal) – درخواست کاربر که حلقه را آغاز میکند.
- بافت کاری (Working context) – تاریخچه انباشته شده، شامل نتایج قبلی ابزارها.
- اعتبارنامهها (Credentials) – توکنها یا مجموعه مجوزهای مورد نیاز برای فراخوانی ابزارهای انتخاب شده.
- بودجه مصرفشده (Consumed budget) – شمارش توکنهای صرف شده و مراحل طی شده تا این لحظه.
این عناصر نشان میدهند که یک عامل مجاز به انجام چه کارهایی است و در حال حاضر چه کاری انجام میدهد.
چگونه MCP جریان توسعه را تغییر میدهد
قبل از MCP، توسعهدهندهای که میخواست یک LLM یک API هواشناسی را پرسوجو کند، ردی را از یک پایگاه داده استخراج کند و سپس یک گزارش تهیه کند، مجبور بود برای هر نقطه پایانی (endpoint) کدهای واسط (glue code) سفارشی بنویسد. آن کدها اغلب فراخوانیهای ابزار را درون پرامپت مدل پنهان میکردند، که باعث میشد دیدن اینکه کدام درخواست باعث کدام پاسخ شده است، غیرممکن باشد.
با MCP، میزبان گفتگو را به مدل میفرستد، هر درخواست ابزاری را که مدل تولید میکند بررسی میکند، خود ابزار را اعزام میکند و سپس نتیجه را بازمیگرداند. کد اضافی بسیار ناچیز است، اما شفافیت کامل است: هر رفت و برگشت و هر توکن ثبت میشود.
این شفافیت دو مزیت عملی به همراه دارد:
- اندازهگیری هزینه – توسعهدهندگان میتوانند یک مدل ارزانتر را با یک مدل بزرگتر در یک وظیفه یکسان مقایسه کنند و دقیقاً ببینند هر تکرار چه تعداد توکن مصرف میکند.
- حسابرسی امنیتی – بررسی سیاستهای ابزار و اعتبارنامهها خارج از مدل انجام میشود، که از فراخوانی بیصدای سرویسهای غیرمجاز توسط مدل جلوگیری میکند.
آنچه هنوز تعریف نشده است
MCP شکل گفتگو و متادیتاهایی (metadata) که با آن منتقل میشوند را مشخص میکند، اما تعیین نمیکند که یک ابزار چگونه در داخل پیادهسازی میشود.
آنچه باید در ادامه زیر نظر داشت
- مجموعه معیارهای سنجش (Metric suites) – مقاله بعدی این مجموعه، فهرستی از اعدادی را که توسعهدهندگان باید ردیابی کنند (میزان مصرف توکن، تعداد تکرار، تأخیر برای هر ابزار) وعده میدهد. این معیارها به بررسیهای سلامت استاندارد (de-facto) برای هر عامل مبتنی بر MCP تبدیل خواهند شد.
خلاصه کلام
پروتکل بافت مدل (MCP) به عاملهای LLM یک ساختار مشترک و قابل حسابرسی میدهد که آنچه یک عامل میتواند انجام دهد را از آنچه در هر لحظه در حال انجام آن است، جدا میکند. با تبدیل فراخوانیهای مبهم ابزار به یک حلقه شفاف، MCP این اندازهگیریها را امکانپذیر میکند.
