AI2026-09-199 min read
Knowledge Retrieval (RAG): Kiến trúc truy xuất tri thức nâng cao cho AI Agent
Cẩm nang toàn diện về Retrieval-Augmented Generation (RAG): Từ Naive RAG, Graph RAG, Self-RAG, Corrective RAG đến Deep Research Agent và tìm kiếm mã nguồn dựa trên cấu trúc (Repo Map).
Nguyen Pham
•Xin chào. Mình thích lập trình và công nghệ. Đây là blog mình chia sẻ lại các kiến thức về lập trình, công nghệ.
Retrieval-Augmented Generation (RAG - Tạo sinh tăng cường truy xuất) là kỹ thuật kết hợp giữa năng lực lập luận mạnh mẽ của mô hình ngôn ngữ lớn (LLM) với dữ liệu động được truy xuất tức thời từ các nguồn tri thức bên ngoài (tài liệu nội bộ, cơ sở dữ liệu vector, đồ thị tri thức, web thời gian thực).
Thay vì phải tái huấn luyện (retrain) hoặc tinh chỉnh (fine-tune) mô hình tốn kém mỗi khi dữ liệu thay đổi, RAG cho phép hệ thống AI luôn trả lời dựa trên những dữ kiện mới nhất, chính xác nhất và có khả năng trích dẫn nguồn (source attribution) minh bạch.
1. Sự tiến hóa của các thế hệ RAG#
- Naive RAG (RAG truyền thống):
- Quy trình kinh điển: Chia nhỏ tài liệu (Chunking) → Tính toán vector (Embedding) → Lưu trữ vector database → Tìm kiếm độ tương đồng (Vector Similarity Search) → Ghép Top-K đoạn trích vào prompt → LLM trả lời.
- Hạn chế: Dễ mất ngữ cảnh tổng thể, câu hỏi phức tạp không tìm được đoạn liên quan, và nhạy cảm với chất lượng của mô hình embedding.
- Advanced RAG (RAG nâng cao):
- Tối ưu hóa tiền truy xuất (Pre-retrieval): Viết lại câu hỏi (Query Expansion / HyDE), phân tích câu hỏi phụ.
- Tối ưu hóa hậu truy xuất (Post-retrieval): Xếp hạng lại kết quả (Reranking bằng mô hình Cross-Encoder), nén ngữ cảnh để loại bỏ nội dung rác.
- Modular RAG & Agentic RAG:
- Hệ thống không chạy theo một đường ống cố định mà do một Tác tử AI tự chủ điều phối: Agent tự đánh giá xem câu hỏi có cần tra cứu không, tra cứu ở nguồn nào, đọc kết quả thấy thiếu thì tự động tìm kiếm tiếp (Iterative Retrieval).
2. Các kỹ thuật RAG Đột phá hiện đại#
2.1. Graph RAG (RAG kết hợp Đồ thị tri thức)#
- Thay vì chỉ tìm kiếm các đoạn văn bản tương tự nhau về mặt ngữ nghĩa (vector), Graph RAG trích xuất các thực thể (entities), mối quan hệ (relationships) và phát hiện các cụm cộng đồng (community detection).
- Lợi thế vượt trội: Cho phép trả lời các câu hỏi mang tính tổng quan toàn cầu (Global Sensemaking queries) như: "Những chủ đề chính được thảo luận trong toàn bộ kho tài liệu 1000 trang này là gì?" mà vector search truyền thống hoàn toàn bó tay.
2.2. Self-RAG & Corrective RAG (CRAG)#
- Self-RAG: Huấn luyện mô hình sử dụng các token phản tư đặc biệt (
[Retrieve],[IsRel],[IsSup]) để tự quyết định khi nào cần truy xuất và tự chấm điểm độ tin cậy của tài liệu lấy về. - CRAG (Corrective RAG): Tự động đánh giá chất lượng tài liệu truy xuất:
- Nếu độ tin cậy cao: Đưa vào sinh văn bản.
- Nếu độ tin cậy thấp: Loại bỏ và tự động chuyển hướng tìm kiếm ra ngoài Internet (Google Search).
- Nếu mập mờ: Kết hợp dữ liệu nội bộ với tìm kiếm web để kiểm chứng chéo.
2.3. Hierarchical Index Retrieval (RAPTOR)#
- Xây dựng chỉ mục tài liệu thành cây phân cấp đa tầng: Các đoạn văn bản lá được gom cụm và tóm tắt thành các nút cha, các nút cha lại được tóm tắt thành nút ông bà. Nhờ đó, câu hỏi có thể truy xuất ở bất kỳ tầng trừu tượng nào, từ chi tiết vi mô đến bức tranh vĩ mô.
2.4. Structure-Aware Codebase Retrieval (Repo Map cho lập trình)#
- Đối với các tác tử viết code, việc tìm kiếm code bằng vector thuần thường không hiệu quả. Kỹ thuật Repo Map phân tích cú pháp mã nguồn thành cây AST, xây dựng đồ thị phụ thuộc giữa các hàm/lớp và tính toán thứ tự ưu tiên bằng thuật toán PageRank (tương tự như Aider). Điều này giúp Agent nắm bắt được toàn bộ cấu trúc dự án phần mềm mà chỉ tốn một lượng token tối thiểu.
2.5. Deep Research Agent#
- Kiến trúc nghiên cứu chuyên sâu dài hạn đứng sau các dịch vụ như OpenAI Deep Research, Gemini Deep Research: Agent làm rõ ý định người dùng → Lập kế hoạch nghiên cứu → Chạy vòng lặp tìm kiếm, đọc, đánh giá lỗ hổng thông tin trên hàng chục nguồn song song → Tổng hợp thành báo cáo hoàn chỉnh kèm trích dẫn nguồn chi tiết.
Tags:#AI#RAG#Knowledge Retrieval#Vector Search#GraphRAG