Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

Bài 19 — RAG Overview — Vì sao và Khi nào

AI Product Manager Bài 19/60

Mở đầu — vì sao bài này quan trọng

Hãy tưởng tượng bạn vừa ra mắt một chatbot hỗ trợ khách hàng cho công ty của mình, chạy trên một Large Language Model (LLM) mạnh nhất thị trường. Ngày đầu tiên, một khách hàng hỏi: "Chính sách đổi trả của cửa hàng mình hiện tại thế nào?" Con bot trả lời trôi chảy, tự tin, ngữ pháp hoàn hảo — và sai hoàn toàn. Nó bịa ra một chính sách "đổi trả trong 60 ngày" mà công ty bạn chưa bao giờ có. Khách hàng tin lời bot, mang hàng đến trả sau 45 ngày, và bạn có một cuộc khủng hoảng dịch vụ khách hàng.

Đây chính là lý do RAG (Retrieval-Augmented Generation) tồn tại, và là lý do bài học này quan trọng bậc nhất trong toàn bộ hành trình xây dựng AI product của bạn. LLM thuần túy — dù mạnh đến đâu — về bản chất là một "bộ não đông lạnh": nó chỉ biết những gì đã học trong quá trình huấn luyện, không biết dữ liệu riêng của doanh nghiệp bạn, và có xu hướng "bịa" một cách rất thuyết phục khi không biết câu trả lời.

Với vai trò là một AI Product Manager, bạn sẽ liên tục đối mặt với câu hỏi: "Làm sao để AI trả lời dựa trên dữ liệu THẬT của công ty mình?" RAG là câu trả lời phổ biến nhất, rẻ nhất và nhanh nhất cho câu hỏi đó. Bài này không đi sâu vào kiến trúc chi tiết (đó là việc của các Bài 20–25), mà tập trung vào bức tranh lớn: RAG là gì, giải quyết vấn đề gì, và quan trọng nhất — khi nào bạn NÊN và KHÔNG NÊN dùng nó. Đây là tư duy quyết định mà một PM buộc phải nắm vững trước khi ra bất kỳ quyết định kỹ thuật nào.

Khái niệm cốt lõi

Ba vấn đề của LLM thuần túy

Trước khi hiểu RAG, bạn phải hiểu rõ ba "căn bệnh" mà nó chữa trị.

1. Knowledge cutoff (giới hạn kiến thức theo thời điểm). Mỗi LLM được huấn luyện trên dữ liệu đến một mốc thời gian nhất định — gọi là knowledge cutoff. Một model có cutoff tháng 6/2025 sẽ không biết bất cứ điều gì xảy ra sau đó: giá cổ phiếu hôm nay, quy định thuế mới ban hành, hay sản phẩm bạn vừa ra mắt tuần trước. Với doanh nghiệp, đây là vấn đề chí mạng, vì phần lớn dữ liệu giá trị nhất là dữ liệu MỚI và dữ liệu THAY ĐỔI liên tục.

2. Hallucination (ảo giác — bịa thông tin). Khi LLM không biết câu trả lời, nó không nói "tôi không biết" như con người. Cơ chế hoạt động của nó là dự đoán từ tiếp theo có xác suất cao nhất, nên nó sẽ tạo ra một câu trả lời "nghe có vẻ đúng" nhưng hoàn toàn sai sự thật. Câu chuyện chatbot bịa chính sách đổi trả ở đầu bài chính là hallucination. Đây là rủi ro lớn nhất khiến nhiều doanh nghiệp e ngại triển khai AI.

3. Domain-specific knowledge (kiến thức chuyên biệt / dữ liệu nội bộ). LLM được huấn luyện trên dữ liệu công khai của internet. Nó không biết tài liệu nội bộ công ty bạn, không biết 3.000 sản phẩm trong kho, không biết lịch sử đơn hàng của khách hàng, không biết quy trình vận hành riêng. Đây là dữ liệu private, và không có cách nào để một model chung chung biết được chúng.

RAG là gì — giải thích bằng ngôn ngữ đời thường

RAG là viết tắt của Retrieval-Augmented Generation — tạm dịch "sinh nội dung có tăng cường bằng truy xuất". Nghe phức tạp, nhưng ý tưởng cực kỳ đơn giản.

Hãy hình dung một sinh viên đi thi. Nếu là thi "đóng sách" (closed book), sinh viên chỉ được dùng những gì đã thuộc trong đầu — đó là LLM thuần túy. Nếu bạn cho sinh viên thi "mở sách" (open book), họ được phép tra cứu tài liệu ngay lúc làm bài, tìm đúng trang liên quan rồi mới viết câu trả lời — đó chính là RAG.

Quy trình RAG gồm hai bước lồng vào nhau:

  • Retrieval (truy xuất): Khi có câu hỏi, hệ thống đi tìm trong kho tài liệu của bạn những đoạn văn bản liên quan nhất đến câu hỏi đó.
  • Augmented Generation (sinh có tăng cường): Những đoạn văn bản tìm được sẽ được "nhét" vào prompt gửi cho LLM, kèm câu lệnh đại loại: "Dựa trên các thông tin sau đây, hãy trả lời câu hỏi của người dùng."
Kết quả: LLM không phải trả lời từ trí nhớ (dễ bịa), mà trả lời dựa trên tài liệu THẬT bạn cung cấp ngay tại chỗ. Nó biến một "bộ não đông lạnh" thành một trợ lý "mở sách" luôn tra cứu đúng nguồn.

RAG chữa được ba căn bệnh như thế nào

  • Với knowledge cutoff: Bạn chỉ cần cập nhật kho tài liệu, không cần huấn luyện lại model. Sản phẩm mới ra hôm nay, thêm tài liệu vào kho hôm nay, bot biết ngay hôm nay.
  • Với hallucination: Vì LLM có sẵn thông tin đúng trong prompt, nó bớt phải "bịa". Ngoài ra RAG cho phép trích dẫn nguồn (citations) — bot có thể chỉ rõ "câu trả lời này dựa trên tài liệu X, mục Y", giúp người dùng kiểm chứng.
  • Với domain-specific knowledge: Kho tài liệu chính là dữ liệu nội bộ của bạn. Bạn nạp gì vào, bot biết cái đó.

Vị trí của RAG trong bức tranh lớn

Điều một PM cần khắc cốt ghi tâm: RAG không dạy model kiến thức mới theo nghĩa thay đổi trọng số (weights) của model. Nó chỉ cung cấp thông tin ngay lúc chạy (at runtime). Đây là điểm khác biệt căn bản so với fine-tuning — thứ mà bạn sẽ học kỹ ở Bài 42. Tạm thời hãy ghi nhớ: RAG = "đưa tài liệu vào lúc hỏi", fine-tuning = "dạy lại model". Chúng giải quyết những bài toán khác nhau.

Tình huống thực tế

Ví dụ 1: Sàn thương mại điện tử Việt Nam và bài toán chăm sóc khách hàng

Giả sử một sàn TMĐT tầm trung tại Việt Nam — gọi là "ShopViet" — có 200.000 sản phẩm và một trung tâm chăm sóc khách hàng nhận khoảng 8.000 câu hỏi/ngày. 70% câu hỏi lặp đi lặp lại: "Đơn của tôi giao đến đâu rồi?", "Chính sách bảo hành sản phẩm này thế nào?", "Sản phẩm A có tương thích với B không?".

Đội ngũ thử dùng ChatGPT thuần để làm chatbot. Kết quả thảm họa: bot không biết trạng thái đơn hàng thực tế, bịa ra chính sách bảo hành, và khuyên khách mua kèm sản phẩm không tồn tại trong kho. Lý do rõ ràng — đây toàn là domain-specific knowledge mà model không thể biết.

Họ chuyển sang RAG. Kho tài liệu gồm: mô tả 200.000 sản phẩm, tài liệu chính sách, và FAQ. Khi khách hỏi về bảo hành sản phẩm X, hệ thống truy xuất đúng đoạn chính sách bảo hành của sản phẩm X, đưa vào prompt, và LLM trả lời dựa trên đó. Tỷ lệ trả lời đúng tăng từ khoảng 40% lên 89%, và quan trọng hơn, mỗi câu trả lời đều kèm trích dẫn "theo chính sách bảo hành mục 3.2".

Bài học: Khi câu trả lời nằm gọn trong một kho tài liệu tra cứu được, RAG là lựa chọn gần như hiển nhiên. Nhưng chú ý — với câu hỏi "đơn của tôi giao đến đâu rồi", RAG KHÔNG phù hợp, vì đó là dữ liệu thời gian thực trong database, cần gọi API trực tiếp (function calling — Bài 16), không phải tra tài liệu tĩnh. Một PM giỏi phải phân biệt được hai loại này.

Ví dụ 2: Công ty luật và rủi ro của "chatbot pháp lý biết tuốt"

Một công ty luật giả định tại TP.HCM muốn xây trợ lý AI giúp luật sư tra cứu nhanh các văn bản pháp luật Việt Nam và các bản án nội bộ công ty đã xử lý. Ban đầu họ định fine-tune một model trên toàn bộ dữ liệu pháp lý. Chi phí ước tính hàng chục nghìn USD và mất nhiều tháng, chưa kể mỗi khi có nghị định mới lại phải huấn luyện lại.

Họ chọn RAG. Toàn bộ luật, nghị định, thông tư và án lệ nội bộ được đưa vào kho tài liệu. Khi luật sư hỏi "quy định về thời hiệu khởi kiện tranh chấp hợp đồng dân sự", hệ thống truy xuất đúng điều khoản trong Bộ luật Dân sự và trả lời kèm trích dẫn chính xác điều, khoản. Khi có nghị định mới, họ chỉ cần thêm file — bot cập nhật trong vài phút thay vì vài tháng.

Bài học: RAG đặc biệt mạnh ở các lĩnh vực mà (1) tính chính xác và khả năng trích dẫn nguồn là bắt buộc, và (2) dữ liệu thay đổi thường xuyên. Với pháp lý, y tế, tài chính — nơi một câu trả lời bịa có thể gây hậu quả nghiêm trọng — khả năng "chỉ ra nguồn" của RAG là vô giá. Đây cũng là lý do RAG được ưa chuộng hơn hẳn LLM thuần trong các ngành quy định chặt chẽ.

Ví dụ 3: Startup nội dung — khi RAG KHÔNG phải câu trả lời

Một startup Đông Nam Á làm công cụ hỗ trợ viết quảng cáo (ad copywriting). Đội kỹ thuật, vì quá phấn khích với RAG, quyết định "nhét RAG vào mọi thứ". Họ xây một kho tài liệu chứa các bài quảng cáo mẫu và bắt hệ thống luôn truy xuất trước khi viết.

Vấn đề: nhiệm vụ ở đây là sáng tạo, không phải tra cứu sự thật. Người dùng muốn một câu slogan mới lạ, không phải một câu trả lời "đúng theo tài liệu". RAG khiến các bài quảng cáo trở nên na ná nhau, bị "kéo" về giọng văn của tài liệu mẫu, và mất đi sự sáng tạo. Tệ hơn, mỗi request giờ tốn thêm chi phí truy xuất và độ trễ (latency) cao hơn — mà chẳng đem lại giá trị gì.

Cuối cùng họ bỏ RAG cho luồng sáng tạo, chỉ giữ prompt engineering thuần (Bài 14–15). Họ chỉ dùng RAG ở một chỗ hợp lý: tra cứu thông tin sản phẩm của khách hàng để đưa đúng dữ kiện vào quảng cáo.

Bài học: RAG không phải chiếc búa cho mọi cái đinh. Với các tác vụ sáng tạo, phóng tác, hay những câu hỏi mà kiến thức chung của LLM đã đủ, RAG chỉ làm tăng chi phí, độ trễ và độ phức tạp mà không cải thiện chất lượng. Biết khi nào KHÔNG dùng RAG là dấu hiệu của một PM trưởng thành.

Hướng dẫn từng bước

Đây là khung tư duy để bạn — với vai trò PM — quyết định có nên dùng RAG cho một tính năng hay không.

Bước 1 — Xác định bản chất câu hỏi người dùng. Người dùng đang hỏi để (a) tra cứu một sự thật/thông tin cụ thể, hay (b) yêu cầu sáng tạo/lý luận/phân tích chung? Nếu là (a), RAG rất có thể phù hợp. Nếu là (b), có thể không cần.

Bước 2 — Kiểm tra nguồn của câu trả lời. Câu trả lời đúng nằm ở đâu? Nếu nó nằm trong một kho tài liệu văn bản (tài liệu, FAQ, chính sách, bài viết) → RAG. Nếu nằm trong database có cấu trúc và cần dữ liệu thời gian thực (số dư tài khoản, trạng thái đơn) → dùng function calling/API, không phải RAG. Nếu nằm sẵn trong kiến thức chung của model → không cần gì thêm.

Bước 3 — Đánh giá tính cập nhật của dữ liệu. Dữ liệu có thay đổi thường xuyên không? Nếu có, RAG (cập nhật kho tài liệu) thắng tuyệt đối so với fine-tuning (huấn luyện lại).

Bước 4 — Đánh giá yêu cầu về độ tin cậy và trích dẫn. Sản phẩm có cần chỉ rõ nguồn để người dùng kiểm chứng, hoặc để giảm rủi ro pháp lý không? Nếu có, RAG là lựa chọn tự nhiên vì hỗ trợ citations.

Bước 5 — Cân nhắc chi phí và độ phức tạp. RAG thêm một tầng hạ tầng: xử lý tài liệu, tạo embeddings, vector database, quản lý kho tri thức. Nếu bài toán đơn giản và prompt engineering đã giải quyết được 90%, đừng vội thêm RAG. Nguyên tắc: bắt đầu từ giải pháp đơn giản nhất, chỉ thêm phức tạp khi có bằng chứng cần thiết.

Bước 6 — Ra quyết định và phác thảo nguồn dữ liệu. Nếu quyết định dùng RAG, hãy liệt kê chính xác những nguồn tài liệu nào sẽ nạp vào kho, ai sở hữu chúng, và chúng được cập nhật ra sao. Đây là đầu vào để đội kỹ thuật thiết kế kiến trúc chi tiết ở các bài sau.

Lỗi thường gặp & mẹo

Lỗi 1: Coi RAG là thuốc chữa bách bệnh cho hallucination. RAG GIẢM hallucination chứ không XÓA SẠCH. Nếu kho tài liệu không chứa thông tin liên quan, hoặc bước retrieval lấy nhầm đoạn văn, LLM vẫn có thể bịa. Chất lượng RAG phụ thuộc trực tiếp vào chất lượng của bước truy xuất — "rác vào, rác ra".

Lỗi 2: Nhầm RAG với fine-tuning. Rất nhiều PM (và cả kỹ sư) nói "dạy AI kiến thức công ty mình" mà không phân biệt được hai hướng. Nhớ: RAG đưa tài liệu vào lúc chạy; fine-tuning thay đổi bản thân model. RAG hợp cho "kiến thức dạng sự thật, hay thay đổi"; fine-tuning hợp cho "dạy phong cách, định dạng, hành vi".

Lỗi 3: Dùng RAG cho dữ liệu thời gian thực. Trạng thái đơn hàng, số dư, tồn kho — những thứ này thay đổi từng giây và nằm trong database có cấu trúc. Đừng cố nhồi chúng vào kho tài liệu RAG; hãy dùng function calling để gọi API trực tiếp.

Lỗi 4: Bỏ qua chi phí và độ trễ. Mỗi request RAG tốn thêm thời gian truy xuất và thêm token (vì phải nhét tài liệu vào prompt), làm tăng cả latency lẫn chi phí token (Bài 40). Với sản phẩm quy mô lớn, đây là con số không hề nhỏ.

Mẹo: Luôn hỏi "nếu một nhân viên mới giỏi được đưa cho đúng tập tài liệu này, họ có trả lời được câu hỏi không?" Nếu CÓ, RAG rất có khả năng phù hợp. Nếu nhân viên đó cần truy cập hệ thống thời gian thực, hoặc cần sáng tạo tự do, thì RAG không phải công cụ đúng.

Bài tập thực hành

  • Phân loại use case. Với mỗi tình huống sau, quyết định nên dùng: (A) LLM thuần, (B) RAG, hay (C) function calling/API — và giải thích ngắn gọn: (1) Chatbot trả lời chính sách nghỉ phép trong sổ tay nhân viên; (2) Trợ lý kiểm tra số dư tài khoản ngân hàng của khách; (3) Công cụ đặt tên thương hiệu sáng tạo; (4) Bot tra cứu điều khoản trong hợp đồng đã ký của công ty.
  • Soi lỗi hallucination. Hãy nghĩ ra một câu hỏi mà LLM thuần chắc chắn sẽ bịa câu trả lời (ví dụ về dữ liệu nội bộ công ty bạn), viết ra câu trả lời sai mà bạn dự đoán nó sẽ đưa, và mô tả tài liệu nào cần nạp vào RAG để chữa lỗi đó.
  • Viết mini spec. Chọn một tính năng AI cho sản phẩm bạn quan tâm. Viết nửa trang trả lời: câu hỏi người dùng thuộc loại gì, nguồn câu trả lời ở đâu, dữ liệu có hay thay đổi không, có cần trích dẫn nguồn không, và kết luận có nên dùng RAG hay không.

Tóm tắt

RAG (Retrieval-Augmented Generation) là kỹ thuật cho LLM "mở sách" — truy xuất tài liệu liên quan tại thời điểm hỏi rồi đưa vào prompt để model trả lời dựa trên thông tin thật. Nó ra đời để chữa ba căn bệnh của LLM thuần: knowledge cutoff (không biết thông tin mới), hallucination (bịa thông tin), và domain-specific knowledge (không biết dữ liệu nội bộ).

Điểm mấu chốt cho một AI PM không phải là biết RAG hoạt động thế nào về mặt kỹ thuật, mà là biết KHI NÀO nên dùng: khi câu trả lời nằm trong kho tài liệu tra cứu được, khi dữ liệu hay thay đổi, và khi cần trích dẫn nguồn để tăng độ tin cậy. Và quan trọng không kém — biết khi nào KHÔNG dùng: với tác vụ sáng tạo, với dữ liệu thời gian thực (dùng function calling), hay khi prompt engineering đơn giản đã đủ.

RAG không phải chiếc búa cho mọi cái đinh, cũng không phải thuốc chữa bách bệnh cho hallucination — nó chỉ giảm chứ không xóa sạch. Nắm vững tư duy quyết định này là nền tảng để bạn bước vào các bài tiếp theo, nơi chúng ta sẽ mổ xẻ từng thành phần: embeddings (Bài 20), vector database (Bài 21), và kiến trúc RAG hoàn chỉnh end-to-end (Bài 22).