ИИ-поиск-витрина на главной: RAG-ответ с источниками и follow-up прямо в hero

Веб Штурм (собственный продукт) ИИ-разработка / поиск по базе знаний 2026-06 — наст. время
1 вызов
ответ + источники + 3 follow-up за один запрос к модели
RAG
ответы только из базы знаний сайта, со ссылками
Гибрид
ИИ-ответ + полнотекстовый поиск, отказоустойчиво

Услуги

  • ai-development
  • seo-ai-search

Стек

  • Astro SSR
  • Svelte island
  • LightRAG
  • Pagefind
  • Yandex SmartCaptcha
  • in-memory rate-limit

Веб Штурм — ИИ-разработка и поиск по базам знаний. Мы встроили в hero главной собственного сайта живой ИИ-поиск: посетитель задаёт вопрос — получает связный ответ из базы знаний сайта со ссылками на страницы-источники и тремя уточняющими вопросами, а рядом — точные совпадения из полнотекстового поиска. Это и удобный поиск, и витрина наших возможностей в ИИ. Собственный продукт: работает у нас и разворачивается у клиентов по их контенту.

Данные кейса — о собственном продукте Веб Штурм. Метрики качественные (характер решения), без клиентских цифр.

Контекст

Обычный поиск по сайту возвращает список страниц — дальше посетитель сам угадывает ключевые слова и сопоставляет найденное. Часть до ответа не доходит. Особенно это заметно на сайте с большим объёмом материалов: услуги, кейсы, статьи. Информация есть, но добраться до неё — отдельное усилие.

Перед нами стояла двойная задача: (1) сделать поиск, который понимает вопрос и сразу даёт ответ; (2) превратить его в демонстрацию возможностей — компании, делающей ИИ-решения, логичнее показать работающий ИИ на витрине, чем рассказывать о нём текстом. Поэтому мы поставили его не на отдельную страницу, а в самый заметный блок главной.

Какие вызовы решены

Как дать связный ответ, а не список ссылок? Применили RAG (retrieval-augmented generation): система достаёт релевантные фрагменты из базы знаний сайта, и модель формулирует ответ только на их основе. Guardrail запрещает выдумывать и обещать цены/сроки. К ответу прикладываются ссылки на страницы-источники — проверяемость плюс мягкий возврат на ключевые страницы. Ссылки учитывают аудиторию страницы (две версии сайта — разные адреса источников).

Как не дать ИИ соврать? Встроили эвристику обоснованности: если ответ ничем не подкреплён в базе (нет источников и ссылок-маркеров) или модель отвечает «не нашёл» — ответ не показывается. Вместо выдумки — мягкое предложение обсудить задачу. Отказ показать необоснованный ответ важнее красивого ответа.

Как получить follow-up-вопросы дёшево? Три уточняющих вопроса генерируются в том же единственном вызове модели: guardrail просит завершить ответ скрытым блоком вопросов, который мы парсим и вырезаем из видимого текста. Один вызов вместо двух — дешевле, быстрее, дружит с кэшем.

Как защитить публичный ИИ-эндпоинт? Четыре слоя: кэш ответов (повтор бесплатный), глобальный дневной потолок (бюджет модели), лимит с одного адреса в минуту, SmartCaptcha при подозрении (переиспользовали уже работающую на сайте интеграцию, без новых ключей). Эндпоинт никогда не отдаёт наружу 5xx из-за модели — сбой превращается в мягкое «временно недоступно».

Как сделать отказоустойчиво? Гибрид двух независимых каналов: ИИ-ответ + полнотекстовый поиск (статический индекс). Недоступен один — работает другой. По пути починили сам полнотекстовый поиск: он молча не находил ничего из-за политики безопасности контента, блокировавшей WebAssembly-модуль индекса (лечится разрешением wasm-unsafe-eval, а не «пересборкой индекса», как казалось).

Подход

  1. Виджет в hero — Svelte island, отправляет вопрос на серверный эндпоинт (SSR, рендер на запрос). Модель и база знаний — только на сервере, браузер к ним не обращается.
  2. RAG по изолированной базе знаний сайта с guardrail и эвристикой «нет ответа».
  3. Один вызов модели на ответ + источники + три follow-up (скрытый блок, парсинг и вырезание).
  4. Защита слоями: кэш → дневной потолок → лимит с адреса → капча; наружу — никогда не 5xx из-за модели.
  5. Гибрид с полнотекстовым поиском — два независимых отказоустойчивых канала.
  6. Тайпрайтер ответа с уважением prefers-reduced-motion и aria-live для доступности.

Результат

  • ИИ-поиск live в hero главной сайта (обе версии — «Разработчику» и «Руководителю»).
  • Ответ из базы знаний со ссылками-источниками и тремя follow-up — за один вызов модели.
  • Полнотекстовый поиск по сайту восстановлен (был сломан политикой безопасности).
  • Гибрид отказоустойчив: каналы деградируют по отдельности, посетитель почти никогда не остаётся без поиска.
  • Публичный эндпоинт защищён от абьюза и не отдаёт серверных ошибок из-за модели.

Эффект для бизнеса

  • Клиентский опыт — посетитель быстрее находит нужное и реже уходит без ответа; ссылки-источники мягко возвращают на ключевые страницы.
  • Демонстрация возможностей — работающий ИИ на витрине убеждает сильнее презентации; клиент видит результат.
  • Переносимость — тот же ИИ-поиск разворачивается по базе знаний клиента: на сайте, в поддержке, внутри продукта. Контент клиента — движок и защиту настраиваем мы.

Что использовали

Astro SSR (серверный эндпоинт, рендер на запрос) + Svelte island в hero, RAG по изолированной базе знаний сайта (LightRAG) с guardrail и эвристикой «нет ответа», один вызов модели на ответ + источники + три follow-up, гибрид с полнотекстовым поиском (Pagefind, статический индекс), защита публичного эндпоинта (лимит с адреса, кэш ответов, дневной потолок, Yandex SmartCaptcha), клиентский тайпрайтер с учётом prefers-reduced-motion.

Что мы можем сделать у вас

Если вам нужен ИИ-поиск по своей базе знаний — на сайте, в клиентской поддержке или внутри продукта — мы делаем такие решения под ваш контент: RAG-ответы со ссылками-источниками, защита публичного эндпоинта, гибрид с обычным поиском и отказоустойчивость. Написать нам

Часто задаваемые вопросы

Что это за продукт?
ИИ-поиск по базе знаний сайта, встроенный в hero главной. Посетитель задаёт вопрос обычными словами — получает связный ответ из материалов сайта со ссылками на страницы-источники и тремя уточняющими вопросами (стиль Perplexity). Рядом — блок точных совпадений из полнотекстового поиска. Это собственный продукт Веб Штурм: работает на нашем сайте как витрина и разворачивается у клиентов по их контенту.
Чем ИИ-поиск отличается от обычного поиска по сайту?
Обычный поиск возвращает список страниц — дальше посетитель читает сам. ИИ-поиск понимает вопрос целиком и формулирует ответ из базы знаний (RAG), прикладывая источники. У нас работают оба: ИИ-ответ основной, полнотекстовый поиск рядом как быстрый fallback. Каналы независимы — если ИИ недоступен, поиск продолжает работать, и наоборот.
Как ИИ не выдумывает ответы?
Ответ строится только из контекста базы знаний сайта, guardrail запрещает выдумывать и обещать цены/сроки. Есть эвристика обоснованности: если ответ ничем не подкреплён в базе (нет источников и ссылок-маркеров) или модель отвечает «не нашёл» — мы не показываем его, а предлагаем обсудить напрямую. Честное «не знаю» вместо уверенной ошибки.
Как защищён публичный ИИ-эндпоинт?
Четыре уровня: лимит запросов с одного адреса в минуту, кэш ответов на час (повтор бесплатный), глобальный дневной потолок для защиты бюджета модели и SmartCaptcha при подозрении. Эндпоинт никогда не отдаёт наружу серверную ошибку из-за модели — сбой превращается в мягкое «временно недоступно». Ограничение: счётчики и кэш в памяти процесса (для одного экземпляра достаточно; при масштабировании — вынести во внешнее хранилище).
Когда такой ИИ-поиск не нужен?
Если на сайте мало контента и обычного полнотекстового поиска хватает — ИИ-слой избыточен. Продукт оправдан там, где база знаний большая и посетителю трудно угадать ключевые слова, либо когда сам ИИ-поиск ценен как демонстрация возможностей. Для маленького лендинга это переусложнение.

Похожая задача?

Расскажите контекст — подскажем, что и как делать.