Группа компаний «Голос» — боты-консультанты по домам и квартирам

Клиент: Группа компаний «Голос»

Задача

Автоматизировать первую линию продаж во всех проектах группы: бот объясняет покупателю и риелтору всё о доме или квартире, подбирает варианты по параметрам, показывает планировки и готовит презентацию — строго по данным заказчика, без выдумки.

Ограничения входа

  • Отвечать только по фактам заказчика: нейросеть не вправе додумывать цену, площадь, сроки или условия.
  • Бот не ведёт сделку — личные ипотечные расчёты и запись на показ остаются за живым консультантом.
  • Данные в таблицах и на сайте меняются каждую неделю, поэтому обновление не должно требовать участия разработчика.

Что сделал

  • Три бота на одном подходе: «Голос. Горожане» в Telegram и в MAX, «Голос. Притяжение» в MAX.
  • Два источника ответа: книга продаж в Google-таблице и витрина домов или квартир с сайта заказчика.
  • База знаний пересобирается из таблицы сама по расписанию; если обновление не удалось, бот продолжает отвечать по последней удачной версии.
  • Стиль ответов настраивается отдельно от фактов: правила ответа и характер консультанта живут в своих файлах, а книга продаж остаётся источником правды.
  • Витрина обновляется с сайта автоматически: по домам — вместе со снимком генплана и визуальными материалами, по квартирам — с проверкой цены в каждой карточке.
  • Подбор словами: «трёшки на этажах с 4-го по 8-й», «Дуэт во второй очереди, участок шесть соток» — бот выдаёт карточки с планировкой и подписью с ценой.
  • PDF-презентация собирается прямо в боте: пять страниц по дому и шесть страниц по квартире.
  • Резервный сервер поднимает тех же ботов, когда основной перестаёт отвечать, и сам возвращает управление, когда основной восстанавливается.
  • Отчёты приходят без напоминаний: почтовые за день, неделю и месяц, в MAX — PDF-отчёт по вопросам и ответам за любой период.

Моя роль

Собрал всех трёх ботов от начала до конца: парсеры книги продаж и витрины, стиль ответов, генераторы презентаций, отчёты и резервный контур с автоматическим переключением. Развернул всё на серверах заказчика и по ходу проекта разбирал вместе с его командой спорные диалоги — что бот не понял, чего не хватило в данных и как это исправить в источнике, а не «перевоспитывать» нейросеть.

Результат

  • Боты «Голос. Горожане» (Telegram и MAX) и «Голос. Притяжение» (MAX, Магнитогорск).
  • База знаний, которая обновляется из Google-таблицы заказчика по расписанию.
  • Автоматическая витрина домов и квартир, снятая с сайта заказчика.
  • Генератор персональных презентаций: дом — пять страниц, квартира — шесть.
  • Резервный сервер с автоматическим переключением и собственной свежей копией данных.
  • Отчёты об активности бота: почтовые и PDF для администраторов.

Что можно проверить

  • Три бота работают на серверах заказчика; каждый релиз параллельно выкладывается на основной и резервный узел · ноябрь 2026
  • Презентации проверены живыми сборками: пять страниц по дому и шесть страниц по квартире с актуальными способами покупки · ноябрь 2026
  • Обновление витрины проверено сверкой каталога с сайтом: цены в каталоге и на сайте совпадают · сентябрь 2026

Честно про рамки

  • Названия объектов публикую с согласия заказчика; цифры по выручке и конверсии не раскрываю.
  • Реальное отключение основного сервера специально не моделировали: пороги переключения настроены и проверяются на каждом релизе.
  • Ответ бота ограничен тем, что лежит в книге продаж: чего нет в таблице, того в ответе не будет, и бот говорит об этом прямо.

Задача

Продажи в проектах Группы компаний «Голос» ведёт живой отдел, но первые вопросы приходят в переписку — и часто вечером, когда менеджеры уже не отвечают. «Какие дома сейчас в продаже?», «Что за серия Дуэт?», «Есть трёшка на среднем этаже до десяти миллионов?», «Пришлите презентацию» — этот поток нужно было закрыть так, чтобы человек получил точный ответ в любую минуту, а не формулировку, которую нейросеть придумала по дороге.

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

Сейчас это три бота в двух мессенджерах: «Голос. Горожане» в Telegram и в MAX, «Голос. Притяжение» в MAX. Работают они по одному подходу, поэтому дальше речь обо всех трёх.

Два источника, и их нельзя путать

У бота два колодца, из которых он черпает ответы.

Книга продаж — Google-таблица, которую ведёт маркетинг заказчика: локация, очереди, инфраструктура, материалы, коммуникации, документы, сроки, ипотечные программы, сценарии жизни. Парсер выгружает таблицу и превращает её в аккуратный текст, который читает нейросеть: заголовки разделов, пояснения к ним, всё в логическом порядке. Специфика в том, что в таблице много объединённых ячеек, и обычный выгрузочный формат эту структуру теряет — поэтому таблица скачивается так, чтобы строки и разделы остались на месте, а пустые служебные строки не попадали в базу.

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

Из этой же логики правило ответа: нет факта в источнике — бот так и говорит. Формулировки «не предусмотрено» и «отсутствует» для него абсолютны, а обобщить «как обычно бывает в коттеджных посёлках» запрещено.

База знаний обновляется из таблицы сама

Для исполнителей заказчика это, пожалуй, самое удобное.

Никто не выгружает файлы разработчику и не ждёт релиза. Менеджер поправил строку в книге продаж — вечером того же дня бот пересобирает базу знаний и отвечает по-новому. Расписание — ежедневно в 20:00 по времени заказчика, причём сначала обновляется книга продаж, затем витрина с сайта, и только потом бот перечитывает каталог, чтобы новые цены сразу попали в ответы.

Если обновление не удалось — таблица закрыта, сайт недоступен, выгрузка получилась пустой, — бот не выбрасывает базу и не начинает молчать. Он продолжает отвечать по последней успешной версии, а пустые выгрузки отвергаются отдельно: случайная ошибка в доступе не должна превращаться в «у нас ничего не продаётся».

Администратор может запустить обновление вручную кнопкой в админке или командой — бот ответит, когда была последняя выгрузка и какого размера получилась база. Это пригодилось при тестировании: поправили формулировку, обновили, спрашиваем бота снова.

Стиль ответов настраивается отдельно от фактов

Характер консультанта и правила ответа живут не в книге продаж, а в отдельных инструкциях. Это принципиально: таблица остаётся источником фактов, а то, как бот говорит, меняется независимо от неё.

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

Для заказчика это означает простой процесс: тон и формулировки правятся в инструкциях без единого изменения в таблице, а факты правятся в таблице без единого изменения в коде.

Витрина домов и квартир тоже обновляется автоматически

Дома в «Горожанах» и квартиры в «Притяжении» продаются с сайта, и бот обязан отвечать тем, что там лежит сегодня.

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

По квартирам парсер работает выборочно: сравнивает карточки с сохранённым снимком и заново обрабатывает только то, что изменилось. Цены при этом сверяются по каждой квартире отдельно и каждый день — так бот не держит вчерашние цифры, даже если общий список на сайте не обновлялся.

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

Подбор дома или квартиры обычными словами

Пользователь не заполняет фильтр. Он пишет «покажи двушки по минимальной цене» или «есть варианты на этажах с 4-го по 8-й?» — и бот превращает это в запрос к витрине: комнатность вместе с разговорными «двушка» и «трешка», секция, конкретный этаж или диапазон, цена и площадь с обеих сторон, сортировка, ограничение числа вариантов. Для домов — серия, очередь и площадь участка.

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

Память диалога держит последние пять вопросов и короткие сводки ответов, поэтому уточнение «а балкон в этой квартире есть?» работает без пересказа. Спрашивать можно голосом: аудиосообщение распознаётся и превращается в тот же вопрос. Здесь тоже предусмотрен запасной вариант — если основной сервис распознавания не успевает ответить за отведённое время, подхватывает второй.

Презентация в PDF прямо в боте

Самая заметная для риелторов и менеджеров отдела продаж функция. Не нужно открывать CRM, собирать файл руками и искать, где лежит актуальный рендер: в переписке с клиентом достаточно попросить — и презентация приходит тем же сообщением.

По дому в «Горожанах» это пять страниц: обложка с рендером именно этого дома, планировки, страница с характеристиками и генпланом, где отмечен участок конкретного дома, и план участка. Запрос работает по-разному: по номеру дома — прямо в тексте сообщения, по серии — с уточнением очереди и площади участка, если их не назвали; можно запросить сразу несколько домов за один раз.

По квартире в «Притяжении» — шесть страниц: карточка квартиры с планировкой и подсвеченным этажом, схема секции, паркинг и лист со способами покупки, который заполняется актуальными условиями из книги продаж, — программы ипотеки, включая семейную и IT, берутся оттуда, а не из шаблона.

Технически важно две вещи. Сборка идёт из локального снимка данных, поэтому клиент не ждёт, пока бот сходит на сайт, и готовый файл появляется в чате за секунды. И сборка уехала в отдельный короткий процесс: тяжёлая генерация PDF не отнимает память у бота и не замедляет ответы другим пользователям, а временный файл удаляется после отправки. Всё это проверялось реальными сборками, а не только тестами: страницы действительно генерировали и смотрели — метку дома на карте, подписи параметров, количество пунктов в списке способов покупки.

Резервные серверы: бот не исчезает

Консультант, который отвечает «сервер недоступен», хуже, чем его отсутствие, поэтому для группы проектов собран резервный контур.

На резервном сервере в спящем режиме лежат все три бота — те же коды, те же токены, свои базы знаний. Раз в минуту контрольный таймер обращается к адресам здоровья основного сервера и считает неудачные проверки. После трёх подряд неудач он будит службы на резерве, а подписки MAX переводит на его адрес; как только основной сервер трижды отчитывается здоровым, управление так же автоматически возвращается назад. Всё это — без ручного вмешательства и без действий заказчика.

Для пользователя переключение бесшовное: тот же бот, тот же адрес, та же история переписки. Никто не просит начать заново и не получает дубли ответов — при переключении старые подписки снимаются, а бот на основном сервере не отвечает одновременно с резервным.

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

Отчёты, которые приходят сами

Бот считает обращения и сам отправляет сводки: за день, неделю и месяц на почту. Для автоматических отчётов сделана защита от дублей — состояние отправки хранится отдельно, поэтому перезапущенный или второй процесс не отправляет тот же отчёт дважды.

В MAX у администраторов есть кнопка «админка»: обновить базу знаний, обновить витрину, открыть статистику за всё время, месяц, неделю и день — и сформировать PDF-отчёт по вопросам и сводкам ответов за текущую дату, неделю, месяц, квартал или произвольный период. Плюс команда, которая показывает идентификатор пользователя, — так заказчик сам добавляет новых администраторов, просто попросив человека её отправить.

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

Результат

Все три бота Группы компаний «Голос» работают на серверах заказчика и живут своей жизнью: вечером сами обновляют книгу продаж из Google-таблицы и витрину с сайта, днём отвечают покупателям и риелторам текстом или голосом, подбирают дома и квартиры, присылают планировки и готовые PDF-презентации, а при проблемах с основным сервером подхватываются резервным — незаметно для человека. Отчёты об активности приходят сами, без напоминаний.

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

Связанные услуги

Боты и автоматизация в мессенджерахСбор и парсинг данных из реестров и сайтов

  • Python
  • aiogram
  • FastAPI
  • DeepSeek
  • Google Sheets
  • Telegram
  • MAX
  • systemd