AgentInspect cho phép các nhà phát triển ghi lại các hành động từng bước của một AI agent dưới dạng nhật ký JSONL, giúp có thể xác minh rằng các công cụ cần thiết đã được chạy – tất cả mà không cần phải tích hợp OpenTelemetry vào hệ thống.

Trong một bài kiểm tra nhanh với ví dụ kiểm tra thời tiết được xây dựng trên Vercel AI SDK, AgentInspect đã gắn cờ một “lỗi thầm lặng” (silent failure): câu trả lời cuối cùng là chính xác, nhưng lệnh gọi công cụ thời tiết (weather-tool) chưa bao giờ diễn ra. Việc kiểm tra ở cấp độ quy trình (process-level check) của thư viện đã phát hiện ra vấn đề mà một bài kiểm tra đầu ra thông thường sẽ bỏ lỡ.

Tại sao lộ trình thực thi lại quan trọng

Phản hồi của một AI agent là sản phẩm cuối cùng của một chuỗi có thể bao gồm nhiều lần gọi mô hình (model invocations) và các lệnh gọi công cụ bên ngoài. Nếu một câu lệnh (prompt) được yêu cầu lấy dữ liệu trực tiếp, việc thiếu bước lấy dữ liệu đó sẽ làm thay đổi hồ sơ rủi ro ngay cả khi văn bản trông có vẻ đúng. Các bài kiểm tra ở cấp độ câu trả lời (answer-level tests) có thể để lọt một lỗi bỏ qua bước quan trọng vào môi trường production mà không bị phát hiện.

AgentInspect làm được gì

  • Ghi lại nhẹ nhàng (Lightweight recording) – Một adapter TypeScript sẽ móc (hook) vào mã nguồn của agent và ghi lại mỗi lần gọi mô hình, lệnh gọi công cụ và thứ tự của chúng vào một tệp JSON phân tách bằng dòng (JSONL).
  • Công cụ quy tắc (Rule engine) – Các nhà phát triển khai báo các vị ngữ (predicates) đơn giản như “công cụ thời tiết phải được gọi” hoặc “không được sử dụng API tài chính.” Thư viện sẽ đánh giá các quy tắc này sau mỗi lần chạy.
  • Kiểm tra qua CLI (CLI inspection) – Các lần chạy thất bại được lưu dưới dạng tệp mà công cụ dòng lệnh tích hợp có thể mở để xem lại vết thực thi (execution trace) dưới dạng dễ đọc cho con người.

Vì các nhật ký là tệp cục bộ, nên không cần backend truy vết (tracing backend), cấu hình mạng hay một dịch vụ quan sát (observability service) riêng biệt.

Cách thiết lập bài kiểm tra

  1. Kiểm tra quy trình (Process checks) – Một quy tắc xác minh rằng endpoint của weather-tool đã được gọi.
  2. Kiểm tra câu trả lời (Answer checks) – Một khẳng định (assertion) riêng biệt đã so sánh văn bản được tạo ra với đề xuất tham quan trong nhà như mong đợi.

Hai kịch bản đã được chạy:

Kịch bản Kiểm tra câu trả lời Kiểm tra quy trình
Happy path (đã lấy dữ liệu thời tiết) Pass Pass
Bỏ qua thời tiết (công cụ chưa bao giờ được gọi) Pass Fail

Lần chạy thứ hai chứng minh giá trị của việc kiểm tra quy trình: câu trả lời trông có vẻ ổn, nhưng việc thiếu lệnh gọi công cụ đã báo hiệu một lỗi tiềm ẩn.

AgentInspect so với Promptfoo

Promptfoo, một khung kiểm thử (testing framework) đã có tên tuổi hơn, thực hiện thu thập các vết truy vết thông qua OpenTelemetry. Cách tiếp cận đó hoạt động tốt cho các nhóm vốn đã gửi dữ liệu telemetry đến một bộ thu thập (collector), nhưng nó làm tăng thêm gánh nặng cấu hình và sự phụ thuộc vào hạ tầng truy vết.

AgentInspect mang lại cảm giác phù hợp hơn ở giai đoạn đầu của quá trình phát triển, nhưng nó rất đơn giản để thiết lập.

Ai nên quan tâm

  • CI pipelines – Việc thêm một bước duy nhất để chạy AgentInspect và làm thất bại quá trình build khi vi phạm quy tắc sẽ biến các lỗi thầm lặng thành các điểm dừng cứng (hard stops).
  • Debugging – Các nhật ký JSONL có thể được mở cục bộ để phát lại chính xác trình tự các lệnh gọi, giúp tiết kiệm thời gian so với việc phải đào bới qua các bảng điều khiển truy vết (trace dashboards) từ xa.
  • Product teams – Việc biết rằng một bước lấy dữ liệu quan trọng thực sự đã diễn ra trước khi phát hành một tính năng sẽ giúp giảm thiểu rủi ro về các khiếu nại của người dùng ở giai đoạn sau.

Điểm mấu chốt: khi tính chính xác của một AI agent phụ thuộc vào các hành động mà nó thực hiện, chứ không chỉ là văn bản cuối cùng, một bộ ghi nhẹ nhàng như AgentInspect có thể biến các lỗi quy trình tiềm ẩn thành các lỗi có thể nhìn thấy và kiểm thử được—mà không cần đến sự cồng kềnh của một hệ thống truy vết đầy đủ.