Xây dựng AI Agent hỗ trợ khả năng truy cập (Accessibility): Bài học từ GitHub
GitHub chia sẻ kinh nghiệm phát triển một AI Agent đa năng nhằm tự động hóa việc kiểm tra và khắc phục các vấn đề về khả năng truy cập (accessibility) trong mã nguồn, giúp tối ưu hóa quy trình phát...
Trong bối cảnh các AI agent đang trở thành công cụ đắc lực cho lập trình viên, GitHub đã triển khai một dự án thử nghiệm đầy tham vọng: xây dựng một accessibility agent (agent hỗ trợ khả năng truy cập). Mục tiêu của dự án này là cung cấp các giải đáp tức thời về accessibility thông qua GitHub Copilot CLI và VS Code, đồng thời tự động phát hiện và sửa lỗi các vấn đề cơ bản trước khi mã nguồn được đưa vào production.
Table Of Content
Hiệu quả thực tế
Tính đến nay, agent này đã đánh giá hơn 3.500 pull request với tỷ lệ giải quyết lỗi thành công đạt 68%. Các nhóm lỗi phổ biến nhất bao gồm: cấu trúc dữ liệu cho công nghệ hỗ trợ, đặt tên cho các thành phần tương tác, thông báo quan trọng, văn bản thay thế cho nội dung phi văn bản và điều hướng bàn phím.
Chiến lược triển khai
GitHub nhấn mạnh rằng agent này không phải là “viên đạn bạc” thay thế con người, mà là công cụ hỗ trợ để giảm bớt rào cản kỹ thuật. Một trong những bài học quan trọng là tận dụng dữ liệu nội bộ. Thay vì chỉ dựa vào các hướng dẫn chung chung, GitHub đã nạp vào agent kho dữ liệu từ hệ thống ghi nhận lỗi accessibility sẵn có của công ty. Điều này giúp AI hiểu rõ ngữ cảnh và các quy ước code đặc thù của tổ chức.
Tối ưu hóa với kiến trúc Sub-agent
Để tránh tiêu tốn quá nhiều token và giảm thiểu sai sót, GitHub đã chuyển từ mô hình agent đơn lẻ sang kiến trúc sub-agent:
- Sub-agent 1 (Reviewer): Đóng vai trò nghiên cứu và rà soát, xác định các vấn đề cần can thiệp.
- Sub-agent 2 (Implementer): Đóng vai trò thực thi các bản sửa lỗi dựa trên hướng dẫn.
Cả hai sub-agent này hoạt động trong môi trường sandbox, không giao tiếp trực tiếp mà thông qua các template schema cố định. Cách tiếp cận này giúp đảm bảo tính nhất quán, dễ dàng kiểm soát (audit) và giảm thiểu tình trạng “ảo giác” (hallucination) của LLM.
Nhận diện giới hạn của AI
GitHub cũng rất thận trọng trong việc thiết lập ranh giới cho agent:
- Đánh giá độ phức tạp: Nếu mã nguồn quá phức tạp, agent sẽ từ chối tự động sửa và yêu cầu lập trình viên tham vấn trực tiếp với đội ngũ chuyên gia.
- Tránh các pattern rủi ro cao: Các thành phần như drag-and-drop, rich text editor hay data grid thường nằm ngoài khả năng xử lý an toàn của AI, do đó agent được lập trình để bỏ qua các khu vực này.
- Kiểm soát hành vi: Đội ngũ phát triển đã thiết lập các chỉ dẫn để ngăn chặn việc AI cố gắng “tự ý” tạo code khi chưa đủ thông tin, đảm bảo tính an toàn cho hệ thống.
GitHub khẳng định rằng, dù AI có thể hỗ trợ đắc lực, nhưng khoảng 36% các tiêu chuẩn WCAG vẫn không thể phát hiện hoàn toàn bằng công cụ tự động. Do đó, việc kết hợp giữa tư duy thiết kế từ sớm và sự can thiệp của con người vẫn là yếu tố then chốt để đảm bảo tính khả dụng cho mọi người dùng.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.