Thất Bại Như Là Thông Tin
Khi một AI agent gọi một công cụ MCP server và nó thất bại, thông báo lỗi sẽ đi vào ngữ cảnh của agent. Khác với một chương trình theo kịch bản đi theo đường lỗi định trước, agent có thể suy luận về lỗi và chọn phản ứng dựa trên những gì lỗi đó nói cho nó biết.
Một lỗi "table not found" nói cho agent biết phải kiểm tra tên bảng. Một lỗi "permission denied" nói cho agent biết rằng cách tiếp cận này sẽ không hoạt động dù có thử lại bao nhiêu lần. Một lỗi "timeout" nói cho agent biết rằng thao tác có thể thành công nếu thử lại hoặc với tham số đơn giản hơn. Thông báo lỗi tốt cho phép kiểu suy luận này. Thông báo lỗi tệ khiến agent phải đoán mò.
Chiến Lược Thử Lại
Không phải mọi thất bại đều xứng đáng nhận cùng một phản ứng. Agent cần phân biệt giữa lỗi tạm thời (có thể thành công khi thử lại) và lỗi vĩnh viễn (sẽ không thành công). Một timeout mạng là tạm thời. Một bảng không tồn tại là vĩnh viễn. Lỗi rate limit là tạm thời nhưng cần một khoảng trễ trước khi thử lại.
Những agent được thiết kế tốt triển khai thử lại theo cấp độ: thử lại ngay lập tức một lần nữa cho các lỗi không mong đợi, chờ và thử lại cho rate limit, và chuyển sang phương án tiếp cận thay thế cho thất bại vĩnh viễn. Cách này tinh vi hơn so với mô hình đơn giản "thử lại ba lần" và tạo ra kết quả tốt hơn.
Phương Án Tiếp Cận Thay Thế
Phản ứng có giá trị nhất với thất bại là tìm một con đường khác đến cùng mục tiêu. Nếu truy vấn một bảng cụ thể thất bại, agent có thể tìm dữ liệu trong một bảng khác không? Nếu một endpoint API ngừng hoạt động, có endpoint thay thế không? Nếu không thể đọc trực tiếp một tệp, agent có thể tìm kiếm nó trước để có đường dẫn chính xác không?
Khả năng tìm phương án tiếp cận thay thế là một trong những lợi thế then chốt của agent so với kịch bản cứng nhắc. Một kịch bản đi theo một đường và thất bại nếu đường đó bị chặn. Một agent có thể suy luận về các con đường thay thế và thử chúng, thường thành công ở nơi mà một kịch bản đã phải bỏ cuộc.
Ngăn Chặn Thất Bại Lặp Lại
Những agent tốt ghi nhớ những gì đã thất bại trong một phiên làm việc. Nếu truy vấn một bảng với một tên nhất định đã thất bại, agent không nên thử cùng một truy vấn đó ba bước sau. Điều này có vẻ hiển nhiên, nhưng nếu không có chỉ dẫn rõ ràng về việc theo dõi thất bại, agent đôi khi vẫn lặp lại, đặc biệt trong các nhiệm vụ dài khi thất bại ban đầu đã trôi ra khỏi sự chú ý hiện tại.
Bao gồm các chỉ dẫn như "Nếu một lệnh gọi công cụ thất bại, hãy ghi nhận thất bại đó và không lặp lại cùng một lệnh gọi với cùng tham số" trong prompt của agent giúp ngăn chặn việc thử lại lãng phí.
Đọc Thêm
- Cách Debug Một AI Agent Cứ Mãi Mắc Sai Lầm
- Vòng Lặp Agent: Cách Hệ Thống AI Tự Hành Đưa Ra Quyết Định
- Cách Thông Báo Lỗi Từ MCP Servers Ảnh Hưởng Đến Hành Vi Của Agent
Khám phá AI agents trên Skillful.sh. Tìm kiếm hơn 137.000 công cụ AI.