Sàng lọc CV bằng AI — từ yêu cầu đến thiết kế đầy đủ trong một ngày
Dự án HR Recruitment AI: KOGENT dẫn dắt trọn vẹn giai đoạn yêu cầu và thiết kế — 79 tài liệu chuẩn QMS (HLD + thiết kế chi tiết BE/FE) được AI soạn và chuyên gia phê duyệt, thay vì nhiều tuần làm thủ công.
- 79
- tài liệu thiết kế chuẩn QMS được AI soạn
- 14
- màn hình được đặc tả chi tiết
- 35
- component frontend được đặc tả
- 1
- ngày làm việc để sinh trọn bộ thiết kế
Bài toán
Đội HR cần một công cụ sàng lọc CV ứng viên bằng AI: upload hàng loạt CV (PDF/DOCX/ảnh), tự động bóc tách thông tin, chấm điểm theo tiêu chí có trọng số của từng vị trí tuyển dụng, và luôn để con người ra quyết định cuối cùng.
Thách thức không nằm ở việc viết code — mà ở chỗ đi từ yêu cầu mơ hồ đến bộ thiết kế đủ chuẩn để đội phát triển bắt tay làm ngay: đặc tả yêu cầu, kiến trúc tổng thể, thiết kế chi tiết từng API, từng màn hình, từng component. Với cách làm truyền thống, riêng khối tài liệu này chiếm nhiều tuần công sức và chất lượng phụ thuộc kinh nghiệm từng người viết.
KOGENT giải thế nào
Dự án chạy đúng vòng lặp ba bước của KOGENT ở mọi giai đoạn:
- AI đọc — quy trình chuẩn QMS của công ty (biểu mẫu HLD, thiết kế chi tiết BE/FE, checklist review) cùng đặc tả yêu cầu đã duyệt của dự án.
- AI soạn — trọn bộ tài liệu thiết kế đúng biểu mẫu: kiến trúc tổng thể (HLD + NFR), 21 tài liệu thiết kế backend (danh sách API, đặc tả từng nhóm API, migration, entity, batch job, bảo mật, logging, triển khai…), 56 tài liệu thiết kế frontend (14 màn hình, 35 component, tích hợp API, xử lý lỗi, bảo mật & accessibility).
- Chuyên gia duyệt — mọi điểm chưa rõ được ghi thành Q&A có người chịu trách nhiệm; mỗi tài liệu mang mã truy vết về từng yêu cầu (CR-FR-xxx) và trạng thái duyệt riêng, không sản phẩm nào đi tiếp khi chưa qua cổng duyệt.
Tri thức cộng dồn đúng nghĩa: HLD được duyệt trở thành đầu vào cho thiết kế chi tiết; thiết kế chi tiết trở thành đầu vào cho giai đoạn lập trình — cùng một nguồn tri thức, không hỏi lại từ đầu.
Kết quả
- 79 tài liệu thiết kế chuẩn biểu mẫu QMS được AI soạn và gắn đầy đủ metadata truy vết (mã tài liệu, yêu cầu liên quan, trạng thái duyệt) — sinh trong một ngày làm việc thay vì nhiều tuần.
- Hệ thống chạy thật: modular monolith + hàng đợi xử lý nền, bóc tách CV bằng vision LLM, chấm điểm lai rule + AI, người dùng override được mọi khuyến nghị của AI — đúng triết lý Human Gates.
- Chất lượng đồng nhất: mọi tài liệu cùng cấu trúc, cùng chuẩn — người review chỉ tập trung vào nội dung, không phải sửa format.
Trích các sản phẩm bàn giao thật ở phần dưới — đã lược bớt và ẩn thông tin nội bộ; cấu trúc và nội dung giữ nguyên từ tài liệu gốc.
Sản phẩm bàn giao (trích)
High-Level Design — HR Recruitment AI MVP (trích)
Tài liệu do KOGENT (AI) soạn theo biểu mẫu HLD chuẩn QMS, chuyên gia review trước khi chuyển sang thiết kế chi tiết. Mã tài liệu:
BD-HLD-HRRAI, truy vết 21 yêu cầu (CR-FR / CR-IR / CR-NFR / CR-CN).
1.1 Purpose
This High-Level Design describes the overall architecture of the HR Recruitment AI MVP: an on-premise, desktop-web application that helps HR users screen candidate CVs with AI assistance. It defines the system boundary, the architecturally significant components and their responsibilities, the runtime and deployment views, and the key architecture decisions (modular monolith + background workers, vendor-agnostic AI adapter, object storage, async queue, local authentication, hybrid rule+AI scoring).
The document deliberately stops at HLD altitude — component, container and interface level — and defers class/method/DDL detail to the Detail Design documents (BE / FE).
1.2 Application Scope
| Item | Description |
|---|---|
| In scope | Authentication + RBAC cho 3 vai trò; JD + tiêu chí sàng lọc có trọng số, đánh version; upload CV nhiều file (1–50/batch) kèm validation và object storage; bóc tách CV bất đồng bộ (vision LLM / DOCX); review kết quả bóc tách; chấm điểm lai rule + AI, khuyến nghị và override; export Excel; thông báo in-app; soft-delete theo chính sách lưu trữ; audit log; triển khai on-premise Docker Compose single-node. |
| Out of scope | Ứng dụng mobile native; responsive mobile/tablet; đa ngôn ngữ UI; SSO / tích hợp HRMS; các tính năng Phase 3/4 (phỏng vấn, offer, onboarding…). |
Key architecture decisions
| # | Quyết định | Lý do chính |
|---|---|---|
| 1 | Modular monolith + background workers | Đội nhỏ, một node triển khai; tách module rõ để mở rộng sau |
| 2 | Vendor-agnostic AI adapter | Không khóa vào một nhà cung cấp LLM; đổi provider qua cấu hình |
| 3 | Object storage (S3-compatible) | Lưu CV gốc tách khỏi database, presigned URL khi tải |
| 4 | Async queue (Redis-backed) | Bóc tách CV nặng chạy nền, retry tự động, không chặn người dùng |
| 5 | Hybrid rule + AI scoring | Tiêu chí cứng chấm bằng rule minh bạch, tiêu chí mềm dùng AI — người dùng override được |
Luồng xử lý CV — Request → Queue → Processor (trích)
Một trong 21 tài liệu thiết kế backend do KOGENT soạn. Luồng dưới đây được triển khai đúng như đặc tả trong hệ thống chạy thật.
Các bước xử lý
POST /cv/upload— controller validate file (PDF/DOCX/PNG/JPEG, ≤ 20MB, 1–50 file mỗi batch) bằng schema khai báo.- Service lưu file gốc vào object storage, tạo bản ghi CV trạng thái
PENDING, đẩy job vào hàng đợi. - Queue producer thêm job vào hàng đợi
cv-processing— tối đa 3 lần retry, exponential backoff. - Worker nhận job và xử lý nền:
- Chuyển trạng thái
PROCESSING. - Tải file từ object storage.
- PDF chuyển thành ảnh; DOCX bóc text; ảnh gửi nguyên bản.
- Gửi qua AI adapter (vendor-agnostic) — LLM trả JSON có cấu trúc.
- Lưu kết quả phân tích, chuyển trạng thái
COMPLETED(hoặcFAILED).
- Chuyển trạng thái
Trạng thái vòng đời
| Trạng thái | Ý nghĩa |
|---|---|
PENDING | Đã nhận file, chờ xử lý |
PROCESSING | Worker đang bóc tách |
COMPLETED | Có kết quả cấu trúc, sẵn sàng cho bước chấm điểm |
FAILED | Hết retry — hiển thị lý do, cho phép xử lý lại thủ công |
Điểm thiết kế đáng chú ý
- Không chặn người dùng: upload trả về ngay, kết quả cập nhật qua thông báo in-app khi worker xong.
- Human gate: kết quả bóc tách phải qua màn hình Parse Review để con người xác nhận trước khi đưa vào chấm điểm.
- AI adapter cấu hình được: đổi endpoint/model qua biến môi trường, không sửa code.
Q&A và truy vết yêu cầu (trích)
Mọi tài liệu KOGENT sinh ra đều mang metadata truy vết — đây là cách "Human Gates" vận hành trên thực tế: điểm chưa rõ thành Q&A có người chịu trách nhiệm; mỗi tài liệu khai báo yêu cầu nó phủ và trạng thái duyệt.
Q&A giai đoạn thiết kế frontend
| Process | Open | In Progress | Closed | Cancelled |
|---|---|---|---|---|
| Requirement | 0 | 0 | 0 | 0 |
| SRS | 0 | 0 | 0 | 0 |
| Design | 0 | 0 | 3 | 0 |
Ba câu hỏi làm rõ ở giai đoạn INTAKE thiết kế đều được chốt (Closed) trước khi sinh tài liệu — không giả định ngầm nào lọt vào thiết kế.
Metadata truy vết trên từng tài liệu
Mỗi tài liệu thiết kế khai báo trong frontmatter:
| Trường | Ví dụ (từ BD-HLD-HRRAI) | Ý nghĩa |
|---|---|---|
code | BD-HLD-HRRAI | Mã tài liệu theo chuẩn đặt mã QMS |
req_ids | CR-FR-001 … CR-NFR-003, CR-CN-002 (21 mã) | Yêu cầu mà tài liệu này phủ — truy vết 2 chiều |
ai_generated / ai_model | true / (model AI sử dụng) | Minh bạch nguồn gốc AI của bản nháp |
ai_review_status | draft → reviewed → approved | Cổng duyệt của chuyên gia trên từng tài liệu |
approval | author / reviewer / approver / PQA | Chuỗi trách nhiệm phê duyệt |
Vì sao điều này quan trọng với đối tác
- Kiểm toán được: mỗi dòng thiết kế trả lời được câu hỏi "phục vụ yêu cầu nào, ai đã duyệt".
- Thay đổi có kiểm soát: yêu cầu đổi → biết ngay tài liệu nào bị ảnh hưởng
qua
req_ids. - AI minh bạch: sản phẩm nào do AI soạn đều được đánh dấu — trách nhiệm cuối cùng luôn thuộc về con người phê duyệt.