MCP + RAG: Tại sao tôi ngừng xây dựng các hệ thống RAG phức tạp

Tôi đã dành bốn năm để xây dựng các hệ thống RAG phức tạp.

Tôi đã sử dụng các chiến lược chunking, các mô hình embedding, cơ sở dữ liệu vector và các bộ reranker. Tôi đã xây dựng một hệ thống cho kho kiến thức 1.800 giờ của mình. Mỗi lần như vậy, tôi đều nghĩ rằng mình đang làm cho nó trở nên hoàn hảo.

Nó chưa bao giờ hoạt động tốt.

Sau đó, tôi đã thêm hỗ trợ Model Context Protocol (MCP). Nó đã thay đổi mọi thứ. MCP khiến các hệ thống RAG phức tạp truyền thống trở nên lỗi thời đối với hầu hết mọi người.

Tôi từng phải vật lộn với những vấn đề này:

  • Lựa chọn giữa semantic chunking hay recursive chunking.
  • Lựa chọn giữa các embedding của OpenAI, Cohere, hay Nomic.
  • Quyết định giữa Pinecone, Weaviate, hay Chroma.
  • Quản lý top-k retrieval và reranking.

Hệ thống RAG của tôi đã lên tới 2.000 dòng code. Nó trông rất ấn tượng nhưng lại thất bại. Tôi đã cố gắng làm cho dữ liệu của mình trở nên thông minh trong khi bản thân AI đã rất thông minh rồi.

Tôi đã chuyển sang cách tiếp cận MCP. Tôi đã xây dựng một server chỉ với 150 dòng code.

Tôi chỉ cung cấp cho AI hai công cụ:

  • search_notes: Sử dụng khớp văn bản đơn giản để tìm các ghi chú.
  • get_note_content: Trả về toàn bộ nội dung của một ghi chú.

Không chunking. Không embedding phức tạp. Không cơ sở dữ liệu vector.

Cách tiếp cận đơn giản này đánh bại hệ thống RAG cầu kỳ của tôi trong 9 trên 10 trường hợp. Đây là lý do tại sao:

  1. AI xử lý logic. AI giỏi quyết định cái gì là liên quan hơn là một bộ chunker được thiết lập sẵn.
  2. Toàn bộ ngữ cảnh. RAG truyền thống cắt các ghi chú thành những mảnh nhỏ. Điều này thường làm mất đi câu trả lời. Với MCP, AI đọc toàn bộ ghi chú. Nó thấy được ý tưởng trọn vẹn.
  3. Tính dự đoán được. Tìm kiếm văn bản rất đơn giản. Nếu từ khóa tồn tại, nó sẽ hoạt động. Bạn tránh được tình trạng embedding drift và các lỗi về chiều (dimension errors).

Bạn vẫn nên sử dụng RAG truyền thống nếu:

  • Bạn có hơn 100.000 tài liệu lớn.
  • Bạn cần triển khai quy mô lớn với độ trễ thấp.

Nhưng đối với các kho kiến thức cá nhân, các dự án phụ, hoặc các công cụ nội bộ, bạn không cần đến nó.

Lợi ích của MCP:

  • Dễ bảo trì: 150 dòng thay vì 2.000 dòng.
  • Không tốn chi phí embedding: Bạn không cần phải re-embed dữ liệu khi các mô hình thay đổi.
  • Độ chính xác tốt hơn: AI nhận được toàn bộ ngữ cảnh.
  • Dễ dàng gỡ lỗi: Bạn có thể thấy chính xác tại sao một tìm kiếm thất bại.

Đừng làm quá phức tạp (over-engineering). Hãy để AI làm những việc nặng nhọc. Hãy cho nó quyền truy cập vào dữ liệu của bạn và để nó tự đọc.

Source: https://dev.to/kevinten10/mcp-rag-why-i-stopped-building-complex-rag-systems-after-mcp-changed-everything-4g86

Optional learning community: https://t.me/GyaanSetuAi