Khi context window đã lên tới hàng trăm nghìn — hàng triệu token, câu hỏi "cứ nhét hết tài liệu vào prompt thay vì RAG" trở nên thực tế. Không có bên nào thắng tuyệt đối.
Chọn RAG khi:
- Kho tri thức lớn hơn context window hoặc thay đổi liên tục (cần cập nhật realtime, tránh knowledge cutoff).
- Cần truy vết nguồn / citation cho từng câu trả lời.
- Quan tâm chi phí & độ trễ: attention là O(n²) theo độ dài — nhồi 500K token mỗi request rất đắt và chậm; RAG chỉ đưa vài đoạn liên quan.
- Cần kiểm soát truy cập theo tài liệu (multi-tenant).
Chọn long-context khi:
- Cần lý luận toàn cục trên một/ít tài liệu (đọc cả cuốn sách, so sánh xuyên chương) nơi bằng chứng nằm rải rác — retrieval dễ bỏ sót.
- Corpus nhỏ, cố định, vừa trong cửa sổ.
- Muốn hạ tầng đơn giản (không cần vector DB, pipeline chunk/embed/rerank).
Thực tế: nhiều hệ lai — RAG để thu hẹp còn vài chục nghìn token liên quan, rồi để long-context lý luận trên phần đó. Vẫn phải chú ý "lost in the middle": context dài không đồng nghĩa model dùng tốt mọi phần.