Как я построил умный поиск по 3500 контактам за 2 часа
Классический поиск ищет совпадение букв. Семантический ищет совпадение смысла.
запрос: «люди, кто строит продукты»
точный поиск найдёт: семантический найдёт:
────────────────── ──────────────────────
«продукт» «founder of startup X»
«building my own project»
«indie hacker»
«запускаю свой сервис»
Слово «продукт» нигде не встречается. Смысл — везде.
3500 контактов в одном JSON. Найти «фаундеров в Берлине, кто интересуется AI» — это боль с булевой логикой.
Это разговор с векторами.
┌──────────────────┐ ┌──────────────────────┐
│ Claude Desktop │ ───▶ │ MCP-сервер (node) │
└──────────────────┘ └──────────┬───────────┘
│
┌─────────────────┴─────────────────┐
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ Qdrant Cloud │ │ Embedding API │
│ (векторы) │ │ (смыслы) │
└───────────────────┘ └───────────────────┘
Локальный сервер. Облачные данные. ~90 секунд на индексацию всей базы. Стоимость: меньше цента.
Эмбеддинги кодируют значение, не буквы.
Два часа настройки. Остаток жизни — разговор с данными.
До: открываешь файл, пишешь jq-запросы. После: спрашиваешь на человеческом языке.
CRM — это не база данных. CRM — это память.
Память, к которой обращаются вопросами, а не фильтрами.
— Илао Дзиндин