Trước khi viết dòng cấu hình đầu tiên, bạn cần hiểu rõ agent tuyển dụng thực chất là một chuỗi công việc (workflow) được điều phối bởi LLM, không phải một "cái máy tự quyết định tuyển ai". Nếu hiểu sai vai trò, bạn sẽ xây một hệ thống vừa tốn tiền vừa rủi ro pháp lý.
Agent HR là gì trong thực tế
Một agent HR điển hình nhận đầu vào (CV, JD, lịch trống của interviewer) và tạo đầu ra (điểm số + lý do, email mời lịch, checklist onboarding). Ở giữa là các bước có kiểm soát: trích xuất dữ liệu, so khớp, chấm điểm, gọi API lịch, gửi thông báo.
Ví dụ cụ thể: Công ty ABC nhận 200 CV cho 1 vị trí Backend. Recruiter mất 3 phút/CV để đọc lần đầu = 10 giờ. Agent làm vòng sàng lọc thô trong 15 phút, trả về 200 CV đã gắn điểm 0–100 kèm 3 dòng lý do mỗi CV. Recruiter chỉ đọc kỹ 40 CV top → tiết kiệm 8 giờ.
Ranh giới: việc agent làm vs. việc con người giữ
AGENT LÀM (an toàn, lặp lại):
- Trích xuất thông tin từ CV (skills, năm KN, học vấn)
- Chấm điểm theo tiêu chí rõ ràng đã định nghĩa trước
- Soạn & gửi email mời phỏng vấn
- Tìm khung giờ trống chung, đặt lịch
- Tạo checklist onboarding từ template
CON NGƯỜI GIỮ (quyết định + đạo đức):
- Quyết định LOẠI/NHẬN cuối cùng
- Đánh giá culture fit, thái độ
- Xử lý ngoại lệ, CV "lạ" nhưng tiềm năng
- Chịu trách nhiệm pháp lý về phân biệt đối xử
Nguyên tắc vàng: Agent đề xuất, con người quyết định (human-in-the-loop) ở mọi bước có hậu quả với con người. Agent không bao giờ tự động gửi thư từ chối hàng loạt mà không có người duyệt.
Khung tư duy 4 tầng của một agent HR
- Ingest — thu thập & chuẩn hóa dữ liệu (CV PDF → text → JSON).
- Reason — LLM chấm điểm, giải thích, đề xuất.
- Act — gọi công cụ: Calendar API, email, Slack/Telegram.
- Human gate — chốt bởi người trước khi hành động bất khả hồi.
Các bước xác định phạm vi dự án của bạn
- Liệt kê 5 việc thủ công tốn thời gian nhất trong quy trình tuyển dụng hiện tại.
- Với mỗi việc, đánh dấu: lặp lại được không? tiêu chí có rõ không? có hậu quả pháp lý không?
- Chọn 1–2 việc "lặp lại + tiêu chí rõ + hậu quả thấp" làm điểm khởi đầu (thường là sàng lọc thô và đặt lịch).
- Định nghĩa đầu ra thành công đo được: ví dụ "giảm thời gian sàng lọc từ 10h xuống 2h".
- Vẽ luồng dữ liệu từ đầu vào đến đầu ra trên 1 trang giấy trước khi code.
Ví dụ output mong muốn (định dạng chuẩn hóa)
{
"candidate_id": "c_1042",
"score": 78,
"tier": "B+",
"reasons": [
"5 năm Java, khớp yêu cầu 3+",
"Thiếu kinh nghiệm Kubernetes (JD yêu cầu)",
"Có kinh nghiệm fintech, cùng ngành"
],
"recommend_next": "phone_screen"
}
Định dạng có cấu trúc như trên là chìa khóa: nó cho phép các bước sau (lọc, sắp xếp, đặt lịch) chạy tự động mà không cần đọc văn bản tự do.
Checklist khởi động dự án
- [ ] Đã chọn 1 vị trí pilot cụ thể (không làm chung chung)
- [ ] Đã có JD rõ ràng với tiêu chí bắt buộc/ưu tiên tách biệt
- [ ] Đã xác định điểm human-in-the-loop
- [ ] Đã có metric đo thành công
- [ ] Đã thống nhất dữ liệu ứng viên được lưu ở đâu, bao lâu
Sai lầm thường gặp
- Giao quyết định loại/nhận cho agent. Đây là rủi ro pháp lý (phân biệt đối xử) và mất niềm tin ứng viên. Agent chỉ xếp hạng.
- Làm "tất cả trong một" ngay lần đầu. Xây một siêu-agent xử lý mọi thứ sẽ khó debug. Bắt đầu bằng 1 bước, chạy ổn rồi mở rộng.
- Không định nghĩa output có cấu trúc. Nếu LLM trả văn bản tự do, bước sau không tự động hóa được, bạn lại phải copy-paste thủ công.
- Bỏ qua metric. Không đo thì không biết agent có thực sự tiết kiệm thời gian hay chỉ tạo cảm giác "hiện đại".