Bỏ qua để đến nội dung

Sampling

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Sampling cho phép MCP server yêu cầu Claude sinh văn bản thông qua client đang kết nối, thay vì tự tích hợp trực tiếp với API. Cách này giúp server không phải quản lý API key, xác thực, và sự phức tạp của việc tích hợp trực tiếp.

Quy trình khá đơn giản: server hoàn thành công việc của nó, tạo ra một prompt, gửi một yêu cầu sampling tới client, client sẽ gọi Claude và trả kết quả sinh ra ngược lại cho server.

Lựa chọn 1: MCP server truy cập trực tiếp Claude Lựa chọn 1: MCP server tự tích hợp trực tiếp với Claude.

Lựa chọn 2: server yêu cầu gọi Claude thông qua MCP client Lựa chọn 2 (sampling): server yêu cầu client gọi Claude thay cho nó.

  • Giảm độ phức tạp phía server, loại bỏ việc tích hợp trực tiếp với language model.
  • Chuyển chi phí token từ server sang client.
  • Loại bỏ yêu cầu quản lý credential ở phía server.
  • Đặc biệt phù hợp với các server công khai, tránh việc bị lạm dụng gây tốn chi phí ngoài ý muốn.

Phía server dùng hàm create_message để gửi yêu cầu sampling. Phía client cần triển khai một sampling_callback để xử lý các yêu cầu đó và gọi Claude thay cho server.

Sampling mang lại lợi ích lớn nhất với các MCP server công khai, nơi bạn muốn người dùng tự chịu chi phí AI của họ trong khi vẫn dùng được chức năng của server.