>_Skillful
Need help with advanced AI agent engineering?Contact FirmAdapt
All Posts

Cách Thông Báo Lỗi Từ MCP Servers Ảnh Hưởng Đến Hành Vi Của Agent

Khi một MCP server trả về lỗi, chất lượng của thông báo lỗi đó quyết định liệu AI agent có thể phục hồi hay đơn giản là bỏ cuộc. Hầu hết các server viết thông báo lỗi rất tệ.

April 26, 2026Basel Ismail
mcp error-handling reliability development

Agent Đọc Lỗi

Khi một lệnh gọi công cụ MCP server thất bại, thông báo lỗi trở thành một phần ngữ cảnh của agent. Agent đọc lỗi và quyết định phải làm gì tiếp theo. Có nên thử lại không? Thử cách tiếp cận khác? Hỏi người dùng để được giúp đỡ? Quyết định hoàn toàn phụ thuộc vào những gì thông báo lỗi nói cho nó biết.

Một thông báo lỗi nói "Error: ECONNREFUSED" cho agent biết rằng một kết nối đã bị từ chối, nhưng không nói tại sao hoặc phải làm gì với điều đó. Một thông báo lỗi nói "Error: Cannot connect to PostgreSQL at localhost:5432. The database server may not be running, or the port may be incorrect. Check that PostgreSQL is started and the connection settings match your database configuration." cung cấp cho agent đủ thông tin để giải thích vấn đề cho người dùng và đề xuất các cách khắc phục cụ thể.

Lỗi Tốt Cho Phép Phục Hồi

Những thông báo lỗi tốt nhất cho các công cụ AI tiêu thụ tuân theo một mô hình: chuyện gì đã xảy ra, tại sao nó có thể đã xảy ra, và điều gì có thể khắc phục. "Query returned 0 rows. The table 'users' exists but may be empty, or the WHERE clause 'created_at > 2026-12-01' may not match any records. Try broadening the date range or checking the table contents." Điều này cho agent đủ ngữ cảnh để thử một truy vấn đã sửa đổi mà không cần hỏi người dùng.

Phân loại lỗi cũng giúp ích. Nếu lỗi chỉ ra vấn đề về quyền, agent biết thử lại sẽ không có ích. Nếu nó chỉ ra vấn đề mạng tạm thời, thử lại có thể thành công. Nếu nó chỉ ra tham số không hợp lệ, agent có thể thử các tham số khác. Phân loại rõ ràng cho phép các chiến lược phục hồi thông minh hơn.

Lỗi Tệ Gây Ra Vòng Lặp

Những thông báo lỗi mơ hồ như "Internal server error" hoặc "Something went wrong" không cung cấp cho agent thông tin nào để làm việc. Nó có thể thử lại cùng một lệnh gọi thất bại (lãng phí token), thử một cách tiếp cận hơi khác mà thất bại vì cùng lý do, hoặc bỏ cuộc hoàn toàn khi một điều chỉnh tham số đơn giản đã có thể khắc phục vấn đề.

Mô hình tệ nhất là khi lỗi bị nuốt chửng hoàn toàn, không trả về dấu hiệu nào cho thấy có gì đó đi sai. Agent nhận được kết quả rỗng hoặc một phần và tiếp tục như thể nó đúng. Điều này dẫn đến lỗi xếp tầng ở các bước sau.

Dành Cho Người Xây Dựng MCP Server

Nếu bạn đang xây dựng một MCP server, hãy đầu tư vào thông báo lỗi. Mỗi đường dẫn lỗi nên trả về một thông báo có thể giúp một mô hình ngôn ngữ hiểu vấn đề và đề xuất cách khắc phục. Hãy nghĩ về lỗi của bạn như những hướng dẫn cho một lập trình viên mới vào nghề không có quyền truy cập vào log hoặc cơ sở dữ liệu của bạn. Họ cần biết gì để chẩn đoán và khắc phục vấn đề?

Bao gồm ngữ cảnh liên quan trong lỗi: thao tác nào đã được thử, tham số nào đã được sử dụng, hành vi mong đợi là gì, và thực sự đã xảy ra điều gì. Ngữ cảnh này tốn vài dòng code thêm nhưng cải thiện đáng kể cách agent tương tác với server của bạn.


Đọc Thêm

Duyệt MCP servers trên Skillful.sh. Tìm kiếm hơn 137.000 công cụ AI.