Розуміння RAG + MCP: Чому пошук по векторах все ще важливий

У світі створення розумних AI-асистентів і чат-ботів підтримки, поєднання технологій, таких як RAG (Retrieval-Augmented Generation) та MCP (Multi-Channel Protocol), стало важливим проривом. Але чому, маючи вже FAQ API, все ще потрібен пошук по векторах? Давайте розглянемо це питання детальніше.

Що таке MCP і RAG простими словами?

  • MCP (Multi-Channel Protocol) — це стандартний спосіб взаємодії з різними джерелами даних, такими як REST API, SQL бази даних, файли або векторні сховища. Це як розумний маршрутизатор, який знає, де зберігаються ваші дані.
  • RAG (Retrieval-Augmented Generation) — це модель штучного інтелекту, яка шукає відповідні документи або фрагменти даних і передає їх в LLM (велика мовна модель), щоб отримати контекстуальну відповідь.

Разом вони дозволяють вам:
- Поставити природне питання
- Отримати як структуровану, так і неструктуровану інформацію
- Отримати розумну відповідь, що враховує контекст

Реальний приклад: Асистент підтримки клієнтів

Уявіть, що ви створюєте чат-бота підтримки, який повинен відповідати на питання:
- “Як скинути пароль VPN?”
- “Яка наша остання політика повернень?”
- “Що означає помилка 503?”

У вас є кілька джерел:
- FAQ API з офіційними інструкціями
- Внутрішні документи та мануали в PDF
- Попередні квитки підтримки в векторному сховищі
- SQL база даних з інформацією про клієнтів

Як це все працює разом

┌────────────────────────┐
│ User Query │
└────────┬───────────────┘


┌─────────────────────┐
│ LLM Orchestrator │
└────────┬────────────┘

┌──────────┴───────────┐
▼ ▼
┌────────────────┐ ┌─────────────────────┐
│ MCP (Router) │ │ Preprocessing (embed)│
└──────┬──────────┘ └────────┬────────────┘
▼ ▼
┌──────────────┐ ┌─────────────────────┐
│ REST API │ │ Vector Store (FAISS)│
│ SQL Database │ └────────┬────────────┘
│ CSV / Files │ ▼
└──────────────┘ ┌─────────────────────┐
▲ │ Contextual Data │
└──────► Response│ to LLM │
└────────┬────────────┘

┌──────────────┐
│ Final Answer │
└──────────────┘

Чому пошук по векторах важливий, якщо FAQ дає відповідь?

Коли FAQ достатньо

Якщо користувач запитує: “Як скинути пароль VPN?” і ваше FAQ API повертає: "Перейдіть на vpn-reset.company.com та слідуйте інструкціям", то вам не потрібен пошук по векторах або RAG. Це називається структурованим пошуком.

Коли FAQ не покриває все

Але якщо користувач запитує: “Мій VPN закінчився, і я не отримав email для скидання пароля. Чи потрібно створювати запит?”, ви не знайдете точного збігу в FAQ. Але ви можете знайти схожі ситуації в попередніх квитках. Ось де і проявляється перевага пошуку по векторах — він шукає за змістом, а не за ключовими словами.

Гібридний підхід: комбінуємо обидва

Найкращий підхід:
- Спочатку використовуємо структурований FAQ/API
- Якщо немає збігу, використовуємо пошук по векторах
- Потім передаємо весь контекст у LLM

З MCP і без MCP

pic

Приклад коду

З MCP:

{
"channel": "vector-store",
"action": "semanticsearch",
"parameters": {
"query": "VPN reset email not received",
"top
k": 3
}
}

З FAQ/API:

{
"channel": "faq-api",
"action": "getfaqanswer",
"parameters": {
"query": "VPN password reset"
}
}

Підсумок

  • MCP — це як розподільчий щит: він направляє запит до правильного джерела (API, БД, вектори, файли тощо).
  • RAG додає інтелекту: поєднує контекст + генерацію
  • Навіть якщо у вас є FAQ API, пошук по векторах допомагає, коли питання нечіткі, персоналізовані або розмовні.

👉 Використовуйте FAQ, коли це підходить. Використовуйте пошук по векторах, коли це не підходить. Використовуйте обидва підходи, коли сумніваєтеся.

Бажаєте поділитися своїми думками або розповісти, як ви проектуєте свій стек RAG? Давайте обговоримо в коментарях!

Перекладено з: Understanding RAG + MCP: Why Vector Search Still Matters