Naive RAG = 1 lần retrieve → generate. Ổn cho câu hỏi đơn giản, dữ kiện nằm trong 1-2 chunk. Fail khi câu hỏi multi-hop, cần nhiều bước suy luận, hoặc dữ liệu có cấu trúc quan hệ.
Agentic RAG trao quyền cho LLM tự quyết định: có nên retrieve không, query gì, khi nào retrieve lại với query khác, khi nào dừng. Chạy loop kiểu ReAct với tools: search, query_db, clarify, answer. Ví dụ: "So sánh chiến lược pricing của 3 đối thủ" → agent tự query từng đối thủ, tổng hợp. Hỗ trợ bởi LangGraph, LlamaIndex Query Engine / Agent, CrewAI, AutoGen. Đổi lại: latency cao hơn 5-10x, khó debug, tốn token.
Graph RAG (Microsoft 2024) lập chỉ mục knowledge dưới dạng knowledge graph (entity + relationship + community summary) thay vì chỉ vector chunks. Khi query:
- trích xuất entity từ câu hỏi
- traverse graph theo các hop liên quan
- tổng hợp community summaries + chunks. Giỏi với câu hỏi global/thematic ("xu hướng chính trong tài liệu?"), multi-hop ("X liên quan Y qua Z thế nào?"), dữ liệu có cấu trúc quan hệ rõ (legal, scientific, org chart)
Chi phí: indexing Graph RAG đắt hơn rất nhiều (cần LLM để extract entity, xây graph, tạo summary) — phù hợp corpus có giá trị cao, ít update. Combine: dùng hybrid vector + graph retrieval trong pipeline agentic cho các use case phức tạp.