CATT 0.2.1: Công cụ mã nguồn mở giúp kiểm thử trợ lý AI ngay trong pipeline CI

Phần mềm22 tháng 10, 2026·5 phút đọc

Nhóm phát triển vừa phát hành CATT 0.2.1, công cụ kiểm thử mã nguồn mở cho phép lập trình viên chạy thử dịch vụ và MCP server của mình với các tác nhân AI mô phỏng kiểu Muse hoặc Instinct. Công cụ giải quyết bài toán tái lập kết quả khi trợ lý AI có bộ nhớ và trạng thái tài khoản, đồng thời ghi lại toàn bộ tương tác để so sánh giữa các bản build và tích hợp vào CI.

CATT 0.2.1: Công cụ mã nguồn mở giúp kiểm thử trợ lý AI ngay trong pipeline CI

Trong thế giới phát triển trợ lý AI, việc kiểm thử các dịch vụ mà tác nhân (agent) tương tác luôn là một cơn đau đầu. Lý do khá đơn giản: trợ lý AI có bộ nhớ, có trạng thái tài khoản, và mỗi lần chạy lại có thể cho ra kết quả khác nhau. Điều này khiến việc tái lập một kịch bản kiểm thử trở nên cực kỳ khó khăn.

Đó chính là lý do nhóm phát triển CATT (Consumer Agent Testing Tool) vừa phát hành phiên bản 0.2.1 dưới giấy phép MIT. Công cụ này cho phép lập trình viên chạy thử dịch vụ của mình với một tác nhân mô phỏng, thay vì phải dựa vào các trợ lý độc quyền như Muse hay Instinct.

Bài toán: Kiểm thử giao tiếp giữa agent và dịch vụ

Khi xây dựng một connector hoặc MCP server cho các trợ lý cá nhân, lập trình viên thường gặp phải tình huống trợ lý hành xử không nhất quán, dùng thông tin cũ, hoặc "tuyên bố thành công" mà không có bằng chứng. Việc kiểm thử tự động những tình huống này rất khó vì:

  • Trợ lý AI có bộ nhớ dài hạn, khiến kết quả phụ thuộc vào lịch sử hội thoại.
  • Trạng thái tài khoản thay đổi giữa các lần chạy.
  • Các tác nhân độc quyền không cung cấp môi trường kiểm thử ổn định.

Giải pháp: Tác nhân mô phỏng có kiểm soát

CATT tiếp cận vấn đề bằng cách cung cấp một tác nhân giả lập (surrogate). Lập trình viên định nghĩa điều kiện đầu vào, các bước phê duyệt và điều kiện thành công cho trạng thái dịch vụ. Sau đó, CATT chạy kịch bản và ghi lại toàn bộ tương tác, bao gồm các lệnh gọi công cụ và phản hồi.

Công cụ hỗ trợ hai mục tiêu mô phỏng: Muse (mặc định) và Instinct. Mỗi hành vi đặc thù của trợ lý đều được gắn nhãn minh bạch:

  • documented — hành vi đã được tài liệu chính thức xác nhận
  • unofficial — dựa trên các nguồn không chính thức
  • assumed — giả định của nhóm phát triển
  • unknown — chưa xác định

Cách làm này giúp lập trình viên hiểu rõ mức độ tin cậy của từng kết quả kiểm thử, tránh nhầm tưởng rằng một bài test đạt nghĩa là dịch vụ đã "tương thích chính thức" với trợ lý thật.

Những gì có thể kiểm thử

CATT 0.2.1 bao phủ nhiều "làn" kiểm thử khác nhau:

  • MCP connectors: Chạy kịch bản sử dụng công cụ của server, áp dụng quy tắc tài khoản và phê duyệt, rồi kiểm tra kết quả thực tế.
  • Embedded MCP apps: Hiển thị ứng dụng trong Chromium và kiểm tra biểu mẫu, lệnh gọi công cụ, tài nguyên.
  • Website: Điều khiển trình duyệt hạn chế qua ảnh chụp accessibility snapshot.
  • HTTP API: Kiểm thử qua ánh xạ khai báo rõ ràng, gắn phê duyệt cho từng lệnh gọi.
  • Readiness checks: Đánh giá catalog và manifest theo bộ hướng dẫn connector của Muse mà không cần gọi công cụ nào.

Đáng chú ý, công cụ này có thể chạy không cần tài khoản model ở chế độ scripted — nghĩa là dùng hoàn toàn trong pipeline CI mà không phát sinh chi phí inference. Khi cần kiểm thử với tác nhân do model điều khiển, bạn chỉ cần cấu hình nhà cung cấp model (hỗ trợ OpenRouter, Meta Model API và nhiều adapter khác).

Ghi lại bằng chứng và so sánh giữa các bản build

Một điểm mạnh đáng chú ý là hệ thống evidence của CATT. Sau mỗi lần chạy, công cụ tạo ra:

  • Báo cáo HTML với phán quyết, timeline từng bước và các kiểm tra.
  • result.json chứa kết quả có cấu trúc.
  • events.jsonl ghi lại dòng sự kiện đã được làm sạch dữ liệu nhạy cảm.

Lệnh diff cho phép so sánh hai lần chạy đã niêm phong (sealed run), trả về mã thoát 1 nếu phát hiện hồi quy kết quả. Điều này rất hữu ích để đảm bảo một thay đổi code không làm hỏng hành vi tích hợp với agent.

Công cụ cũng tự động che giấu thông tin nhạy cảm như thông tin đăng nhập, email, địa chỉ trong các tệp xuất ra (export) — một yêu cầu thiết yếu khi chia sẻ bằng chứng kiểm thử trong nhóm hoặc trong mã nguồn mở.

Lưu ý quan trọng

Nhóm phát triển minh bạch rằng CATT không liên kết cũng không được chứng thực bởi Meta, Instinct, OpenAI hay Anthropic. Việc một bài kiểm thử đạt không có nghĩa là dịch vụ sẽ được chấp thuận chính thức bởi các nền tảng đó — Meta vẫn duyệt connector thủ công, giao thức Poppy mới ở mức draft 0.1 và chưa có bằng chứng vận hành thực tế với Muse.

Ngoài ra, một số tính năng phụ thuộc vào sandbox Seatbelt của macOS, nên trên Linux sẽ bị báo là không hỗ trợ thay vì chạy không giới hạn.

Dành cho lập trình viên Việt Nam

Đối với các đội ngũ đang xây dựng connector hoặc MCP server cho các trợ lý AI, CATT là một lựa chọn đáng cân nhắc để đưa vào quy trình CI/CD:

  • Cài đặt đơn giản qua uv (Python 3.12+) và cần Node.js 20+ cho các làn liên quan đến trình duyệt.
  • Chạy các kịch bản mẫu trên loopback, không cần tài khoản, không tốn phí.
  • Lệnh doctor kiểm tra môi trường và in ra dòng hướng dẫn sửa lỗi cụ thể nếu có vấn đề.

Cách nhanh nhất để bắt đầu, theo chính nhóm phát triển, là trỏ trợ lý lập trình của bạn vào repository và yêu cầu nó tích hợp công cụ vào pipeline CI hoặc quy trình kiểm thử cục bộ.

Với xu hướng các trợ lý AI ngày càng can thiệp sâu vào dịch vụ số, những công cụ như CATT sẽ trở thành một phần thiết yếu trong bộ công cụ của mọi nhóm phát triển — không chỉ để bắt lỗi, mà còn để hiểu rõ cách tác nhân AI thực sự hành xử với hệ thống của mình.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗