Skip to content

Latest commit

 

History

History
313 lines (233 loc) · 20.5 KB

File metadata and controls

313 lines (233 loc) · 20.5 KB

مقدمه‌ای بر پروتکل زمینه مدل (MCP): چرا برای برنامه‌های هوش مصنوعی مقیاس‌پذیر اهمیت دارد

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


🔍 پروتکل زمینه مدل (MCP) چیست؟

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


🎯 چرا استانداردسازی در هوش مصنوعی اهمیت دارد

با پیچیده‌تر شدن برنامه‌های هوش مصنوعی مولد، ضروری است استانداردهایی اتخاذ شود که مقیاس‌پذیری، توسعه‌پذیری و قابلیت نگهداری را تضمین کند. MCP این نیازها را با:

  • یکپارچه‌سازی مدل‌ها و ابزارها
  • کاهش راه‌حل‌های شکننده و سفارشی
  • امکان coexistence چند مدل در یک اکوسیستم

پوشش می‌دهد.


📚 اهداف یادگیری

تا پایان این مقاله، شما قادر خواهید بود:

  • تعریف پروتکل زمینه مدل (MCP) و موارد کاربرد آن
  • درک چگونگی استانداردسازی ارتباط مدل با ابزار توسط MCP
  • شناسایی اجزای اصلی معماری MCP
  • بررسی کاربردهای واقعی MCP در زمینه‌های سازمانی و توسعه

💡 چرا پروتکل زمینه مدل (MCP) یک تحول اساسی است

🔗 MCP مشکل تکه‌تکه بودن تعاملات هوش مصنوعی را حل می‌کند

قبل از MCP، ادغام مدل‌ها با ابزارها نیازمند:

  • کد سفارشی برای هر جفت ابزار-مدل
  • APIهای غیر استاندارد برای هر فروشنده
  • شکست‌های مکرر به دلیل به‌روزرسانی‌ها
  • مقیاس‌پذیری ضعیف با افزایش ابزارها

✅ مزایای استانداردسازی MCP

مزیت توضیح
تعامل‌پذیری مدل‌های زبانی بزرگ به‌راحتی با ابزارهای مختلف از فروشندگان متفاوت کار می‌کنند
ثبات رفتار یکنواخت در پلتفرم‌ها و ابزارها
قابلیت استفاده مجدد ابزارهای ساخته شده یک بار، در پروژه‌ها و سیستم‌های مختلف قابل استفاده‌اند
توسعه سریع‌تر کاهش زمان توسعه با استفاده از رابط‌های استاندارد و آماده استفاده

🧱 مرور کلی معماری سطح بالا MCP

MCP از مدل کلاینت-سرور پیروی می‌کند، که در آن:

  • میزبان‌های MCP مدل‌های هوش مصنوعی را اجرا می‌کنند
  • کلاینت‌های MCP درخواست‌ها را آغاز می‌کنند
  • سرورهای MCP زمینه، ابزارها و قابلیت‌ها را ارائه می‌دهند

اجزای کلیدی:

  • منابع – داده‌های ایستا یا پویا برای مدل‌ها
  • دستورات – جریان‌های کاری از پیش تعریف شده برای تولید هدایت شده
  • ابزارها – توابع اجرایی مانند جستجو، محاسبات
  • نمونه‌گیری – رفتار عاملی از طریق تعاملات بازگشتی

نحوه کار سرورهای MCP

سرورهای MCP به این شکل عمل می‌کنند:

  • جریان درخواست:

    1. کلاینت MCP درخواست را به مدل هوش مصنوعی که در میزبان MCP اجرا می‌شود ارسال می‌کند.
    2. مدل هوش مصنوعی تشخیص می‌دهد که به ابزارها یا داده‌های خارجی نیاز دارد.
    3. مدل با استفاده از پروتکل استاندارد شده با سرور MCP ارتباط برقرار می‌کند.
  • عملکرد سرور MCP:

    • ثبت ابزار: فهرستی از ابزارهای موجود و قابلیت‌هایشان را نگهداری می‌کند.
    • احراز هویت: مجوزهای دسترسی به ابزارها را بررسی می‌کند.
    • مدیریت درخواست: درخواست‌های ورودی ابزار از مدل را پردازش می‌کند.
    • قالب‌بندی پاسخ: خروجی ابزارها را به فرمتی تبدیل می‌کند که مدل بتواند درک کند.
  • اجرای ابزار:

    • سرور درخواست‌ها را به ابزارهای خارجی مناسب ارسال می‌کند
    • ابزارها توابع تخصصی خود (جستجو، محاسبه، پرس‌وجوهای پایگاه داده و غیره) را اجرا می‌کنند
    • نتایج در قالبی یکسان به مدل بازگردانده می‌شود
  • تکمیل پاسخ:

    • مدل هوش مصنوعی خروجی ابزارها را در پاسخ خود وارد می‌کند
    • پاسخ نهایی به برنامه کلاینت ارسال می‌شود
---
title: MCP Server Architecture and Component Interactions
description: A diagram showing how AI models interact with MCP servers and various tools, depicting the request flow and server components including Tool Registry, Authentication, Request Handler, and Response Formatter
---
graph TD
    A[AI Model in MCP Host] <-->|MCP Protocol| B[MCP Server]
    B <-->|Tool Interface| C[Tool 1: Web Search]
    B <-->|Tool Interface| D[Tool 2: Calculator]
    B <-->|Tool Interface| E[Tool 3: Database Access]
    B <-->|Tool Interface| F[Tool 4: File System]
    
    Client[MCP Client/Application] -->|Sends Request| A
    A -->|Returns Response| Client
    
    subgraph "MCP Server Components"
        B
        G[Tool Registry]
        H[Authentication]
        I[Request Handler]
        J[Response Formatter]
    end
    
    B <--> G
    B <--> H
    B <--> I
    B <--> J
    
    style A fill:#f9d5e5,stroke:#333,stroke-width:2px
    style B fill:#eeeeee,stroke:#333,stroke-width:2px
    style Client fill:#d5e8f9,stroke:#333,stroke-width:2px
    style C fill:#c2f0c2,stroke:#333,stroke-width:1px
    style D fill:#c2f0c2,stroke:#333,stroke-width:1px
    style E fill:#c2f0c2,stroke:#333,stroke-width:1px
    style F fill:#c2f0c2,stroke:#333,stroke-width:1px    
Loading

👨‍💻 چگونه یک سرور MCP بسازیم (با مثال)

سرورهای MCP به شما امکان می‌دهند قابلیت‌های LLM را با ارائه داده و عملکرد گسترش دهید.

آماده امتحان هستید؟ در اینجا نمونه‌هایی از ساخت یک سرور MCP ساده به زبان‌های مختلف آورده شده است:

🌍 کاربردهای واقعی MCP

MCP دامنه وسیعی از برنامه‌ها را با گسترش قابلیت‌های هوش مصنوعی ممکن می‌سازد:

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

🧠 MCP = استاندارد جهانی برای تعاملات هوش مصنوعی

پروتکل زمینه مدل (MCP) به‌عنوان یک استاندارد جهانی برای تعاملات هوش مصنوعی عمل می‌کند، درست مانند USB-C که اتصالات فیزیکی دستگاه‌ها را استاندارد کرد. در دنیای هوش مصنوعی، MCP یک رابط ثابت فراهم می‌کند که به مدل‌ها (کلاینت‌ها) اجازه می‌دهد به‌صورت یکپارچه با ابزارها و ارائه‌دهندگان داده خارجی (سرورها) ادغام شوند. این موضوع نیاز به پروتکل‌های متنوع و سفارشی برای هر API یا منبع داده را از بین می‌برد.

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

💡 تسهیل دسترسی به دانش

علاوه بر ارائه ابزارها، MCP دسترسی به دانش را نیز تسهیل می‌کند. این پروتکل به برنامه‌ها اجازه می‌دهد زمینه‌ای به مدل‌های زبانی بزرگ (LLM) ارائه دهند با اتصال آن‌ها به منابع داده مختلف. برای مثال، یک سرور MCP ممکن است مخزن اسناد یک شرکت را نمایندگی کند و به عوامل امکان دهد اطلاعات مرتبط را به درخواست دریافت کنند. سرور دیگری می‌تواند اقدامات خاصی مانند ارسال ایمیل یا به‌روزرسانی سوابق را مدیریت کند. از دید عامل، این‌ها صرفاً ابزارهایی هستند که می‌تواند استفاده کند—برخی ابزارها داده (زمینه دانش) بازمی‌گردانند و برخی دیگر عمل انجام می‌دهند. MCP هر دو را به‌طور مؤثر مدیریت می‌کند.

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

این یکپارچه‌سازی ساده با جریان نشان داده شده در نمودار mermaid هماهنگ است، جایی که سرورها هم ابزار و هم دانش را فراهم می‌کنند و همکاری بی‌وقفه بین سیستم‌ها را تضمین می‌کند.

👉 مثال: راه‌حل عامل مقیاس‌پذیر

---
title: Scalable Agent Solution with MCP
description: A diagram illustrating how a user interacts with an LLM that connects to multiple MCP servers, with each server providing both knowledge and tools, creating a scalable AI system architecture
---
graph TD
    User -->|Prompt| LLM
    LLM -->|Response| User
    LLM -->|MCP| ServerA
    LLM -->|MCP| ServerB
    ServerA -->|Universal connector| ServerB
    ServerA --> KnowledgeA
    ServerA --> ToolsA
    ServerB --> KnowledgeB
    ServerB --> ToolsB

    subgraph Server A
        KnowledgeA[Knowledge]
        ToolsA[Tools]
    end

    subgraph Server B
        KnowledgeB[Knowledge]
        ToolsB[Tools]
    end
Loading

🔄 سناریوهای پیشرفته MCP با ادغام LLM در سمت کلاینت

فراتر از معماری پایه MCP، سناریوهای پیشرفته‌ای وجود دارد که در آن‌ها هم کلاینت و هم سرور دارای LLM هستند و تعاملات پیچیده‌تری را ممکن می‌سازند:

---
title: Advanced MCP Scenarios with Client-Server LLM Integration
description: A sequence diagram showing the detailed interaction flow between user, client application, client LLM, multiple MCP servers, and server LLM, illustrating tool discovery, user interaction, direct tool calling, and feature negotiation phases
---
sequenceDiagram
    autonumber
    actor User as 👤 User
    participant ClientApp as 🖥️ Client App
    participant ClientLLM as 🧠 Client LLM
    participant Server1 as 🔧 MCP Server 1
    participant Server2 as 📚 MCP Server 2
    participant ServerLLM as 🤖 Server LLM
    
    %% Discovery Phase
    rect rgb(220, 240, 255)
        Note over ClientApp, Server2: TOOL DISCOVERY PHASE
        ClientApp->>+Server1: Request available tools/resources
        Server1-->>-ClientApp: Return tool list (JSON)
        ClientApp->>+Server2: Request available tools/resources
        Server2-->>-ClientApp: Return tool list (JSON)
        Note right of ClientApp: Store combined tool<br/>catalog locally
    end
    
    %% User Interaction
    rect rgb(255, 240, 220)
        Note over User, ClientLLM: USER INTERACTION PHASE
        User->>+ClientApp: Enter natural language prompt
        ClientApp->>+ClientLLM: Forward prompt + tool catalog
        ClientLLM->>-ClientLLM: Analyze prompt & select tools
    end
    
    %% Scenario A: Direct Tool Calling
    alt Direct Tool Calling
        rect rgb(220, 255, 220)
            Note over ClientApp, Server1: SCENARIO A: DIRECT TOOL CALLING
            ClientLLM->>+ClientApp: Request tool execution
            ClientApp->>+Server1: Execute specific tool
            Server1-->>-ClientApp: Return results
            ClientApp->>+ClientLLM: Process results
            ClientLLM-->>-ClientApp: Generate response
            ClientApp-->>-User: Display final answer
        end
    
    %% Scenario B: Feature Negotiation (VS Code style)
    else Feature Negotiation (VS Code style)
        rect rgb(255, 220, 220)
            Note over ClientApp, ServerLLM: SCENARIO B: FEATURE NEGOTIATION
            ClientLLM->>+ClientApp: Identify needed capabilities
            ClientApp->>+Server2: Negotiate features/capabilities
            Server2->>+ServerLLM: Request additional context
            ServerLLM-->>-Server2: Provide context
            Server2-->>-ClientApp: Return available features
            ClientApp->>+Server2: Call negotiated tools
            Server2-->>-ClientApp: Return results
            ClientApp->>+ClientLLM: Process results
            ClientLLM-->>-ClientApp: Generate response
            ClientApp-->>-User: Display final answer
        end
    end
Loading

🔐 مزایای عملی MCP

در اینجا مزایای عملی استفاده از MCP آمده است:

  • به‌روز بودن: مدل‌ها می‌توانند به اطلاعات به‌روز فراتر از داده‌های آموزشی دسترسی داشته باشند
  • گسترش قابلیت‌ها: مدل‌ها می‌توانند از ابزارهای تخصصی برای وظایفی که آموزش ندیده‌اند بهره ببرند
  • کاهش توهمات: منابع داده خارجی پایه‌های واقعی فراهم می‌کنند
  • حریم خصوصی: داده‌های حساس می‌توانند در محیط‌های امن باقی بمانند به جای اینکه در دستورات جاسازی شوند

📌 نکات کلیدی

نکات کلیدی برای استفاده از MCP عبارتند از:

  • MCP نحوه تعامل مدل‌های هوش مصنوعی با ابزارها و داده‌ها را استاندارد می‌کند
  • توسعه‌پذیری، ثبات و تعامل‌پذیری را ترویج می‌دهد
  • MCP به کاهش زمان توسعه، بهبود قابلیت اطمینان و گسترش قابلیت‌های مدل کمک می‌کند
  • معماری کلاینت-سرور امکان برنامه‌های هوش مصنوعی انعطاف‌پذیر و توسعه‌پذیر را فراهم می‌آورد

🧠 تمرین

به یک برنامه هوش مصنوعی که می‌خواهید بسازید فکر کنید.

  • کدام ابزارها یا داده‌های خارجی می‌توانند قابلیت‌های آن را افزایش دهند؟
  • MCP چگونه می‌تواند یکپارچه‌سازی را ساده‌تر و قابل اطمینان‌تر کند؟

منابع اضافی

مرحله بعد

بعدی: فصل ۱: مفاهیم اصلی

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچگونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم.