Hoàn thành bài "Bảo mật, Độ tin cậy và Khả năng quan sát" trước để mở khoá bài này.Đến bài trước

Kết quả Capstone

Một tích hợp MCP sẵn sàng cho môi trường production không đơn thuần là một agent có thể gọi một công cụ. Đó là một ứng dụng kết nối AI agent với các công cụ hoặc dữ liệu đã được phê duyệt, điều phối từng yêu cầu thông qua một MCP client và cung cấp cho người dùng thông tin đáng tin cậy về những gì đã xảy ra. Trong capstone này, bạn sẽ thiết kế và đánh giá toàn bộ quy trình đó bằng các yêu cầu thực tế, bao gồm cả những yêu cầu mơ hồ, không an toàn hoặc không thể hoàn thành.

Hãy phân biệt rõ các vai trò. Host là ứng dụng quản lý trải nghiệm agent và các MCP client của ứng dụng. Một MCP client duy trì kết nối với một MCP server. Server cung cấp các capability như tool hoặc resource. Model có thể hỗ trợ lựa chọn hành động, nhưng host vẫn chịu trách nhiệm về các quyết định chính sách, tương tác với người dùng và báo cáo kết quả. Không được xem chỉ thị của model hoặc mô tả công cụ là ranh giới phân quyền.

Xác định Yêu cầu và Phạm vi

Bắt đầu với một quy trình cụ thể, chẳng hạn như phân loại ticket hỗ trợ. Ghi rõ người dùng có thể yêu cầu những gì, ứng dụng được phép truy cập dữ liệu nào và những hành động nào có thể làm thay đổi trạng thái bên ngoài. Một tập capability ban đầu hữu ích gồm chức năng tra cứu ticket chỉ đọc và một hành động làm thay đổi trạng thái, chẳng hạn như thêm ghi chú nội bộ. Hãy xác định các input được phép, kết quả mong đợi và yêu cầu phân quyền cho từng hành động trước khi kết nối agent.

Tách biệt việc thu thập thông tin khỏi những quyết định có hậu quả. Ứng dụng có thể truy xuất một ticket và soạn thảo ghi chú đề xuất mà không thay đổi dữ liệu nào. Ứng dụng không được thêm ghi chú hoặc thay đổi trạng thái ticket cho đến khi người dùng xác nhận hành động và đối tượng đích cụ thể. Nếu yêu cầu không xác định ticket nào, hoặc thông tin truy xuất được vẫn còn điểm không chắc chắn đáng kể, hãy đặt câu hỏi làm rõ thay vì đoán. Sử dụng dữ liệu sandbox cho việc phát triển và đánh giá; không sử dụng hồ sơ khách hàng thật chỉ để khiến phần minh họa có vẻ thực tế hơn.

Sơ đồ minh họa yêu cầu của người dùng đi qua chính sách của host và ranh giới phê duyệt, rồi đến AI agent, một MCP client và một MCP server sandbox với các tool tra cứu chỉ đọc và tool làm thay đổi trạng thái được tách riêng; thể hiện kết quả quay trở lại qua host đến người dùng

Xây dựng Luồng MCP

Kết nối với server bằng MCP client được SDK và transport bạn chọn hỗ trợ. Đối với server cục bộ, standard input/output có thể phù hợp; đối với server từ xa, hãy sử dụng HTTP transport được hỗ trợ và cấu hình bảo mật một cách có chủ đích. Xem transport, SDK và phiên bản server là các dependency rõ ràng của dự án. Ghi nhận danh tính và capability dự kiến của server khi khởi động, đồng thời báo lỗi rõ ràng nếu thiếu tool bắt buộc hoặc schema input mà server công bố không tương thích với ứng dụng của bạn.

Sử dụng việc khám phá và gọi MCP như các thao tác giao thức, không phải những tên do mô hình tự nghĩ ra. Client có thể khám phá các công cụ hiện có thông qua `tools/list` và gọi công cụ đã chọn thông qua `tools/call`. Server cũng có thể cung cấp resources để client khám phá và đọc thông qua các thao tác resource tương ứng. Chỉ yêu cầu những khả năng mà quy trình này cần. Trước khi gọi công cụ, host cần kiểm tra chính sách của mình, xác thực các đối số theo yêu cầu của ứng dụng và xin xác nhận khi cần. Sau khi gọi, hãy xác thực kết quả trước khi chuyển lại cho agent hoặc trình bày như sự thật.

Đảm bảo an toàn và độ tin cậy

Schema và mô tả công cụ giúp agent hiểu một khả năng, nhưng không chứng minh rằng việc gọi công cụ là an toàn. Các chú thích như chỉ đọc hoặc gợi ý thao tác phá hủy là metadata hữu ích, không thể thay thế chính sách của ứng dụng. Thực thi kiểm soát truy cập bằng quyền của server và các bước kiểm tra ủy quyền riêng của host. Chỉ cấp cho server thông tin xác thực cần thiết cho những thao tác và bản ghi mà nó cần; lưu bí mật bên ngoài prompt và hệ thống quản lý mã nguồn; đồng thời sử dụng cơ chế ủy quyền từ xa phù hợp với transport đã chọn.

Coi cả đối số do mô hình tạo ra lẫn nội dung server trả về là dữ liệu đầu vào không đáng tin cậy. Xác thực mã định danh, các giá trị trạng thái được phép, độ dài văn bản và mọi quyền liên quan của người dùng. Đầu ra từ công cụ có thể chứa dữ liệu không chính xác hoặc chỉ dẫn nhằm thao túng agent; đầu ra đó không thể ghi đè chính sách của host. Thiết lập timeout và cung cấp phương án xử lý lỗi rõ ràng. Chỉ thử lại những thao tác được xác định là an toàn khi lặp lại, vì thử lại một yêu cầu làm thay đổi trạng thái sau khi timeout không rõ kết quả có thể gây ra tác động trùng lặp. Khi được hỗ trợ, hãy xử lý việc hủy tác vụ và đóng kết nối client, server một cách gọn gàng.

Đánh giá từ đầu đến cuối

Kiểm thử toàn bộ quy trình của người dùng, không chỉ kiểm tra xem kết nối MCP có mở được hay không. Bao gồm một yêu cầu tra cứu đơn giản, một yêu cầu cần làm rõ, một yêu cầu thực hiện thay đổi, trường hợp người dùng từ chối xác nhận và trường hợp server timeout hoặc trả về lỗi. Thêm một tình huống trong đó đầu ra của công cụ chứa chỉ dẫn mâu thuẫn với chính sách ứng dụng. Với mỗi tình huống, xác định phản hồi dự kiến hiển thị cho người dùng và liệu có được phép gọi công cụ hay không.

Đo lường hành vi có thể quan sát được. Ghi lại công cụ dự kiến có được chọn hay không, các đối số có vượt qua bước xác thực hay không, phê duyệt bắt buộc có được thực hiện hay không và phản hồi cuối cùng có khớp với kết quả thực tế từ công cụ hay không. Chỉ coi kiểm thử là đạt nếu ứng dụng từ chối các lệnh gọi không an toàn và mô tả chính xác các lỗi. Rà soát log và trace để có đủ chi tiết chẩn đoán yêu cầu thất bại, đồng thời che thông tin xác thực và hạn chế dữ liệu nhạy cảm của người dùng. Báo cáo phạm vi kiểm thử và các giới hạn đã biết thay vì khẳng định rằng một bộ kiểm thử nhỏ chứng minh được mức độ an toàn nói chung.

Phát hành và rà soát

Trước khi phát hành, hãy cố định phiên bản các dependency, lập tài liệu về cấu hình server MCP và transport, đồng thời bảo đảm ứng dụng mặc định từ chối hoạt động khi thiếu cấu hình hoặc khả năng bắt buộc. Rà soát các biện pháp kiểm soát truy cập, cách xử lý thông tin xác thực, mức độ lộ diện trên mạng, timeout và thời gian lưu log. Tách biệt cấu hình server cho môi trường phát triển, kiểm thử và production. Mọi thay đổi đối với schema công cụ hoặc cách triển khai server đều cần kích hoạt kiểm thử tương thích và an toàn trước khi triển khai.

Sản phẩm capstone cần bàn giao là một ứng dụng có thể chạy lại theo quy trình, không phải một ảnh chụp màn hình thành công. Hãy cung cấp các bước thiết lập, ranh giới tin cậy, những thao tác cần phê duyệt và kết quả kiểm thử. Người đánh giá cần có thể chạy ứng dụng với dữ liệu sandbox, tái hiện cả một lần tra cứu thành công lẫn một thao tác bị từ chối hoặc thất bại, đồng thời xác minh rằng thông báo cuối cùng không bao giờ khẳng định thay đổi đã xảy ra nếu server chưa xác nhận. Các tiêu chuẩn này giúp việc tích hợp dễ hiểu, dễ kiểm thử và an toàn hơn khi vận hành.

Luyện tập sau buổi học

Bài kiểm tra cuối bài

Ôn lại kiến thức, thử sức và nhận góp ý cho bài làm.

0/1
Đã trả lời · 0/1