№ 04
GateKeeper AI là hệ thống quản lý khách ra/vào chung cư bằng nhận diện khuôn mặt, kết hợp thang máy thông minh và tủ khóa giao hàng, trong đó AI chỉ đề xuất còn mọi quyết định ALLOW/DENY đều do policy code kiểm soát.
Mô tả chi tiết:
Bài toán Chung cư cần một quy trình quản lý khách ra/vào chặt chẽ nhưng vẫn tiện lợi: cư dân đăng ký khách, khách xác minh danh tính, bảo vệ kiểm soát ra vào tại kiosk, hệ thống giám sát bất thường theo thời gian thực, và cấp/thu hồi quyền vào thang máy hoặc tủ khóa giao hàng.
Giải pháp kỹ thuật Hệ thống gồm 5 lớp nối tiếp: Registration (agent LangGraph trích xuất thông tin khách từ tiếng Việt tự nhiên), Identity (xác minh OTP + đăng ký khuôn mặt), Access (nhận diện khuôn mặt, chống giả mạo, đối chiếu tại kiosk), Security (agent Sentinel chạy nền phát hiện bất thường và agent Advisor giải thích cảnh báo cho bảo vệ), Authorization (cấp/thu hồi quyền thang máy và tủ khóa thông minh).
Nguyên tắc lõi: LLM chỉ đề xuất, mọi quyết định ALLOW/DENY nằm trong policy engine viết bằng code thuần. API xử lý chính (/api/v1/gate/verify, p95 < 2s) không gọi LLM; nếu tắt LLM_API_KEY, hệ thống vẫn hoạt động bình thường. Toàn bộ quyết định quan trọng được ghi vào audit log không thể sửa/xoá.
Stack: Python 3.11, FastAPI, LangGraph, PostgreSQL 16, SQLAlchemy 2.x, Alembic, Next.js (frontend).
Tính khả thi Các thành phần chính đã có trong code và chạy được: Registrar/Verifier, Sentinel (4 luật phát hiện bất thường), Advisor, đăng ký khách qua OTP + nhận diện khuôn mặt (OpenCV), mã hoá PII bằng Fernet, cấp quyền thang máy theo tầng, tủ khóa thông minh và phiên giao hàng cho shipper. Hệ thống có bộ hợp đồng đóng băng (domain model, reason codes, API, agent state) đảm bảo tính nhất quán khi 4 thành viên phát triển song song.
Hướng phát triển Hoàn thiện rate limit cho token thiết bị (locker/shipper), tích hợp với hãng vận chuyển để kích hoạt nhánh PACKAGE_NOT_EXPECTED, xử lý đầy đủ trạng thái LockerDepositStatus.EXPIRED, và viết lại README chính thức cho dự án.