Проблема, требующая автоматизации
Традиционные агрегаторы часто не способны подобрать оптимальные варианты перелётов, когда требуется гибкая дата вылета, конкретная продолжительность поездки и несколько пассажиров. При поиске билетов на Бали для пятерых человек с переменными датами пришлось вручную проверять сотни комбинаций, что приводило к потере времени и упущенным скидкам. Необходимость автоматизировать этот процесс стала отправной точкой для создания собственного инструмента.
Полностью AI‑генерируемый код
Для ускорения разработки был выбран подход «весь код пишет AI». В качестве генератора использовалась модель Claude, способная понимать бизнес‑требования и писать готовый код. Основные этапы:
- Формулировка задачи в виде промптов: «Создай скрипт, который перебирает даты вылета и возвращения, запрашивает цены у нескольких авиапровайдеров и сохраняет результаты в БД».
- Итеративный процесс: после получения первого варианта кода разработчик проверял корректность, вносил уточнения и запускал повторную генерацию.
- Достижение 90 % готового кода без ручного написания, оставив лишь настройку инфраструктуры и интеграцию с Telegram API.
Такой метод позволил сократить время написания бизнес‑логики с недель до нескольких дней, а также снизить количество ошибок, типичных для ручного кодинга.
Обход антибот‑защиты и реверс‑инжиниринг API
Большинство авиапровайдеров защищают свои поисковые эндпоинты от автоматических запросов. Чтобы получать данные легально и стабильно, был проведён ряд технических шагов:
- Анализ сетевого трафика – с помощью инструментов вроде Wireshark и браузерных DevTools был зафиксирован запрос, отправляемый при обычном поиске билета.
- Воссоздание запросов – полученные параметры (заголовки, токены, cookies) были воспроизведены в собственных HTTP‑запросах. При необходимости использовались динамические подписи, генерируемые JavaScript‑функциями.
- Ротация IP‑адресов – для обхода ограничений по частоте запросов был внедрён пул прокси‑серверов, автоматически меняющихся каждые 30 секунд.
- Эмуляция поведения пользователя – добавлены случайные задержки и переменные тайминги, имитирующие реальное взаимодействие в браузере.
Эти меры позволили выполнять более 1000 проверок комбинаций маршрутов в час без блокировок со стороны провайдеров.
Архитектура и DevOps
Для обеспечения масштабируемости и надёжности система была построена на микросервисном подходе:
- Сервис парсинга – отвечает за отправку запросов к API авиапровайдеров, обработку ответов и запись результатов в PostgreSQL.
- Сервис аналитики – собирает метрики (CTR, retention, воронки) и сохраняет их в ClickHouse для быстрой агрегации.
- Telegram‑бот – реализован на Python‑фреймворке aiogram, получает запросы от пользователей, формирует задачи для парсинга и отправляет уведомления о найденных скидках.
- Очереди задач – использована RabbitMQ, позволяющая распределять нагрузку между несколькими воркерами парсинга.
- CI/CD – GitHub Actions автоматически собирает Docker‑образы, проводит тесты и развёртывает их в Kubernetes‑кластере в облаке Yandex.Cloud.
Контейнеризация и оркестрация позволяют быстро масштабировать количество воркеров в зависимости от нагрузки, обеспечивая стабильную работу даже в пиковые периоды поиска билетов.
Метрики продукта и UX‑ориентированность
Ключевыми бизнес‑показателями стали:
- CTR (click‑through rate) – процент пользователей, кликнувших по уведомлению о найденных билетах. Для оптимизации использовались A/B‑тесты разных формулировок сообщений.
- Retention – удержание пользователей после первого поиска. Внедрена система подписки на «горячие» маршруты, что увеличило возврат пользователей на 27 %.
- Воронка конверсии – от запроса в боте до покупки билета. На каждом этапе добавлялись подсказки и ссылки на партнёрские программы, повышая конечный коэффициент конверсии до 12 %.
UX‑дизайн был построен вокруг простоты: пользователь вводит минимум параметров (количество пассажиров, диапазон дат, желаемую длительность поездки), а бот сам генерирует оптимальные варианты и отправляет их в виде интерактивных карточек с кнопками «Купить», «Сохранить» и «Получить оповещение о падении цены».
Результаты и дальнейшее развитие
За первые две недели работы система успела обнаружить билеты с экономией до 52 % по сравнению с обычными поисковиками. В некоторых случаях цена туда‑обратно оказалась на 40 % дешевле суммы двух отдельных билетов. Пользователи отмечают удобство получения уведомлений в режиме реального времени и возможность быстро реагировать на изменения цен.
Планы на будущее включают расширение списка поддерживаемых провайдеров, внедрение машинного обучения для предсказания динамики цен и интеграцию с другими мессенджерами (WhatsApp, Viber). Сокращение времени разработки за счёт AI и грамотный подход к обходу антибот‑механизмов доказали, что даже небольшая команда может быстро вывести на рынок конкурентоспособный SaaS‑продукт.