AI Agents In Practice: Reading Failures from The Trace
AI agent của bạn không bị sập. Nó báo cáo thành công. Nhưng tài khoản ngân hàng của bạn lại cho thấy một sai sót.
Một khoản hoàn tiền đã được gửi đi cho một đơn hàng chưa từng bị hủy. Khách hàng vừa có hàng vừa có tiền. Agent thì nghĩ rằng nó đã hoàn thành công việc.
Đừng vội tìm đến một mô hình lớn hơn. Cũng đừng chỉ thêm một vòng lặp thử lại (retry loop). Cả hai đều chỉ là những phỏng đoán.
Thay vào đó, hãy đọc trace. Agent đã ghi lại những gì nó đã thực hiện.
Một trace trong môi trường production tốt cần ghi lại vòng lặp theo từng bước. Nó phải hiển thị:
- Những gì agent quan sát được
- Những gì nó đã quyết định
- Công cụ nào đã được gọi
- Kết quả trả về từ công cụ
- Việc xác minh đọc từ nguồn dữ liệu gốc (source of truth)
- Trạng thái cuối cùng và chi phí
Phần quan trọng nhất là khoảng cách giữa phản hồi của công cụ và việc xác minh đọc dữ liệu. Một công cụ có thể báo "accepted", nhưng điều đó không có nghĩa là thực tế đã thay đổi. Việc xác minh đọc dữ liệu sẽ cho bạn biết liệu sự thay đổi đó có thực sự diễn ra hay không.
Các lỗi thường rơi vào hai nhóm:
- Execution Failures
- Lỗi công cụ: Tham số sai hoặc hết thời gian chờ (timeout).
- Lỗi lập luận: Mô hình chọn sai hành động.
- Lỗi trạng thái kiểm soát: Agent tin vào một lời nói dối. Nó nghĩ rằng một đơn hàng đã bị hủy vì công cụ báo như vậy, ngay cả khi cơ sở dữ liệu cho thấy điều ngược lại.
- Structural Loop Failures
- Suy giảm ngữ cảnh: Agent mất dấu luồng xử lý.
- Vòng lặp mất kiểm soát: Agent lặp lại các bước mà không có tiến triển.
- Đình trệ âm thầm: Agent bị treo mà không báo lỗi. Bạn cần một trình giám sát (watchdog) để coi sự im lặng này là một lỗi.
Khi bạn tìm thấy một lỗi, đừng chỉ thử lại. Thử lại (retry) là một chiến lược, không phải là một phương pháp chẩn đoán.
- Nếu đó là lỗi tạm thời như hết thời gian chờ, hãy thử lại.
- Nếu đó là lỗi logic, việc thử lại chỉ làm tiêu tốn ngân sách của bạn để rồi lại vấp phải cùng một trở ngại.
- Nếu agent gặp phải vật cản (blocker), hãy dừng lại và báo cho con người.
Cách tốt nhất để khắc phục một lỗi là biến nó thành một bài kiểm tra (test).
Hãy sử dụng trace để viết một bộ chấm điểm (grader). Nếu một agent thất bại trong việc xác minh việc hủy đơn, hãy viết một bài test sẽ báo lỗi nếu việc hoàn tiền diễn ra mà không có trạng thái hủy được xác nhận. Hãy biến những lỗi mà bạn đã phải trả giá thành những lỗi mà bạn không bao giờ phải trả giá lần thứ hai.
Optional learning community: https://t.me/GyaanSetuAi
