Giới thiệu về Giao thức Ngữ cảnh Mô hình (MCP): Tại sao nó quan trọng đối với các ứng dụng AI mở rộng
(Nhấp vào hình ảnh trên để xem video của bài học này)
Các ứng dụng AI tạo sinh là một bước tiến lớn vì chúng thường cho phép người dùng tương tác với ứng dụng bằng các lời nhắc ngôn ngữ tự nhiên. Tuy nhiên, khi đầu tư nhiều thời gian và nguồn lực hơn vào các ứng dụng này, bạn cần đảm bảo rằng có thể dễ dàng tích hợp các chức năng và tài nguyên theo cách dễ mở rộng, ứng dụng của bạn có thể hỗ trợ nhiều mô hình khác nhau và xử lý các đặc điểm phức tạp của từng mô hình. Nói ngắn gọn, việc xây dựng các ứng dụng AI tạo sinh ban đầu khá dễ dàng, nhưng khi chúng phát triển và trở nên phức tạp hơn, bạn cần bắt đầu định nghĩa kiến trúc và có thể cần dựa vào một tiêu chuẩn để đảm bảo các ứng dụng của bạn được xây dựng một cách nhất quán. Đây chính là lúc MCP xuất hiện để tổ chức mọi thứ và cung cấp một tiêu chuẩn.
Giao thức Ngữ cảnh Mô hình (MCP) là một giao diện mở, tiêu chuẩn hóa cho phép các Mô hình Ngôn ngữ Lớn (LLMs) tương tác liền mạch với các công cụ, API và nguồn dữ liệu bên ngoài. Nó cung cấp một kiến trúc nhất quán để nâng cao chức năng của mô hình AI vượt ra ngoài dữ liệu huấn luyện, giúp tạo ra các hệ thống AI thông minh hơn, có khả năng mở rộng và phản hồi tốt hơn.
Khi các ứng dụng AI tạo sinh trở nên phức tạp hơn, việc áp dụng các tiêu chuẩn để đảm bảo khả năng mở rộng, khả năng mở rộng, khả năng duy trì và tránh bị phụ thuộc vào nhà cung cấp là rất cần thiết. MCP giải quyết những nhu cầu này bằng cách:
- Hợp nhất tích hợp giữa mô hình và công cụ
- Giảm các giải pháp tùy chỉnh dễ bị lỗi
- Cho phép nhiều mô hình từ các nhà cung cấp khác nhau cùng tồn tại trong một hệ sinh thái
Lưu ý: Mặc dù MCP tự quảng bá là một tiêu chuẩn mở, hiện không có kế hoạch tiêu chuẩn hóa MCP thông qua bất kỳ tổ chức tiêu chuẩn nào như IEEE, IETF, W3C, ISO hoặc bất kỳ tổ chức tiêu chuẩn nào khác.
Sau khi đọc bài viết này, bạn sẽ có thể:
- Định nghĩa Giao thức Ngữ cảnh Mô hình (MCP) và các trường hợp sử dụng của nó
- Hiểu cách MCP tiêu chuẩn hóa giao tiếp giữa mô hình và công cụ
- Xác định các thành phần cốt lõi của kiến trúc MCP
- Khám phá các ứng dụng thực tế của MCP trong bối cảnh doanh nghiệp và phát triển
Trước MCP, việc tích hợp mô hình với công cụ yêu cầu:
- Mã tùy chỉnh cho từng cặp công cụ-mô hình
- API không tiêu chuẩn cho mỗi nhà cung cấp
- Thường xuyên bị lỗi do cập nhật
- Khả năng mở rộng kém khi thêm nhiều công cụ
| Lợi ích | Mô tả |
|---|---|
| Tương thích | LLMs hoạt động liền mạch với các công cụ từ các nhà cung cấp khác nhau |
| Nhất quán | Hành vi đồng nhất trên các nền tảng và công cụ |
| Tái sử dụng | Công cụ được xây dựng một lần có thể sử dụng trong nhiều dự án và hệ thống |
| Phát triển nhanh hơn | Giảm thời gian phát triển nhờ giao diện tiêu chuẩn, dễ tích hợp |
MCP tuân theo mô hình client-server, trong đó:
- MCP Hosts chạy các mô hình AI
- MCP Clients khởi tạo yêu cầu
- MCP Servers cung cấp ngữ cảnh, công cụ và khả năng
- Tài nguyên – Dữ liệu tĩnh hoặc động cho mô hình
- Lời nhắc – Quy trình làm việc được định trước để hướng dẫn tạo nội dung
- Công cụ – Các chức năng có thể thực thi như tìm kiếm, tính toán
- Lấy mẫu – Hành vi tác nhân thông qua các tương tác lặp lại
Các máy chủ MCP hoạt động theo cách sau:
- Luồng yêu cầu:
- Một yêu cầu được khởi tạo bởi người dùng cuối hoặc phần mềm thay mặt họ.
- MCP Client gửi yêu cầu đến MCP Host, nơi quản lý runtime của mô hình AI.
- Mô hình AI nhận lời nhắc từ người dùng và có thể yêu cầu truy cập vào các công cụ hoặc dữ liệu bên ngoài thông qua một hoặc nhiều cuộc gọi công cụ.
- MCP Host, chứ không phải mô hình trực tiếp, giao tiếp với MCP Server(s) thích hợp bằng giao thức tiêu chuẩn.
- Chức năng của MCP Host:
- Đăng ký công cụ: Duy trì danh mục các công cụ có sẵn và khả năng của chúng.
- Xác thực: Xác minh quyền truy cập vào công cụ.
- Xử lý yêu cầu: Xử lý các yêu cầu công cụ đến từ mô hình.
- Định dạng phản hồi: Cấu trúc đầu ra của công cụ theo định dạng mà mô hình có thể hiểu.
- Thực thi MCP Server:
- MCP Host định tuyến các cuộc gọi công cụ đến một hoặc nhiều MCP Server, mỗi máy chủ cung cấp các chức năng chuyên biệt (ví dụ: tìm kiếm, tính toán, truy vấn cơ sở dữ liệu).
- MCP Servers thực hiện các hoạt động tương ứng và trả kết quả về MCP Host theo định dạng nhất quán.
- MCP Host định dạng và chuyển tiếp các kết quả này đến Mô hình AI.
- Hoàn thành phản hồi:
- Mô hình AI kết hợp đầu ra của công cụ vào phản hồi cuối cùng.
- MCP Host gửi phản hồi này trở lại MCP Client, nơi chuyển nó đến người dùng cuối hoặc phần mềm gọi.
---
title: MCP Architecture and Component Interactions
description: A diagram showing the flows of the components in MCP.
---
graph TD
Client[MCP Client/Application] -->|Sends Request| H[MCP Host]
H -->|Invokes| A[AI Model]
A -->|Tool Call Request| H
H -->|MCP Protocol| T1[MCP Server Tool 01: Web Search]
H -->|MCP Protocol| T2[MCP Server Tool 02: Calculator tool]
H -->|MCP Protocol| T3[MCP Server Tool 03: Database Access tool]
H -->|MCP Protocol| T4[MCP Server Tool 04: File System tool]
H -->|Sends Response| Client
subgraph "MCP Host Components"
H
G[Tool Registry]
I[Authentication]
J[Request Handler]
K[Response Formatter]
end
H <--> G
H <--> I
H <--> J
H <--> K
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
style H fill:#eeeeee,stroke:#333,stroke-width:2px
style Client fill:#d5e8f9,stroke:#333,stroke-width:2px
style G fill:#fffbe6,stroke:#333,stroke-width:1px
style I fill:#fffbe6,stroke:#333,stroke-width:1px
style J fill:#fffbe6,stroke:#333,stroke-width:1px
style K fill:#fffbe6,stroke:#333,stroke-width:1px
style T1 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T2 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T3 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T4 fill:#c2f0c2,stroke:#333,stroke-width:1px
MCP Servers cho phép bạn mở rộng khả năng của LLM bằng cách cung cấp dữ liệu và chức năng.
Sẵn sàng thử nghiệm? Dưới đây là các SDK theo ngôn ngữ và/hoặc stack cụ thể với ví dụ về cách tạo MCP Servers đơn giản bằng các ngôn ngữ/stack khác nhau:
-
Python SDK: https://github.com/modelcontextprotocol/python-sdk
-
TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
-
C#/.NET SDK: https://github.com/modelcontextprotocol/csharp-sdk
MCP mở rộng khả năng AI cho nhiều ứng dụng:
| Ứng dụng | Mô tả |
|---|---|
| Tích hợp dữ liệu doanh nghiệp | Kết nối LLMs với cơ sở dữ liệu, CRM hoặc công cụ nội bộ |
| Hệ thống AI tác nhân | Cho phép các tác nhân tự động truy cập công cụ và quy trình ra quyết định |
| Ứng dụng đa phương tiện | Kết hợp văn bản, hình ảnh và âm thanh trong một ứng dụng AI thống nhất |
| Tích hợp dữ liệu thời gian thực | Đưa dữ liệu trực tiếp vào tương tác AI để có đầu ra chính xác và cập nhật hơn |
Giao thức Ngữ cảnh Mô hình (MCP) hoạt động như một tiêu chuẩn toàn cầu cho tương tác AI, giống như cách USB-C tiêu chuẩn hóa kết nối vật lý cho các thiết bị. Trong thế giới AI, MCP cung cấp một giao diện nhất quán, cho phép các mô hình (clients) tích hợp liền mạch với các công cụ và nhà cung cấp dữ liệu bên ngoài (servers). Điều này loại bỏ nhu cầu về các giao thức tùy chỉnh đa dạng cho mỗi API hoặc nguồn dữ liệu.
Dưới MCP, một công cụ tương thích MCP (được gọi là MCP server) tuân theo tiêu chuẩn thống nhất. Các máy chủ này có thể liệt kê các công cụ hoặc hành động mà chúng cung cấp và thực hiện các hành động đó khi được yêu cầu bởi một tác nhân AI. Các nền tảng tác nhân AI hỗ trợ MCP có khả năng khám phá các công cụ có sẵn từ các máy chủ và gọi chúng thông qua giao thức tiêu chuẩn này.
Ngoài việc cung cấp công cụ, MCP còn tạo điều kiện truy cập kiến thức. Nó cho phép các ứng dụng cung cấp ngữ cảnh cho các mô hình ngôn ngữ lớn (LLMs) bằng cách liên kết chúng với các nguồn dữ liệu khác nhau. Ví dụ, một MCP server có thể đại diện cho kho tài liệu của một công ty, cho phép các tác nhân truy xuất thông tin liên quan theo yêu cầu. Một máy chủ khác có thể xử lý các hành động cụ thể như gửi email hoặc cập nhật hồ sơ. Từ góc nhìn của tác nhân, đây chỉ là các công cụ mà nó có thể sử dụng—một số công cụ trả về dữ liệu (ngữ cảnh kiến thức), trong khi các công cụ khác thực hiện hành động. MCP quản lý cả hai một cách hiệu quả.
Một tác nhân kết nối với MCP server tự động học được các khả năng và dữ liệu có thể truy cập của máy chủ thông qua định dạng tiêu chuẩn. Sự tiêu chuẩn hóa này cho phép công cụ khả dụng một cách động. Ví dụ, việc thêm một MCP server mới vào hệ thống của tác nhân làm cho các chức năng của nó có thể sử dụng ngay lập tức mà không cần tùy chỉnh thêm hướng dẫn của tác nhân.
Sự tích hợp hợp lý này phù hợp với luồng được mô tả trong sơ đồ sau, nơi các máy chủ cung cấp cả công cụ và kiến thức, đảm bảo sự hợp tác liền mạch giữa các hệ thống.
---
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
Ngoài kiến trúc MCP cơ bản, còn có các kịch bản nâng cao nơi cả client và server đều chứa LLMs, cho phép các tương tác phức tạp hơn. Trong sơ đồ sau, Client App có thể là một IDE với một số công cụ MCP có sẵn để LLM sử dụng:
---
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
Dưới đây là các lợi ích thực tiễn của việc sử dụng MCP:
- Cập nhật thông tin: Các mô hình có thể truy cập thông tin mới nhất ngoài dữ liệu huấn luyện
- Mở rộng khả năng: Các mô hình có thể tận dụng các công cụ chuyên biệt cho các nhiệm vụ mà chúng chưa được huấn luyện
- Giảm sai lệch: Các nguồn dữ liệu bên ngoài cung cấp nền tảng thực tế
- Bảo mật: Dữ liệu nhạy cảm có thể được giữ trong môi trường an toàn thay vì được nhúng vào lời nhắc
Dưới đây là những điểm chính khi sử dụng MCP:
- MCP tiêu chuẩn hóa cách các mô hình AI tương tác với công cụ và dữ liệu
- Thúc đẩy khả năng mở rộng, nhất quán và tương thích
- MCP giúp giảm thời gian phát triển, cải thiện độ tin cậy và mở rộng khả năng của mô hình
- Kiến trúc client-server cho phép các ứng dụng AI linh hoạt và mở rộng
Hãy nghĩ về một ứng dụng AI mà bạn muốn xây dựng.
- Những công cụ hoặc dữ liệu bên ngoài nào có thể nâng cao khả năng của nó?
- MCP có thể làm cho việc tích hợp đơn giản và đáng tin cậy hơn như thế nào?
Tiếp theo: Chương 1: Các khái niệm cốt lõi
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn tham khảo chính thức. Đối với các thông tin quan trọng, chúng tôi khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.
