Khi việc sử dụng các AI Agent ngày càng phát triển, nhu cầu về các giao thức đảm bảo tiêu chuẩn hóa, bảo mật và hỗ trợ đổi mới mở cũng tăng lên. Trong bài học này, chúng ta sẽ tìm hiểu 3 giao thức nhằm đáp ứng nhu cầu này - Model Context Protocol (MCP), Agent to Agent (A2A) và Natural Language Web (NLWeb).
Trong bài học này, chúng ta sẽ tìm hiểu:
• Cách MCP cho phép AI Agent truy cập các công cụ và dữ liệu bên ngoài để hoàn thành nhiệm vụ của người dùng.
• Cách A2A hỗ trợ giao tiếp và hợp tác giữa các AI Agent khác nhau.
• Cách NLWeb mang giao diện ngôn ngữ tự nhiên đến bất kỳ trang web nào, cho phép AI Agent khám phá và tương tác với nội dung.
• Xác định mục đích cốt lõi và lợi ích của MCP, A2A và NLWeb trong bối cảnh AI Agent.
• Giải thích cách mỗi giao thức hỗ trợ giao tiếp và tương tác giữa LLM, công cụ và các agent khác.
• Nhận biết vai trò riêng biệt của từng giao thức trong việc xây dựng các hệ thống agentic phức tạp.
Model Context Protocol (MCP) là một tiêu chuẩn mở cung cấp cách thức tiêu chuẩn hóa để các ứng dụng cung cấp ngữ cảnh và công cụ cho LLM. Điều này tạo ra một “bộ chuyển đổi phổ quát” cho các nguồn dữ liệu và công cụ khác nhau mà AI Agent có thể kết nối một cách nhất quán.
Hãy cùng tìm hiểu các thành phần của MCP, lợi ích so với việc sử dụng API trực tiếp, và một ví dụ về cách AI Agent có thể sử dụng máy chủ MCP.
MCP hoạt động trên kiến trúc client-server và các thành phần cốt lõi bao gồm:
• Hosts là các ứng dụng LLM (ví dụ như trình chỉnh sửa mã như VSCode) bắt đầu kết nối với máy chủ MCP.
• Clients là các thành phần trong ứng dụng host duy trì kết nối một-một với các máy chủ.
• Servers là các chương trình nhẹ cung cấp các khả năng cụ thể.
Giao thức bao gồm ba nguyên thủy cốt lõi, đó là các khả năng của máy chủ MCP:
• Tools: Đây là các hành động hoặc chức năng riêng lẻ mà AI Agent có thể gọi để thực hiện một hành động. Ví dụ, một dịch vụ thời tiết có thể cung cấp công cụ “get weather”, hoặc một máy chủ thương mại điện tử có thể cung cấp công cụ “purchase product”. Máy chủ MCP quảng cáo tên, mô tả và schema đầu vào/đầu ra của từng công cụ trong danh sách khả năng của nó.
• Resources: Đây là các mục dữ liệu hoặc tài liệu chỉ đọc mà máy chủ MCP có thể cung cấp, và client có thể truy xuất theo yêu cầu. Ví dụ bao gồm nội dung tệp, bản ghi cơ sở dữ liệu hoặc tệp nhật ký. Resources có thể là văn bản (như mã hoặc JSON) hoặc nhị phân (như hình ảnh hoặc PDF).
• Prompts: Đây là các mẫu được định sẵn cung cấp các gợi ý, cho phép thực hiện các quy trình làm việc phức tạp hơn.
MCP mang lại những lợi ích đáng kể cho AI Agent:
• Khám phá công cụ động: Agent có thể nhận danh sách các công cụ có sẵn từ máy chủ cùng với mô tả về chức năng của chúng. Điều này khác với API truyền thống, thường yêu cầu mã hóa tĩnh để tích hợp, nghĩa là bất kỳ thay đổi nào trong API đều cần cập nhật mã. MCP cung cấp cách tiếp cận “tích hợp một lần”, dẫn đến khả năng thích ứng cao hơn.
• Khả năng tương tác giữa các LLM: MCP hoạt động trên các LLM khác nhau, cung cấp sự linh hoạt để chuyển đổi mô hình cốt lõi nhằm đánh giá hiệu suất tốt hơn.
• Bảo mật tiêu chuẩn hóa: MCP bao gồm phương pháp xác thực tiêu chuẩn, cải thiện khả năng mở rộng khi thêm quyền truy cập vào các máy chủ MCP bổ sung. Điều này đơn giản hơn so với việc quản lý các khóa và loại xác thực khác nhau cho các API truyền thống.
Hãy tưởng tượng một người dùng muốn đặt vé máy bay bằng một trợ lý AI được hỗ trợ bởi MCP.
Kết nối: Trợ lý AI (client MCP) kết nối với máy chủ MCP do một hãng hàng không cung cấp.
Khám phá công cụ: Client hỏi máy chủ MCP của hãng hàng không, “Bạn có những công cụ nào?” Máy chủ trả lời với các công cụ như “search flights” và “book flights”.
Gọi công cụ: Sau đó, bạn yêu cầu trợ lý AI, “Hãy tìm chuyến bay từ Portland đến Honolulu.” Trợ lý AI, sử dụng LLM của nó, xác định rằng cần gọi công cụ “search flights” và truyền các tham số liên quan (điểm xuất phát, điểm đến) đến máy chủ MCP.
Thực thi và phản hồi: Máy chủ MCP, hoạt động như một lớp bao bọc, thực hiện cuộc gọi thực tế đến API đặt vé nội bộ của hãng hàng không. Sau đó, nó nhận thông tin chuyến bay (ví dụ: dữ liệu JSON) và gửi lại cho trợ lý AI.
Tương tác tiếp theo: Trợ lý AI trình bày các tùy chọn chuyến bay. Khi bạn chọn một chuyến bay, trợ lý có thể gọi công cụ “book flight” trên cùng máy chủ MCP, hoàn tất việc đặt vé.
Trong khi MCP tập trung vào việc kết nối LLM với các công cụ, Agent-to-Agent (A2A) tiến xa hơn bằng cách cho phép giao tiếp và hợp tác giữa các AI Agent khác nhau. A2A kết nối các AI Agent trên các tổ chức, môi trường và nền tảng công nghệ khác nhau để hoàn thành một nhiệm vụ chung.
Chúng ta sẽ xem xét các thành phần và lợi ích của A2A, cùng với một ví dụ về cách nó có thể được áp dụng trong ứng dụng du lịch của chúng ta.
A2A tập trung vào việc hỗ trợ giao tiếp giữa các agent và cho phép chúng làm việc cùng nhau để hoàn thành một nhiệm vụ phụ của người dùng. Mỗi thành phần của giao thức đóng góp vào điều này:
Tương tự như cách một máy chủ MCP chia sẻ danh sách công cụ, một Agent Card có:
Agent Executor chịu trách nhiệm truyền ngữ cảnh của cuộc trò chuyện người dùng đến agent từ xa, agent từ xa cần điều này để hiểu nhiệm vụ cần hoàn thành. Trong một máy chủ A2A, một agent sử dụng LLM của riêng mình để phân tích yêu cầu đến và thực hiện nhiệm vụ bằng các công cụ nội bộ của nó.
Khi một agent từ xa hoàn thành nhiệm vụ được yêu cầu, sản phẩm công việc của nó được tạo thành một artifact. Artifact chứa kết quả công việc của agent, mô tả những gì đã hoàn thành, và ngữ cảnh văn bản được gửi qua giao thức. Sau khi artifact được gửi, kết nối với agent từ xa sẽ bị đóng cho đến khi cần lại.
Thành phần này được sử dụng để xử lý các cập nhật và truyền tin nhắn. Nó đặc biệt quan trọng trong môi trường sản xuất cho các hệ thống agentic để ngăn kết nối giữa các agent bị đóng trước khi nhiệm vụ hoàn thành, đặc biệt khi thời gian hoàn thành nhiệm vụ có thể kéo dài.
• Hợp tác nâng cao: Nó cho phép các agent từ các nhà cung cấp và nền tảng khác nhau tương tác, chia sẻ ngữ cảnh và làm việc cùng nhau, tạo điều kiện tự động hóa liền mạch giữa các hệ thống vốn dĩ không kết nối.
• Linh hoạt trong lựa chọn mô hình: Mỗi agent A2A có thể quyết định sử dụng LLM nào để xử lý yêu cầu của nó, cho phép tối ưu hóa hoặc tinh chỉnh mô hình theo từng agent, không giống như kết nối LLM đơn lẻ trong một số trường hợp MCP.
• Xác thực tích hợp: Xác thực được tích hợp trực tiếp vào giao thức A2A, cung cấp một khung bảo mật mạnh mẽ cho các tương tác giữa các agent.
Hãy mở rộng kịch bản đặt vé du lịch của chúng ta, nhưng lần này sử dụng A2A.
Yêu cầu của người dùng đến Multi-Agent: Người dùng tương tác với một “Travel Agent” A2A client/agent, có thể bằng cách nói, “Hãy đặt toàn bộ chuyến đi đến Honolulu vào tuần tới, bao gồm vé máy bay, khách sạn và xe thuê.”
Điều phối bởi Travel Agent: Travel Agent nhận yêu cầu phức tạp này. Nó sử dụng LLM của mình để suy luận về nhiệm vụ và xác định rằng cần tương tác với các agent chuyên biệt khác.
Giao tiếp giữa các agent: Travel Agent sau đó sử dụng giao thức A2A để kết nối với các agent hạ nguồn, chẳng hạn như “Airline Agent,” “Hotel Agent,” và “Car Rental Agent” được tạo bởi các công ty khác nhau.
Thực hiện nhiệm vụ được ủy quyền: Travel Agent gửi các nhiệm vụ cụ thể đến các agent chuyên biệt này (ví dụ: “Tìm chuyến bay đến Honolulu,” “Đặt khách sạn,” “Thuê xe”). Mỗi agent chuyên biệt này, chạy LLM của riêng mình và sử dụng các công cụ riêng (có thể là máy chủ MCP), thực hiện phần cụ thể của việc đặt vé.
Phản hồi hợp nhất: Khi tất cả các agent hạ nguồn hoàn thành nhiệm vụ của họ, Travel Agent tổng hợp kết quả (chi tiết chuyến bay, xác nhận khách sạn, đặt xe thuê) và gửi phản hồi toàn diện, dạng trò chuyện, trở lại cho người dùng.
Các trang web từ lâu đã là cách chính để người dùng truy cập thông tin và dữ liệu trên internet.
Hãy cùng tìm hiểu các thành phần của NLWeb, lợi ích của NLWeb và một ví dụ về cách NLWeb hoạt động bằng cách xem xét ứng dụng du lịch của chúng ta.
Ứng dụng NLWeb (Mã dịch vụ cốt lõi): Hệ thống xử lý các câu hỏi ngôn ngữ tự nhiên. Nó kết nối các phần khác nhau của nền tảng để tạo phản hồi. Bạn có thể nghĩ nó như động cơ cung cấp các tính năng ngôn ngữ tự nhiên cho một trang web.
Giao thức NLWeb: Đây là bộ quy tắc cơ bản cho tương tác ngôn ngữ tự nhiên với một trang web. Nó gửi lại phản hồi dưới dạng JSON (thường sử dụng Schema.org). Mục đích của nó là tạo nền tảng đơn giản cho “AI Web,” giống như cách HTML làm cho việc chia sẻ tài liệu trực tuyến trở nên khả thi.
Máy chủ MCP (Điểm cuối Model Context Protocol): Mỗi thiết lập NLWeb cũng hoạt động như một máy chủ MCP. Điều này có nghĩa là nó có thể chia sẻ công cụ (như phương pháp “ask”) và dữ liệu với các hệ thống AI khác. Trong thực tế, điều này làm cho nội dung và khả năng của trang web có thể sử dụng được bởi các AI Agent, cho phép trang web trở thành một phần của “hệ sinh thái agent” rộng lớn hơn.
Mô hình nhúng: Các mô hình này được sử dụng để chuyển đổi nội dung trang web thành các biểu diễn số gọi là vector (embedding). Các vector này nắm bắt ý nghĩa theo cách mà máy tính có thể so sánh và tìm kiếm. Chúng được lưu trữ trong một cơ sở dữ liệu đặc biệt, và người dùng có thể chọn mô hình nhúng mà họ muốn sử dụng.
Cơ sở dữ liệu vector (Cơ chế truy xuất): Cơ sở dữ liệu này lưu trữ các embedding của nội dung trang web. Khi ai đó đặt câu hỏi, NLWeb kiểm tra cơ sở dữ liệu vector để nhanh chóng tìm thông tin phù hợp nhất. Nó cung cấp danh sách nhanh các câu trả lời khả thi, được xếp hạng theo mức độ tương đồng. NLWeb hoạt động với các hệ thống lưu trữ vector khác nhau như Qdrant, Snowflake, Milvus, Azure AI Search và Elasticsearch.
Hãy xem xét trang web đặt vé du lịch của chúng ta, nhưng lần này, nó được hỗ trợ bởi NLWeb.
Thu thập dữ liệu: Danh mục sản phẩm hiện có của trang web du lịch (ví dụ: danh sách chuyến bay, mô tả khách sạn, gói tour) được định dạng bằng Schema.org hoặc tải qua nguồn cấp dữ liệu RSS. Các công cụ của NLWeb thu thập dữ liệu có cấu trúc này, tạo embedding và lưu trữ chúng trong cơ sở dữ liệu vector cục bộ hoặc từ xa.
Truy vấn ngôn ngữ tự nhiên (Người dùng): Người dùng truy cập trang web và, thay vì điều hướng qua các menu, nhập vào giao diện trò chuyện: “Tìm cho tôi một khách sạn thân thiện với gia đình ở Honolulu có hồ bơi vào tuần tới.”
Xử lý NLWeb: Ứng dụng NLWeb nhận truy vấn này. Nó gửi truy vấn đến một LLM để hiểu và đồng thời tìm kiếm cơ sở dữ liệu vector của nó để tìm danh sách khách sạn phù hợp.
Kết quả chính xác: LLM giúp diễn giải kết quả tìm kiếm từ cơ sở dữ liệu, xác định các kết quả phù hợp nhất dựa trên tiêu chí “thân thiện với gia đình,” “hồ bơi,” và “Honolulu,” sau đó định dạng phản hồi bằng ngôn ngữ tự nhiên. Quan trọng là, phản hồi này đề cập đến các khách sạn thực tế từ danh mục của trang web, tránh thông tin bịa đặt.
Tương tác với AI Agent: Vì NLWeb hoạt động như một máy chủ MCP, một AI Agent du lịch bên ngoài cũng có thể kết nối với phiên bản NLWeb của trang web này. AI Agent có thể sử dụng phương pháp ask
của MCP để truy vấn trực tiếp trang web: ask("Có nhà hàng nào thân thiện với người ăn chay ở khu vực Honolulu được khách sạn đề xuất không?")
. Phiên bản NLWeb sẽ xử lý điều này, tận dụng cơ sở dữ liệu thông tin nhà hàng (nếu đã tải), và trả về phản hồi JSON có cấu trúc.
Tham gia Azure AI Foundry Discord để gặp gỡ các học viên khác, tham dự giờ hỗ trợ và nhận câu trả lời cho các câu hỏi về AI Agent của bạn.
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, nên 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.