So sánh MCP Servers và Agent

1. Về MCP Servers và Agent-based Systems

1.1. Agent-based Systems

Agent-based system là một mô hình trong đó các agent – những tác tử thông minh – được thiết kế để tự động thực hiện các nhiệm vụ dựa trên mục tiêu đã được xác định trước. Mỗi agent thường được trang bị khả năng lập kế hoạch (planning), bộ nhớ (memory) để ghi nhớ thông tin từ các lần tương tác trước, và đặc biệt là khả năng sử dụng công cụ (tools). Các công cụ này có thể là API, trình duyệt, máy tính, cơ sở dữ liệu, hoặc các module chức năng cụ thể mà agent có thể gọi đến khi cần thiết. Ngoài ra, một số agent còn có khả năng code execution – tức là tự sinh mã nguồn (thường bằng Python) và thực thi để giải quyết bài toán, tính toán hoặc phân tích dữ liệu ngay trong quá trình hoạt động.

Ví dụ, trong các hệ thống như AutoGPT hay LangChain Agents, một agent có thể gặp yêu cầu phức tạp (như tìm thông tin, tính toán, hoặc viết báo cáo) và sẽ:

  1. Phân tích yêu cầu,
  2. Quyết định gọi công cụ nào (như tìm kiếm web),
  3. Gọi tool hoặc viết code để xử lý,
  4. Đọc kết quả trả về và tiếp tục bước tiếp theo.

Điểm mạnh của agent là khả năng tự định hướng hành động theo chuỗi logic đa bước mà không cần sự giám sát chặt chẽ từ con người. Tuy nhiên, điều này cũng khiến việc kiểm soát và tối ưu hành vi của agent trở nên khó khăn, nhất là khi có nhiều agent cùng hoạt động song song hoặc xử lý các tác vụ trừu tượng, phức tạp.

 

1.2. Model Context Protocol (MCP) Servers

Model Context Protocol (MCP) server là một hệ thống nằm ở phía sau, giúp các mô hình ngôn ngữ lớn (LLMs) như Claude hay GPT có thể làm việc hiệu quả hơn. Thay vì để mô hình AI tự mình truy cập dữ liệu, chạy công cụ hay ghi nhớ toàn bộ cuộc trò chuyện, MCP server sẽ đảm nhận những việc đó. Nó giống như một trợ lý điều phối thông minh, chuyên xử lý các yêu cầu, theo dõi ngữ cảnh cuộc hội thoại và cung cấp đúng công cụ hoặc dữ liệu cần thiết cho mô hình AI sử dụng.

Thay vì để AI "tự lo tất cả", hệ thống chia ra: LLM là người đặt yêu cầu, còn MCP server là người đáp ứng yêu cầu đó theo một quy trình rõ ràng, được chuẩn hóa thông qua các bước như:

  • Observation: LLM ghi lại điều đang xảy ra, ví dụ như câu hỏi của người dùng.

  • ToolUse hoặc FunctionCall: LLM yêu cầu sử dụng một công cụ cụ thể (như tra thời tiết, tính toán…).

  • FunctionResult: MCP server gửi lại kết quả sau khi thực hiện công cụ đó.

Ví dụ, khi người dùng hỏi: “Thời tiết hôm nay thế nào?”, mô hình AI không tự đi tra cứu mà sẽ gửi yêu cầu đến MCP server. MCP server biết nên gọi công cụ nào (ví dụ: API thời tiết), lấy thông tin, rồi gửi kết quả lại cho AI. Sau đó, LLM sẽ dùng kết quả này để viết thành câu trả lời thân thiện như:
"Hôm nay trời nắng đẹp, khoảng 30 độ C đấy, bạn nhớ mang theo nón nhé!"

MCP là một giao thức – không phải framework

MCP không phải một phần mềm, framework hay thư viện cụ thể. Thay vào đó, nó là một giao thức mô tả cách thức chuẩn hóa việc giao tiếp giữa một mô hình ngôn ngữ lớn (LLM) và các nguồn thông tin, công cụ, và dữ kiện bên ngoài thông qua một MCP server trung gian. MCP định nghĩa các loại thông điệp (Observation, ToolUse, FunctionCall, FunctionResult...) theo định dạng JSON chuẩn hóa. Bất kỳ hệ thống nào hiểu JSON và HTTP đều có thể tương tác.

MCP server thường được triển khai như REST API hoặc event-driven backend, nên có thể:

  • Deploy cục bộ (local),

  • Hoặc dùng server từ xa (remote MCP server),

  • Hoặc dùng MCP như 1 dịch vụ bên thứ ba (3rd-party) qua API.

Các công cụ trong MCP chỉ là các hàm hoặc dịch vụ có mô tả schema → có thể được viết, cập nhật, hoán đổi dễ dàng. MCP không gắn với mô hình Claude hay GPT cụ thể nào. Bạn có thể:

  • Dùng Claude làm client

  • Dùng GPT làm client

  • Dùng open-source LLM như Mistral, LLaMA, Mixtral… làm client → Tất cả đều tương tác được với cùng một MCP server miễn là tuân đúng giao thức.

 

Nhờ có MCP server, LLM không bị rối loạn trong những cuộc hội thoại dài, biết khi nào cần công cụ nào, và luôn có đủ dữ kiện để trả lời đúng và tự nhiên. Kiến trúc này giúp hệ thống dễ mở rộng, dễ bảo trì và có thể dùng trong nhiều ứng dụng như chatbot, trợ lý ảo, hay hệ thống hỗ trợ khách hàng thông minh.

 

2. So sánh 

🧠 Agent là người tự làm tất cả

  • Agent giống như một người trợ lý thông minh, vừa suy nghĩ, vừa tìm thông tin, vừa quyết định mình cần làm gì, dùng công cụ nào, thậm chí còn tự viết code để giải quyết vấn đề.

  • Nó giống như một học sinh tự học, tự đi mượn sách, tự làm bài, tự tra Google – tất cả trong một.

 

Ví dụ:
Agent đọc yêu cầu: “Vẽ biểu đồ doanh thu năm 2023” → nó sẽ tự nghĩ:

"Mình cần lấy dữ liệu ở đâu? À, cần gọi API! Rồi vẽ bằng thư viện nào? Hmm… dùng matplotlib nhé. OK, bắt tay vào code thôi!"

 

🧩 MCP là hệ thống chia việc rõ ràng

  • Với MCP, mô hình AI chỉ tập trung vào việc hiểu và phản hồi, còn việc lấy dữ liệu, chạy công cụ, lưu ngữ cảnh… đã có MCP server lo.

  • Giống như học sinh có một thầy cô trợ giúp: học sinh chỉ hỏi “Cô ơi, cho em số liệu doanh thu”, rồi thầy cô chuẩn bị xong sẽ đưa lại để học sinh viết bài.

 

Ví dụ:
LLM nhận yêu cầu: “Vẽ biểu đồ doanh thu năm 2023”
→ nó gửi yêu cầu đến MCP: "Tôi cần dữ liệu doanh thu"
→ MCP gọi công cụ, lấy dữ liệu
→ Trả về cho LLM để LLM mô tả hoặc tạo đoạn văn mô tả biểu đồ.

 

3. Khi nào sử dụng Agent, khi nào dùng MCP

🤖 Khi nào nên sử dụng Agent-based system?

  • Cần tư duy nhiều bước (multi-step reasoning)
    • Ví dụ: lên kế hoạch du lịch, phân tích tài chính, viết mã phức tạp.
    • Agent có khả năng tự lập kế hoạch và thực hiện từng bước.
  • Tác vụ có logic thay đổi linh hoạt
    • Tình huống không thể xác định trước các bước xử lý, agent sẽ tự suy nghĩ và điều chỉnh.
  • Muốn mô phỏng con người trong cách giải quyết vấn đề
    • Agent hoạt động như "một AI biết suy nghĩ": nhận yêu cầu, phân tích, chọn tool, kiểm tra lại, tiếp tục bước tiếp theo…
  • Chấp nhận tính không ổn định cao hơn
    • Agent có thể "vòng vo", lặp sai, thử lại — phù hợp với tác vụ sáng tạo, nhưng khó kiểm soát.

📌 Ví dụ dùng Agent:

 

  • AutoGPT lên kế hoạch xây dựng website

  • BabyAGI làm nghiên cứu nhiều bước

  • Một AI "tự học", tự đề xuất lộ trình học tập

 

🧠 Khi nào nên dùng LLM + MCP Server

  • Cần độ ổn định, kiểm soát cao
    • Hệ thống có thể audit/log từng hành động.
    • Hạn chế việc AI gọi bừa tool hay sinh mã nguy hiểm.
  • Tác vụ có cấu trúc rõ ràng
    • Như: hỏi đáp tài liệu, truy vấn dữ liệu, gọi API, thực hiện báo cáo theo mẫu.
  • Muốn chia tách rõ AI và công cụ
    • LLM chỉ "gợi ý hành động", không thực thi trực tiếp.
  • Dễ tích hợp vào hệ thống doanh nghiệp
    • Do dùng API chuẩn hóa (giao thức JSON), dễ mở rộng và gắn auth.
  • Sử dụng được nhiều LLM khác nhau trên cùng server
    • Claude, GPT, LLaMA… đều có thể tương tác với cùng 1 MCP server.

📌 Ví dụ dùng MCP:

  • Chatbot tư vấn tuyển sinh, cần tra cứu dữ liệu từ API nội bộ

  • Trợ lý văn phòng hỏi về dữ liệu tài chính qua API

  • Hệ thống trả lời câu hỏi dựa trên nhiều nguồn tài liệu PDF

  • Xây AI-as-a-service (nhiều người dùng đồng thời)