Khám Phá Giao Thức Ngữ Cảnh Mô Hình
Sự ra đời của các Mô hình Ngôn ngữ Lớn (LLM) đã cách mạng hóa lĩnh vực trí tuệ nhân tạo một cách không thể phủ nhận. Tuy nhiên, một thách thức dai dẳng vẫn còn: tích hợp hiệu quả các mô hình này với dữ liệu độc quyền. Mặc dù LLM thành thạo trong việc xử lý lượng lớn thông tin từ internet, nhưng tiềm năng thực sự của chúng nằm ở việc đóng vai trò là giao diện ngôn ngữ tự nhiên cho các ứng dụng và dữ liệu của chúng ta, cho phép chúng ta khai thác khả năng dự đoán và tạo của chúng trong một môi trường được kiểm soát.
Để đảm bảo độ tin cậy và mức độ liên quan của các đầu ra LLM, nhiều chiến lược khác nhau đã xuất hiện, mỗi chiến lược được thiết kế để thu hẹp khoảng cách giữa các mô hình này và các tập dữ liệu cụ thể. Các chiến lược này bao gồm từ việc tạo nhúng tùy chỉnh và sử dụng các kỹ thuật tạo tăng cường truy xuất (RAG) - tận dụng cơ sở dữ liệu đồ thị để khám phá các mối quan hệ phức tạp trong dữ liệu - đến sử dụng LLM để chắt lọc và trình bày dữ liệu thu được thông qua các lệnh gọi OpenAPI được kích hoạt bởi các lời nhắc của người dùng. Hơn nữa, mô hình plug-in được phổ biến bởi ChatGPT của OpenAI cung cấp một con đường khác để tích hợp dữ liệu. Trong số các cách tiếp cận đa dạng này, Giao thức Ngữ cảnh Mô hình (MCP) nổi bật như một giải pháp đầy hứa hẹn để tiêu chuẩn hóa kết nối giữa LLM và các nguồn dữ liệu bên ngoài.
Giao thức Ngữ cảnh Mô hình, được Anthropic công bố vào cuối năm 2024, đại diện cho một bước tiến quan trọng hướng tới việc hợp lý hóa sự tương tác giữa LLM và dữ liệu dành riêng cho người dùng. Giao thức này nhấn mạnh vai trò quan trọng của ngữ cảnh trong các ứng dụng AI, thừa nhận rằng khả năng của AI trong việc cung cấp các đầu ra mạch lạc và có ý nghĩa phụ thuộc vào tính khả dụng của thông tin ngữ cảnh có liên quan. Chỉ dựa vào các lời nhắc trò chuyện để gợi ra các phản hồi hợp lý, ở mức tốt nhất, là một bài tập lạc quan và ở mức tồi tệ nhất, là một công thức cho kết quả không chính xác hoặc gây hiểu lầm. Để xây dựng các tác nhân bán tự động mạnh mẽ có khả năng điều phối quy trình làm việc xung quanh dữ liệu của chúng ta, một cơ chế đáng tin cậy để cung cấp dữ liệu đó cho các tác nhân này là rất cần thiết.
Là một sáng kiến mã nguồn mở, MCP cung cấp các triển khai SDK cho một loạt các ngôn ngữ lập trình, kèm theo tài liệu toàn diện trong kho lưu trữ GitHub của nó. Tài liệu này cho phép các nhà phát triển triển khai hoặc sử dụng các máy chủ MCP một cách hiệu quả. Mô tả dự án về MCP như một ‘cổng USB-C cho các ứng dụng AI’ nắm bắt một cách khéo léo bản chất của nó, làm nổi bật khả năng tiêu chuẩn hóa các kết nối với các nguồn dữ liệu đa dạng. Được xây dựng trên một nền tảng tiêu chuẩn hóa, MCP dễ dàng tích hợp với các dự án hiện có, giao tiếp liền mạch với các LLM và nhà cung cấp suy luận khác nhau.
Kiến trúc của MCP tuân theo một mô hình máy khách/máy chủ đã được thiết lập, trong đó một trình môi giới đảm nhận trách nhiệm dịch các yêu cầu MCP thành các yêu cầu cục bộ hoặc từ xa. Thiết kế này phản ánh chức năng của các ngôn ngữ định nghĩa giao diện như CORBA, biến MCP thành một lớp khả năng tương tác linh hoạt, tạo điều kiện chuyển đổi liền mạch giữa các nguồn thông tin và các ứng dụng LLM. Tận dụng kết nối JSON RPC, MCP cho phép kiểm soát chi tiết ở cấp độ người dùng cá nhân thông qua các công cụ như Azure API Management.
MCP thúc đẩy sự phát triển của các giao diện chung cho mã do AI điều khiển, bằng chứng là sự chấp nhận ngày càng tăng của nó trên các nền tảng phát triển AI của Microsoft. Từ việc tích hợp trong công cụ điều phối mô hình Semantic Kernel đến việc triển khai làm máy chủ MCP tương thích với Azure OpenAI và Azure AI Foundry, MCP đang nhanh chóng đạt được sức hút. Microsoft cũng đang tăng cường Azure API Management với các tính năng để kiểm soát quyền truy cập dữ liệu dựa trên thông tin đăng nhập của người dùng, củng cố hơn nữa vai trò của MCP trong việc triển khai AI an toàn và được quản lý.
Azure MCP Server: Một Triển Khai Sớm
Azure MCP Server mã nguồn mở, được phát hành gần đây trong bản xem trước công khai, minh họa cho một triển khai sớm của MCP trên nền tảng của Microsoft. Máy chủ này đóng vai trò là một trình môi giới chung cho quyền truy cập AI vào các dịch vụ Azure chính, tuân thủ các nguyên tắc mã nguồn mở được chấp nhận bởi nhiều dự án Azure gần đây. Mã của nó có thể dễ dàng truy cập trên GitHub. Azure MCP Server cung cấp quyền truy cập vào một phần đáng kể của nền tảng Azure, bao gồm cơ sở dữ liệu, giải pháp lưu trữ và các dịch vụ như Azure CLI.
Việc bao gồm hỗ trợ cho Azure CLI (và Developer CLI) đặc biệt đáng chú ý, vì nó cho phép các tác nhân do MCP điều khiển tương tác trực tiếp với Azure, coi các lệnh gọi MCP là các toán tử. Khả năng này mở đường cho việc xây dựng các tác nhân cung cấp giao diện tự phục vụ ngôn ngữ tự nhiên cho Azure. Ví dụ: một tác nhân có thể lấy mô tả về cơ sở hạ tầng và tự động tạo các mẫu ARM cần thiết cho việc triển khai. Mở rộng khái niệm này hơn nữa, người ta có thể hình dung một tác nhân đa phương thức phân tích một bản phác thảo trên bảng trắng, suy ra mô tả về các tài nguyên cần thiết và sau đó triển khai cơ sở hạ tầng, cho phép phát triển mã ngay lập tức. Các dịch vụ quản trị hệ thống bổ sung có thể truy cập thông qua Azure MCP Server bao gồm liệt kê các nhóm tài nguyên hiện tại và tận dụng KQL để truy vấn nhật ký Giám sát Azure.
Tích Hợp Azure MCP Server với GitHub Copilot Chat
Vì nó tuân thủ tiêu chuẩn MCP, Azure MCP Server tích hợp liền mạch với bất kỳ công cụ AI nào hỗ trợ MCP, chẳng hạn như Chế độ Tác nhân GitHub Copilot. Bằng cách chỉ cần thêm máy chủ vào đối tượng thuê của bạn, bạn có thể bắt đầu đặt câu hỏi thông qua Copilot, trực tiếp hoặc thông qua tích hợp Visual Studio Code. Tùy chọn thứ hai này cung cấp một phương tiện hiệu quả để học cách tận dụng MCP và xây dựng lời nhắc cho các ứng dụng AI dựa trên MCP của riêng bạn.
Hiện tại, Microsoft vẫn chưa phát hành một công cụ MCP chuyên dụng cho các ngôn ngữ lập trình của mình, do đó cần phải sử dụng SDK chính thức để phát triển mã tùy chỉnh. Với sự hỗ trợ cho TypeScript, C# và Python, các nhà phát triển có quyền truy cập vào các công cụ cần thiết để tạo các tác nhân Azure MCP của riêng họ. Thử nghiệm có thể được thực hiện trong Visual Studio Code, sử dụng thông tin đăng nhập Azure hiện có.
Máy chủ hoạt động trên PC phát triển của bạn và yêu cầu Node.js. Cài đặt được thực hiện trực tiếp từ kho lưu trữ GitHub của dự án vào VS Code. Sau khi cài đặt, hãy đảm bảo rằng cả hai tiện ích mở rộng GitHub Copilot và GitHub Copilot Chat đều được định cấu hình để sử dụng chế độ tác nhân thử nghiệm (có thể truy cập thông qua công cụ cài đặt VS Code). Sau đó, mở ngăn trò chuyện GitHub Copilot và chuyển sang chế độ tác nhân. Xác minh rằng Azure MCP Server được cài đặt trong danh sách thả xuống công cụ. Bây giờ bạn có thể gửi các truy vấn, chẳng hạn như ‘Liệt kê các đăng ký Azure của tôi’.
Công cụ kết quả chứng tỏ vô giá cho bất kỳ ai làm việc với Azure và mở rộng ra ngoài tích hợp Copilot. Azure MCP Server có thể được cài đặt ở bất cứ đâu Node.js được hỗ trợ, cho phép tích hợp nó vào các tác nhân tùy chỉnh.
Vai Trò Của MCP trong Azure AI Foundry
Microsoft đang nhanh chóng mở rộng danh mục các công cụ MCP của mình, phơi bày các chức năng hiện có thông qua MCP hoặc cho phép sử dụng chúng trong các ứng dụng tác nhân. Việc triển khai nhanh chóng này bao gồm các công cụ cho phát triển tác nhân không mã của Copilot Studio, được công bố trong quá trình viết bài viết này.
Azure AI Foundry, nền tảng phát triển chính của Microsoft để phát triển ứng dụng AI quy mô lớn, cũng đang tích cực phát triển Máy chủ MCP để bổ sung cho Dịch vụ Tác nhân AI của Azure. Sự tích hợp này nhằm mục đích kết nối các tác nhân đang chạy trong Azure AI Foundry với các máy khách hoạt động như một phần của các ứng dụng AI khác.
Dịch vụ này cho phép bạn nhanh chóng sử dụng lại mã và dịch vụ AI hiện có và liên kết chúng với các ứng dụng mới. Các dịch vụ như Fabric phơi bày các tính năng tác nhân của chúng dưới dạng điểm cuối Dịch vụ Tác nhân AI, cho phép các ứng dụng AI kết nối liền mạch với dữ liệu dòng kinh doanh cốt lõi, cung cấp nền tảng thiết yếu để giảm thiểu rủi ro ảo giác và lỗi.
Sau khi cài đặt, máy chủ cung cấp một tập hợp các hành động MCP để kết nối với các tác nhân và gửi cho họ các truy vấn. Nó cũng có thể liệt kê các tác nhân có sẵn hoặc sử dụng một tác nhân mặc định cho các tác vụ cụ thể. Hỗ trợ cho các luồng hội thoại được bao gồm, cung cấp cho các tác nhân bộ nhớ ngữ nghĩa cơ bản cho các cuộc hội thoại theo ngữ cảnh. Bạn sẽ cần ID tác nhân Dịch vụ Tác nhân AI của Azure để gọi chúng bằng MCP.
Máy chủ được triển khai bằng Python và có thể được cài đặt bằng Azure CLI thông qua pip
. Ngoài ra, một phiên bản TypeScript có sẵn cho những người thích nó hơn. Tương tự như Azure MCP Server, máy chủ này hoạt động bên ngoài môi trường AI Foundry, cho phép cài đặt nó trên PC phát triển hoặc như một phần của ứng dụng được lưu trữ trên đám mây trong vùng chứa hoặc VM riêng, với hỗ trợ cho Windows, macOS và Linux.
Tận Dụng Máy Chủ MCP Từ Ứng Dụng Semantic Kernel AI
Là một tiêu chuẩn mở, MCP cho phép khả năng tương thích của máy chủ với bất kỳ máy khách nào. Kho lưu trữ GitHub cung cấp hướng dẫn về cách thiết lập kết nối bằng Claude Desktop của Anthropic, nhưng giá trị thực sự nằm ở việc xây dựng quy trình làm việc tác nhân tùy chỉnh trong Semantic Kernel.
Microsoft cung cấp mã mẫu chứng minh cách tích hợp hỗ trợ MCP vào một điều phối Semantic Kernel, coi nó như một plug-in hạt nhân tích hợp với các lệnh gọi hàm quen thuộc. Các tích hợp này có thể được bao bọc dưới dạng các tác nhân và được truy cập khi cần thiết. Mặc dù tích hợp MCP trong Semantic Kernel vẫn đang được phát triển, nhưng nó tích hợp liền mạch với bộ tính năng hiện có của nó, yêu cầu mã bổ sung tối thiểu để phơi bày các công cụ MCP từ máy chủ sang các ứng dụng AI.
Các công cụ như MCP là các thành phần quan trọng của một ngăn xếp AI hiện đại, cung cấp một cách tiếp cận tiêu chuẩn hóa để xây dựng các giao diện có thể khám phá cho cả ứng dụng cục bộ và từ xa. Sau khi được xác định, các công cụ MCP dễ dàng được gọi, với một máy chủ cung cấp danh sách các công cụ có sẵn và MCP cung cấp cho LLM một phương tiện tiêu chuẩn hóa để gọi các công cụ đó và sử dụng các đầu ra của chúng. Cách tiếp cận này đóng góp đáng kể vào việc cung cấp một công cụ nền tảng phổ quát cho các ứng dụng AI, làm việc với các API tiêu chuẩn, truy vấn cơ sở dữ liệu và các tác nhân AI.