16 điểm bởi darjeeling 2026-01-10 | 1 bình luận | Chia sẻ qua WhatsApp

Tóm tắt:

  • Chỉ dùng các benchmark LLM hiện có thì khó đo chính xác hiệu năng của “AI agent” có khả năng sử dụng công cụ và suy luận nhiều bước.
  • Đánh giá agent nên kết hợp Unit Tests và Integration Tests tương tự như kiểm thử phần mềm.
  • Kết hợp chấm điểm bằng mã có tính quyết định (Code-based) và chấm điểm dựa trên mô hình bằng LLM (Model-based) là cách hiệu quả.
  • Cần chuyển từ “Capability Evals” sang “Regression Evals” theo vòng đời phát triển của agent.

Tóm tắt chi tiết:

  1. Vì sao đánh giá AI agent khó
    Khác với chatbot đơn giản (Single-turn), agent sử dụng công cụ, thay đổi trạng thái của môi trường và thực hiện công việc qua nhiều bước (Multi-turn). Vì vậy, chỉ kiểm tra câu trả lời cuối cùng là không đủ; cần đánh giá tổng thể xem agent có dùng đúng công cụ hay không, quy trình có hiệu quả hay không, v.v.

  2. Cấu trúc của đánh giá agent (Eval)
    Một hệ thống đánh giá hiệu quả gồm các thành phần cốt lõi sau.

  • Task: Một test case đơn lẻ có đầu vào được xác định và tiêu chí thành công rõ ràng.
  • Grader: Logic dùng để chấm điểm kết quả thực hiện của agent.
  • Transcript: Toàn bộ bản ghi thực thi, bao gồm quá trình suy nghĩ của agent, các lệnh gọi công cụ, kết quả trung gian, v.v.
  • Outcome: Trạng thái cuối cùng của môi trường sau khi agent chạy xong (ví dụ: một đặt chỗ đã thực sự được tạo trong DB hay chưa).
  1. So sánh các loại grader
    Anthropic khuyến nghị kết hợp ba loại grader sau.
Loại Mô tả Ưu điểm Nhược điểm
Code-based So khớp chuỗi, regex, phân tích tĩnh, chạy unit test, v.v. Nhanh, rẻ, khách quan, có thể tái lập Có thể bỏ sót sắc thái phức tạp, thiếu linh hoạt
Model-based Dùng LLM làm giám khảo (Judge) để chấm theo rubric Linh hoạt, nắm bắt được sắc thái, phù hợp với câu hỏi mở Có thể không mang tính quyết định, tốn chi phí, cần con người hiệu chỉnh
Human Review bởi chuyên gia, crowdsourcing “Gold standard” về chất lượng Rất chậm và tốn kém
  1. Ví dụ đánh giá coding agent (cấu hình YAML)
    Khi đánh giá coding agent, không chỉ xem mã có chạy được hay không (kiểm thử mang tính quyết định), mà còn cần kiểm tra cả coding style hoặc vi phạm bảo mật (phân tích tĩnh/chấm bằng LLM). Dưới đây là một ví dụ giả định về cấu hình đánh giá cho task “sửa lỗ hổng bảo mật”.
task:  
  id: "fix-auth-bypass_1"  
  desc: "sửa lỗ hổng bỏ qua xác thực xảy ra khi trường mật khẩu để trống"  
  graders:  
    # 1. Kiểm thử mang tính quyết định: xác nhận test code thực sự vượt qua  
    - type: deterministic_tests  
      required: [test_empty_pw_rejected.py, test_null_pw_rejected.py]  
    
    # 2. Chấm theo rubric bằng LLM: đánh giá chất lượng và style mã  
    - type: llm_rubric  
      rubric: prompts/code_quality.md  
    
    # 3. Phân tích tĩnh: chạy linter và công cụ bảo mật  
    - type: static_analysis  
      commands: [ruff, mypy, bandit]  
    
    # 4. Kiểm tra trạng thái: xác nhận log bảo mật đã được ghi đúng  
    - type: state_check  
      expect:  
        security_logs: {event_type: "auth_blocked"}  
    
    # 5. Xác nhận việc sử dụng công cụ: có đọc và sửa các file cần thiết hay không  
    - type: tool_calls  
      required:  
        - {tool: read_file, params: {path: "src/auth/*"}}  
        - {tool: edit_file}  
        - {tool: run_tests}  
  
  # Các metric cần theo dõi  
  tracked_metrics:  
    - type: transcript  
      metrics:  
        - n_turns # số lượt  
        - n_toolcalls # số lần gọi công cụ  
        - n_total_tokens # lượng token sử dụng  
    - type: latency  
      metrics:  
        - time_to_first_token  
  1. Chỉ số đánh giá (Metrics)
    Để xử lý đặc tính không mang tính quyết định của agent, ngoài độ chính xác đơn thuần còn sử dụng các chỉ số sau.
  • pass@k: Xác suất thành công ít nhất một lần trong k lần thử (đo năng lực khám phá).
  • pass^k: Xác suất tất cả các lần thử đều thành công trong k lần thử (đo tính nhất quán/độ tin cậy).
  1. Công cụ và framework
    Để xây dựng hệ thống đánh giá, bài viết đề xuất sử dụng các công cụ như Harbor (chạy trong môi trường container), Promptfoo (cấu hình test dựa trên YAML), Braintrust, LangSmith, hoặc xây dựng framework riêng phù hợp với workflow của đội ngũ. Điều quan trọng không phải là framework tự thân, mà là bảo đảm có được các test case chất lượng cao.

1 bình luận

 
darjeeling 2026-01-10

Nội dung rất hay nên mình thêm bản dịch tiếng Hàn.

https://rosettalens.com/s/ko/demystifying-evals-for-ai-agents