Làm sao biết một AI agent tốt lên hay tệ đi sau mỗi lần sửa, và vì sao phải chạy mỗi ca thử nhiều lần?
Gợi ý trả lời
Người phỏng vấn muốn biết bạn có một phương pháp đo được sự thay đổi của agent, thay vì đọc thử vài câu trả lời rồi kết luận "trông ổn".
Câu trả lời tốt bắt đầu bằng khái niệm eval (bộ đánh giá): một danh sách cố định các tin nhắn thử, chạy lại sau mỗi thay đổi như sửa prompt, đổi mô hình hay thêm công cụ. Nó giống unit test, chỉ khác ở chỗ agent có phần ngẫu nhiên, nên có hai quyết định riêng là chấm cái gì và chạy mấy lần.
Về chấm điểm, nên tránh so nguyên văn câu trả lời, vì cùng một ý có nhiều cách diễn đạt và bộ so sẽ đỏ vô cớ. Thay vào đó hãy chấm những điều kiểm được trên "vết" của lần chạy: agent có gọi đúng công cụ với đúng tham số không, có chuyển cho người khi cần không, câu trả lời có chứa thứ bắt buộc hoặc thứ bị cấm (lộ dữ liệu người khác, hứa hoàn tiền) không. Chấm bằng code thì nhanh, rẻ và cho kết quả giống nhau mỗi lần. Những thứ code không chấm được, như giọng điệu, có thể dùng một mô hình khác làm giám khảo hoặc người chấm, nhưng giám khảo cần được kiểm tra độ tin cậy trước.
Về số lần chạy, mô hình thật có thể trả lời lệch giữa hai lần, nên mỗi ca cần chạy nhiều lần và đếm tỉ lệ đạt. Một lỗi hiếm, ví dụ một lần trong mười, sẽ không hiện ra nếu chỉ chạy năm lần mỗi ca. Mỗi lần chạy là một lần gọi mô hình, tức là tiền và thời gian, nên hãy chia theo mức thiệt hại: ca về bảo mật và hoàn tiền phải đạt trọn vẹn, ca thường ngày cho phép ngưỡng thấp hơn.
Điểm cộng: nhắc việc thêm mỗi lỗi do khách báo thành một ca mới, và nhận ra eval chỉ đo được những gì bạn đã nghĩ tới để thử.