
توضیح کامل با مثال واقعی
Audio Summary
AI Summary
در جلسات مشاوره هوش مصنوعی، سوالات زیادی درباره MCP و API و نحوه اتصال ایجنتها به ابزارهای خارجی مطرح میشود. این ویدیو به توضیح کامل API، MCP، تفاوتها و کاربردهای آنها در ساخت ایجنتها میپردازد.
API (Application Programming Interface) یک رابط برنامهنویسی نرمافزار است که به دو برنامه اجازه میدهد با هم صحبت کنند. این مجموعه قوانین مشخص میکند که چگونه از یک سیستم داده درخواست کنیم یا کاری را انجام دهیم. برای مثال، برنامه شما میتواند از طریق API اسلک، پیامها را بخواند. اسلک یک اندپوینت (آدرس اینترنتی) ارائه میدهد که برنامه شما به آن درخواست میفرستد و اسلک با دادههای مورد نیاز پاسخ میدهد. پلتفرمهای مختلف API ارائه میدهند و شما میتوانید خودتان نیز یک API بسازید. رایجترین سبک امروزی، REST API است که روی HTTP کار میکند و از GET، POST، PUT و DELETE برای عملیات مختلف استفاده میکند و پاسخ معمولاً به فرمت JSON برمیگردد. مزیت بزرگ API این است که برنامه شما نیازی به دانستن جزئیات عملکرد داخلی سیستم دیگر ندارد؛ فقط باید بداند درخواست را با چه قالبی بفرستد و پاسخ را چگونه بخواند. APIها تمیز و قابل پیشبینی هستند و برای نرمافزارهای معمولی عالیاند، با این فرض که هر دو طرف فرمت دادهها را دقیقاً میدانند.
MCP (Model Context Protocol) یک استاندارد باز است که Anthropic در اواخر سال 2024 معرفی کرد و مشخص میکند برنامههای هوش مصنوعی چگونه به ابزارها و دادههای بیرونی وصل شوند. میتوان آن را به یک پورت USB برای هوش مصنوعی تشبیه کرد؛ همانطور که دستگاههای مختلف از طریق یک پورت استاندارد USB-C به سیستم وصل میشوند، MCP نیز همین کار را برای ایجنتهای هوش مصنوعی و سرویسهای مورد استفادهشان انجام میدهد. MCP دو بخش اصلی دارد: یک MCP Client در برنامه هوش مصنوعی و یک MCP Server در هر سرویس خارجی (مانند GitHub، Gmail، Slack). این کلاینت و سرور به یک زبان مشترک صحبت میکنند.
یک MCP Server دو چیز ارائه میدهد: "Tools" (ابزارهایی که هوش مصنوعی میتواند انجام دهد، مانند ارسال ایمیل) و "Resources" (دادههایی که هوش مصنوعی میتواند بخواند، مانند فایلها یا رکوردهای پایگاه داده). هر ابزار در MCP Server توضیحاتی شامل کارکرد، ورودیهای لازم و خروجیهای ممکن دارد. این امکان را به هوش مصنوعی میدهد تا لیست ابزارها را بخواند، ابزار مناسب را انتخاب کند و از آن استفاده کند. نکته مهم این است که هوش مصنوعی خود کد را اجرا نمیکند؛ مدل فقط ابزار مورد نظر را اعلام میکند و نرمافزاری که دور ایجنت است، آن کار را واقعاً انجام میدهد.
برای مثال، اگر یک سایت هاستینگ با دکمههای مختلف (افزودن به سبد خرید، ثبت سفارش) دارید، هر کلیک یک API خاص را فراخوانی میکند. حال اگر بخواهیم یک ایجنت بسازیم که کاربر بتواند با آن چت کند و کارهایی مانند "صورت حساب بعدی من کی است؟" یا "یک تیکت پشتیبانی ایجاد کن" را انجام دهد، ایجنت باید بداند پلتفرم چه ابزارهایی دارد. در این حالت، یک MCP Server روی پلتفرم ساخته میشود که لیست ابزارهای سایت (ثبت سفارش، ثبت تیکت، دیدن صورت حسابها) را با توضیحات و فرمتهای مشخص شده توسط MCP ارائه میدهد. ایجنت میتواند به این MCP Server وصل شود، ابزارها را بخواند و بر اساس درخواست کاربر، ابزار مناسب را انتخاب کند. سپس کد مربوط به آن ابزار را اجرا میکند که در نهایت یک API کال را به پلتفرم می