№ 03
Hệ thống VinKYC hỗ trợ người dùng định danh KYC dễ dàng và nhanh chóng hơn. Hệ thống tự động kiểm soát chất lượng đầu vào, nếu hồ sơ chưa đạt điều kiện, người dùng sẽ được yêu cầu chụp lại ngay trước khi đưa vào xử lý. VinKYC tích hợp nhận dạng khuôn mặt kết hợp xác thực liveness để chống giả mạo deepfake. Đối với thẩm định viên, hệ thống hỗ trợ duyệt hồ sơ nhanh hơn nhờ tính năng AI tự động tóm tắt hồ sơ, cùng đầy đủ nhật ký audit và thống kê vận hành theo thời gian thực.
Mở tài khoản ngân hàng giờ không cần tới quầy — toàn bộ khâu định danh dựa vào eKYC. Khi eKYC yếu, kẻ gian dùng giấy tờ giả kết hợp video dựng sẵn để mở tài khoản hàng loạt làm nơi nhận dòng tiền lừa đảo.
Nhưng có một vấn đề ít được nói tới: phần lớn hồ sơ bị loại không phải gian lận — là người thật chụp ảnh chưa đạt. Hệ thống chỉ biết duyệt hoặc từ chối sẽ đẩy toàn bộ nhóm này ra ngoài, và họ không bao giờ biết mình sai ở đâu.
Bốn kết cục, không phải hai. Agent phân luồng hồ sơ theo bốn hướng: tự duyệt, yêu cầu chụp lại kèm hướng dẫn cụ thể, chuyển thẩm định viên, hoặc từ chối.
LangGraph điều phối 13 bước thu thập bằng chứng: kiểm chất lượng ảnh (OpenCV), đọc CCCD hai mặt (PaddleOCR + VietOCR), đối chiếu cấu trúc số định danh, so khớp khuôn mặt (InsightFace), quét giả mạo, đối chiếu danh sách đen. Mô hình thị giác chạy trên GPU T4 (Modal) tách khỏi tiến trình chính.
Con người quyết định vùng xám. Node hitl_review gọi interrupt() — graph
dừng giữa luồng, state ghi xuống PostgreSQL. Tiến trình chết hay container bị
thay cũng không mất hồ sơ; thẩm định viên bấm nút là graph chạy tiếp từ đúng điểm
dừng, kể cả sau nhiều ngày.
LLM không tham gia quyết định. compute_risk và decide là hàm thuần, ngưỡng
có phiên bản. LLM chỉ diễn đạt một kết luận đã có và tóm tắt bằng chứng cho người
thẩm định đọc trước khi quyết. Lý do: dịch vụ tài chính phải giải thích được "vì
sao hồ sơ này bị giữ lại" bằng một điều kiện cụ thể, và phải cho cùng kết quả khi
chạy lại — mô hình sinh không bảo đảm cả hai.
Kiểm tra hiện diện hai chặng. Thử thách chuyển động chấm trên trình duyệt (MediaPipe), và đọc to một dãy số ngẫu nhiên được chấm ở server bằng Whisper. Dãy số do server sinh và giữ, nên bản ghi âm cũ không dùng lại được.
Vết audit chỉ-INSERT. Mỗi bước ghi một dòng, không sửa không xoá.
Hệ thống đang chạy công khai, không phải bản dựng thử: luồng người dùng đầy đủ trên điện thoại, màn thẩm định viên, dashboard vận hành.