MCP در مقابل API: چرا APIهای سنتی در برابر عاملهای هوش مصنوعی شکست میخورند
APIهای سنتی باعث کند و پرهزینه شدن عاملهای هوش مصنوعی شما میشوند.
من سالها را صرف ساخت اپلیکیشنهای وب با REST و GraphQL کردم. میدانم چگونه وضعیت (state) را مدیریت و بارگذاری دادهها (payloads) را بهینه کنم. اما ساختن برای عاملهای هوش مصنوعی متفاوت است.
ما اغلب با LLMها مانند توسعهدهندگان انسانی رفتار میکنیم. یک نقطه پایانی (endpoint) API به آنها میدهیم و انتظار داریم کار کنند. این یک اشتباه است.
پروتکل مدل کانتکست (Model Context Protocol یا MCP) این موضوع را تغییر میدهد. این یک استاندارد باز برای اتصال هوش مصنوعی است. اگر برای متصل کردن LLMها به ابزارهای خود، کدهای واسط (glue code) سفارشی مینویسید، در حال ایجاد بدهی فنی (technical debt) هستید.
چرا APIهای سنتی در برابر عاملهای هوش مصنوعی شکست میخورند:
- مشکل N در M: اگر ۵ فریمورک هوش مصنوعی و ۵ ابزار سازمانی داشته باشید، باید ۲۵ رابط (connector) سفارشی بنویسید. MCP این ساختار را به یک معماری N + M تبدیل میکند. هر ابزار از یک سرور MCP استفاده میکند و هر عامل از یک کلاینت MCP.
- ایستا در مقابل پویا: APIهای REST به مسیرهای از پیش تعیینشده (hardcoded) نیاز دارند. عاملهای هوش مصنوعی باید ابزارها را در زمان اجرا (runtime) کشف کنند. MCP به عاملها اجازه میدهد تا از طریق کشف پویا، قابلیتهای موجود را در لحظه مشاهده کنند.
- اتلاف توکن: APIهای سنتی اغلب JSON payloadهای بسیار حجیمی را برمیگردانند. بارگذاری دادههای سنگین باعث اتلاف هزینه و افزایش تأخیر (latency) میشود. همچنین باعث «فساد کانتکست» (context rot) میشوند که در آن مدل تمرکز خود را از دست میدهد. MCP دادهها را به شکلی بهینه برای پنجرههای LLM بازمیگرداند.
- بدون وضعیت بودن (Statelessness): پروتکل REST بدون وضعیت است. عاملهای هوش مصنوعی در یک حلقه مداوم از فکر و عمل فعالیت میکنند. MCP از نشستهای دارای وضعیت (stateful sessions) استفاده میکند تا کانتکست را بدون نیاز به ارسال مجدد دادههای حجیم، زنده نگه دارد.
MCP از سه بخش اصلی استفاده میکند:
- ابزارها (Tools): اقداماتی که مدل انجام میدهد، مانند اجرای یک پرسوجوی SQL.
- منابع (Resources): دادههای فقط خواندنی مانند فایلهای لاگ یا مستندات.
- پرامپتها (Prompts): قالبهایی که استدلال مدل را هدایت میکنند.
MCP جایگزین پایگاه داده یا بکاند شما نمیشود. سرور MCP شما همچنان APIهای موجودتان را فراخوانی خواهد کرد. MCP جایگزین کدهای شکنندهای میشود که برای متصل کردن آن سرویسها به یک LLM مینویسید.
از نوشتن توابع سفارشی برای تبدیل JSON به رشته (stringify) جهت فراخوانیهای LLM خود دست بردارید. معماریای بسازید که برای آیندهی مبتنی بر عاملها (agentic future) مقیاسپذیر باشد.
نظر شما چیست؟ آیا از MCP استفاده میکنید یا همچنان به فراخوانی توابع سفارشی (custom function calling) پایبند هستید؟
Source: https://dev.to/chaudharidevam/mcp-vs-api-why-traditional-apis-are-failing-ai-agents-28m8
Optional learning community: https://t.me/GyaanSetuAi
