Trong bài viết này
Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.
Agent nói “đã đổi địa chỉ giao hàng”, nhưng bản ghi đơn hàng vẫn giữ địa chỉ cũ. Nếu chỉ chấm độ tự nhiên của câu trả lời, trường hợp này có thể được điểm cao. Với hệ thống có công cụ, phép đo phải đi đến trạng thái mà người dùng yêu cầu.
Tiên quyết: hiểu đánh giá mô hình, API và dữ liệu trước/sau thao tác. Bài dùng một cửa hàng giả lập, không thao tác trên đơn hàng thật.
Xây dựng oracle độc lập với lời kể của agent
Trong τ-bench, Yao và cộng sự so sánh trạng thái cơ sở dữ liệu cuối hội thoại với trạng thái mục tiêu được gán nhãn. Đây là một cách tránh coi lời xác nhận của mô hình là bằng chứng thực thi. Bài viết này áp dụng ý tưởng đó vào bộ thử nhỏ, không tái lập kết quả của nghiên cứu.
Với yêu cầu đổi địa chỉ đơn O17, oracle đọc bản ghi trực tiếp từ môi trường kiểm thử. Nó kiểm tra địa chỉ mới, chủ sở hữu đơn và việc người dùng đã cung cấp đủ thông tin. Một mã phản hồi HTTP thành công chỉ là tín hiệu trung gian; dữ liệu cuối mới quyết định nhiệm vụ có hoàn tất không.
Chạy các mô hình trên cùng bộ thử, đọc cả điểm tổng lẫn kiểu lỗi, rồi cân nhắc tốc độ và chi phí. Một chênh lệch nhỏ chưa chứng minh mô hình nào luôn tốt hơn.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Cùng bộ thử
Dùng cùng các trường hợp và quy tắc chấm đã xác định trước cho cả hai mô hình.
02 / Đọc điểm số
Trong ví dụ giả định, A đúng 18/20, B đúng 17/20. Chênh lệch một trường hợp chưa đủ kết luận chung.
03 / Xem kiểu lỗi
Mở các trường hợp thất bại: sai tên người và vượt độ dài có mức ảnh hưởng khác nhau.
04 / Đánh giá nhiều chiều
Đo thêm tốc độ, chi phí và độ ổn định trên dữ liệu phù hợp với công việc thực tế.
A đúng 18/20 và B đúng 17/20 là số liệu giả định để giải thích cách đọc kết quả, không phải benchmark của mô hình có thật.
Sơ đồ minh họa quá trình đánh giá chung. Với agent, phần kết quả cần bao gồm trạng thái môi trường và nhật ký hành động, không chỉ văn bản được sinh.
Kiểm tra cả điều phải xảy ra và điều bị cấm
Một oracle chỉ tìm địa chỉ mới có thể bỏ qua việc agent đã sửa nhầm ba đơn khác. Mô tả mục tiêu bằng điều kiện dương và bất biến bảo toàn:
pass =
final.orders[O17].address == requested_address
and final.orders[O17].owner == initial.orders[O17].owner
and all_other_orders_unchanged(initial, final)
and no_forbidden_tool_call(trace)
Đây là hợp đồng minh họa. Trong ứng dụng thật, trường hợp nào được phép thay đổi cần được liệt kê rõ, chẳng hạn timestamp cập nhật hoặc bản ghi audit. So sánh toàn bộ cơ sở dữ liệu từng byte có thể đánh trượt các thay đổi hệ thống hợp lệ.
Trạng thái cuối cũng không đủ để phát hiện mọi vi phạm. Agent có thể tạm thời đọc dữ liệu ngoài quyền rồi vẫn tạo kết quả đúng. Vì vậy oracle cần kiểm tra trace hoặc cổng phân quyền để phát hiện hành động không hợp lệ trong quá trình thực thi.
Tách thất bại chức năng khỏi thất bại môi trường
Nếu công cụ mô phỏng luôn trả timeout do cấu hình sai, điểm thấp không đo năng lực giải quyết nhiệm vụ. Ghi riêng lỗi môi trường, lỗi lựa chọn công cụ, lỗi đầu vào, vi phạm chính sách và kết quả không đúng. Không âm thầm loại lỗi môi trường sau khi đã thấy mô hình nào bị ảnh hưởng nhiều hơn.
Đặt lại môi trường trước mỗi lượt chạy để đơn hàng đã sửa ở lượt trước không giúp lượt sau vượt qua. Mỗi ca có snapshot ban đầu, phiên bản công cụ, seed khi áp dụng được và giới hạn thời gian. Nếu dùng mô hình làm người dùng giả lập, ghi cả phiên bản và quy tắc của mô hình đó.
Đánh giá bằng trạng thái cuối có độ rõ cao nhưng tốn công xây môi trường. Nó cũng khó áp dụng cho mục tiêu mở như “viết thuyết phục hơn”. Trong các trường hợp ấy, phối hợp điều kiện cấu trúc, đánh giá con người và kiểm tra nguồn; đừng ép mọi chất lượng thành một phép so sánh trường dữ liệu.
Đo độ ổn định, không chỉ một lần thành công
Bài tập: tạo năm ca đổi địa chỉ gồm ca hợp lệ, thiếu thông tin, sai chủ sở hữu, đơn đã khóa và công cụ mất phản hồi. Chạy mỗi ca ba lần trong snapshot mới. Các số lượng này chỉ là quy mô bài tập, không phải bảo đảm thống kê.
Tự kiểm: báo tỷ lệ thành công theo lượt và số ca thành công ở cả ba lượt; mọi ca bị từ chối đúng phải giữ dữ liệu nguyên vẹn. Đọc thủ công ít nhất một trace thất bại để xác nhận oracle không chấm sai. Sau đó đọc khoảng tin cậy để biểu đạt sự bất định khi mở rộng bộ thử.