Реализация AI-ассистента для планирования маршрутов путешествий в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Реализация AI-ассистента для планирования маршрутов путешествий в мобильном приложении
Сложный
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Реализация AI-ассистента для планирования маршрутов путешествий в мобильном приложении

Пользователь вводит «Рим, 4 дня, с ребёнком 6 лет, бюджет средний» и хочет получить готовый маршрут с последовательностью достопримечательностей, рекомендациями по ресторанам рядом с каждой точкой, учётом времени работы и логикой «не гнать через весь город дважды». Это не та задача, которую решает просто вызов ChatGPT — здесь нужна комбинация LLM, геоданных и маршрутизации.

Архитектура: почему просто GPT не хватает

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

Рабочая схема — RAG (Retrieval-Augmented Generation) + внешние API:

  1. Пользовательский запрос → парсинг намерений через LLM (GPT-4o/Claude 3 Haiku) — извлекаем: город, даты, количество людей, возраст детей, интересы, бюджет.
  2. Поиск POI — Google Places API или Foursquare Places API по параметрам: координаты города, type (museum/restaurant/park), rating ≥ 4.0, открыто в нужные дни.
  3. Геооптимизация маршрута — Travelling Salesman Problem упрощённый вариант: для 8-15 точек работает nearest-neighbor heuristic или Google Routes API Optimization (Compute Routes Matrix → жадный алгоритм распределения по дням).
  4. Обогащение LLM — собранные данные о POI + маршрут передаются в LLM для генерации человеческих описаний, советов и связного текста плана.
  5. Реальное время — актуальные расписания через Google Places Details (opening_hours.periods), crowd forecast через BestTime.app API (время наименьшей загрузки).

Промпт-инжиниринг для маршрута

System prompt: «Ты — опытный travel-консультант. Тебе дан список POI с координатами, расписанием и рейтингами, распределённый по дням. Составь связный план с временными слотами, советами по логистике и рекомендациями рядом с каждой точкой. Не выдумывай факты — только то, что есть в переданных данных.»

Передаём данные в структурированном JSON внутри user message — LLM лучше работает со структурой, чем с потоком текста. Токены: ~3000-5000 на 4-дневный маршрут с 15 точками. GPT-4o-mini по стоимости оптимален для продакшена.

Мобильный UX: как это выглядит

Диалоговый интерфейс

Не форма с полями — разговор. Пользователь пишет как в мессенджере, ассистент уточняет: «Вы упомянули ребёнка — интересны детские музеи или лучше избегать?». Это серия clarification-вопросов до старта генерации.

На iOS: UITextView с inputAccessoryView для кнопки отправки. Сообщения в UICollectionView — пузыри, как в чате. Typing indicator пока LLM генерирует.

Streaming ответа: OpenAI API поддерживает SSE (Server-Sent Events) streaming — текст появляется по мере генерации, не ждём полного ответа. iOS: URLSession.dataTask + парсинг SSE-чанков через Scanner. Android: OkHttp EventSource. В UI — typingLabel с последовательным добавлением текста.

Карта маршрута

После генерации — интерактивная карта с точками дня (Mapbox или Google Maps), пронумерованными маркерами и линиями пути между ними. День переключается табом — карта перецентрируется на точки выбранного дня с анимацией flyTo.

Тап на маркер → карточка POI: фото (Google Places Photos API), рейтинг, рабочее время, расстояние от предыдущей точки, кнопка «открыть в навигаторе» (deeplink в Google Maps / Apple Maps / Яндекс Карты).

Редактирование плана

Пользователь хочет убрать точку или добавить новую — drag & drop в списке дня, или чат-команда «убери Пантеон из второго дня и добавь что-то вместо него». LLM перегенерирует только затронутый день с учётом изменений.

Переупорядочивание точек внутри дня: UITableView с UITableViewDragDelegate на iOS, ReorderableList в Compose.

Хранение и синхронизация

Маршрут сохраняется в облаке (PostgreSQL: tripstrip_daystrip_stops). Офлайн-копия в SQLite/CoreData: пользователь должен иметь доступ к маршруту без интернета. Синхронизация при reconnect.

Экспорт: PDF-план через сервер (WeasyPrint), Google Calendar через OAuth2 (calendar.events.insert для каждой точки со временем), GPX для навигаторов.

Стоимость LLM-вызовов

При ~3000 токенов на генерацию и GPT-4o-mini ($0.15/1M input, $0.60/1M output) — около $0.001-0.002 на один маршрут. Для проекта с 1000 генерациями в день — $1-2 в сутки. Кэшируем результаты похожих запросов (city + duration + type хэш) — снижает API-расходы при росте аудитории.

Сроки

Базовый AI-планировщик маршрутов (диалог, генерация, карта) — 2-3 недели. С редактированием, экспортом в PDF/Calendar, офлайн-доступом и оптимизацией по времени работы объектов — 5-8 недель. Стоимость рассчитывается индивидуально: выбор LLM-провайдера и геосервисов существенно влияет на архитектуру.