RAG hay finetune LLM cho chatbot nội bộ doanh nghiệp
01/10/2026

Một khách hàng từng nói với tôi: “Anh cứ nhét hết tài liệu công ty vào model là xong”. Nghe thì đơn giản, và tôi hiểu vì sao họ nghĩ vậy. Nhưng cách bạn “nhét” tài liệu vào, bằng RAG hay bằng finetune LLM, dẫn tới hai hệ thống hoàn toàn khác nhau về chi phí, độ tin cậy và công sức bảo trì. Bài này kể cách chúng tôi nghĩ về lựa chọn đó khi làm chatbot nội bộ cho doanh nghiệp Việt.
Hai cách làm hai việc khác nhau
RAG (retrieval-augmented generation) hiểu đơn giản là: khi người dùng hỏi, hệ thống tìm vài đoạn tài liệu liên quan trong kho của bạn, đưa chúng cho model đọc cùng câu hỏi, rồi model trả lời dựa trên đoạn vừa đọc. Model không “học” gì mới. Nó chỉ được đưa tài liệu để tra cứu, giống một nhân viên mở sổ tay trước khi trả lời.
Finetune thì khác. Bạn huấn luyện tiếp model trên dữ liệu của mình, và thay đổi thật sự nằm trong trọng số. Thứ model học được thường là phong cách, định dạng, cách dùng thuật ngữ, cách suy luận trong một lĩnh vực. Nó không phải cách tốt để nhồi một nghìn trang quy chế nhân sự vào đầu model, vì kiến thức kiểu đó dễ bị nhớ sai hoặc nhớ lệch.
Một hình dung tôi hay dùng: RAG là cho nhân viên quyền truy cập thư viện. Finetune là đưa nhân viên đi đào tạo một khóa nghề. Thư viện giúp tra đúng sự kiện. Khóa đào tạo giúp họ nói và làm việc đúng kiểu của nghề.
Khi nào RAG là lựa chọn đầu tiên
Nếu chatbot chủ yếu trả lời câu hỏi dựa trên tài liệu có sẵn như quy trình, chính sách, hướng dẫn sản phẩm, hãy bắt đầu với RAG. Lý do khá thực dụng:
- Tài liệu đổi thì chỉ cần cập nhật kho, không phải huấn luyện lại.
- Có thể trích nguồn, người dùng kiểm tra được câu trả lời đến từ đâu.
- Phân quyền dễ hơn: phòng kế toán chỉ thấy tài liệu kế toán.
- Chi phí khởi đầu thấp hơn nhiều.
Nhưng RAG không phải thuốc tiên. Phần khó nhất thường không nằm ở model mà ở dữ liệu. Tôi thấy nhiều đội mất hàng tuần chỉ để xử lý file PDF scan mờ, bảng biểu bị vỡ, tài liệu có ba phiên bản mâu thuẫn nhau. Nếu bước tìm kiếm lấy sai đoạn, model sẽ tự tin trả lời sai, và người dùng khó nhận ra. Với tiếng Việt, việc tách đoạn và tìm kiếm theo nghĩa còn chịu ảnh hưởng của dấu, từ ghép, cách viết không dấu trong tin nhắn nội bộ.
Khi nào finetune thật sự đáng
Finetune bắt đầu có giá trị khi vấn đề nằm ở cách model trả lời chứ không chỉ nội dung. Vài tình huống điển hình:
- Model hay hiểu sai thuật ngữ chuyên ngành. Ví dụ tên thuốc, hoạt chất, viết tắt trong hồ sơ y khoa.
- Cần đầu ra theo một định dạng cố định, như biểu mẫu, mã hóa, báo cáo theo khuôn.
- Giọng điệu phải nhất quán với thương hiệu hoặc quy chuẩn nội bộ.
- Cần model nhỏ hơn, chạy rẻ hơn mà vẫn đủ tốt cho một tác vụ hẹp.
Cái giá của finetune là bạn cần dữ liệu sạch, có nhãn hoặc ví dụ chất lượng, và một cách đánh giá đàng hoàng. Dữ liệu tệ cho ra model tệ, và finetune còn có thể làm model quên bớt khả năng chung. Chuyện này không hiếm. Đây là lý do chúng tôi luôn muốn thấy dữ liệu thật và bộ câu hỏi kiểm thử trước khi hứa hẹn bất cứ điều gì.
Kết hợp hai cách trong thực tế
Phần lớn chatbot nội bộ tốt mà tôi biết đều dùng cả hai, theo thứ tự có lý do. Bạn dựng RAG trước, chạy thử với nhân viên thật trong vài tuần, ghi lại những câu trả lời sai. Sau đó phân loại lỗi:
- Lỗi do tìm sai tài liệu hoặc tài liệu thiếu: sửa ở tầng RAG và dữ liệu.
- Lỗi do model hiểu sai thuật ngữ, trả lời sai format, giọng lạc điệu: đây là ứng viên cho finetune.
Cách làm này tránh được cái bẫy đắt giá nhất: finetune sớm để vá một lỗi mà thật ra do kho tài liệu có vấn đề. Tôi từng thấy một đội finetune hai lần liên tiếp trước khi phát hiện bản chính sách cũ vẫn nằm trong kho.
| Tình huống | Nên nghiêng về |
|---|---|
| Tra cứu chính sách, quy trình hay thay đổi | RAG |
| Cần trích nguồn để kiểm chứng | RAG |
| Thuật ngữ chuyên ngành bị hiểu sai lặp đi lặp lại | Finetune |
| Đầu ra phải đúng khuôn mẫu cố định | Finetune |
| Vừa cần kiến thức cập nhật vừa cần hiểu chuyên ngành | Kết hợp cả hai |
Một ví dụ về bệnh viện và dược
Hãy hình dung chatbot hỗ trợ dược sĩ tra cứu hướng dẫn sử dụng thuốc nội bộ. Kho hướng dẫn thay đổi theo từng đợt cập nhật, nên RAG lo phần tra cứu và trích nguồn. Nhưng tên thuốc gốc, tên biệt dược, cách viết tắt của khoa và cách dược sĩ đặt câu hỏi thì khác xa văn bản thông thường. Đây là phần finetune giúp model hiểu câu hỏi đúng ngay từ đầu. Hai thứ bổ trợ nhau, không thay thế nhau.
AIVISION là đơn vị AI tại Việt Nam, làm training và finetune LLM cho tiếng Việt và cho các lĩnh vực cụ thể như healthcare, dược, trên cụm 24x NVIDIA H200 và 8x NVIDIA B300. Chúng tôi đã phát hành model LLM L1.0 và model speech-to-text E1.0 cho tiếng Việt. Khi tư vấn, chúng tôi thường khuyên khách bắt đầu từ phần rẻ và dễ đảo ngược trước. Thông tin thêm về hướng đi của chúng tôi có ở AIVISION.
Vài sai lầm hay gặp
- Đánh giá bằng cảm giác. Hãy gom khoảng vài chục đến vài trăm câu hỏi thật của nhân viên, có đáp án chuẩn, và chạy lại sau mỗi thay đổi.
- Quên phân quyền. Chatbot nội bộ mà ai cũng hỏi ra được bảng lương là một sự cố đang chờ xảy ra.
- Coi chatbot như dự án một lần. Tài liệu đổi, người dùng đổi cách hỏi, hệ thống cần người chăm.
- Bỏ qua câu trả lời “tôi không biết”. Một chatbot dám nói không tìm thấy thông tin luôn đáng tin hơn chatbot luôn có câu trả lời.
Nếu phải đưa ra một lời khuyên ngắn: dựng RAG trước, đo lỗi thật, rồi mới quyết định finetune phần nào. Thứ tự này không hào nhoáng, nhưng nó tiết kiệm tiền và tránh được những tuần làm việc không cần thiết.