TL;DR
TripTailor — бенчмарк для проверки способности LLM планировать реальные туристические маршруты. Исследователи собрали 500,000+ реальных мест (достопримечательности, отели, рестораны) в 40 китайских городах и почти 4,000 реальных туристических планов. Проверили топовые модели (GPT-4o, DeepSeek-V3, o1-mini) — только 7.5% их планов дотягивают до человеческого уровня по качеству.
Главная находка: соблюдение ограничений ≠ качественный план. LLM умеют следовать правилам ("бюджет до 50,000₽", "отель 4★"), но проваливаются на трёх уровнях. Осуществимость — выдумывают места или путают отель с достопримечательностью (у o1-mini только 78% планов без галлюцинаций). Рациональность — строят маршруты с трёхкратно большими расстояниями чем у людей, потому что не понимают географию. Персонализация — игнорируют 65% нюансов запроса ("люблю горы и аутентичную кухню" → получаешь типовой план "всё самое популярное").
Решение — пошаговая декомпозиция (workflow decomposition). Вместо "спланируй поездку целиком" разбивай на шаги: 1) найди транспорт между городами, 2) ранжируй места по твоим критериям, 3) выбери топ-N, 4) найди рестораны рядом, 5) найди центральный отель, 6) собери финальный план. Baseline-метод с этим подходом показал 63.7% качественных планов против 7.5% у GPT-4o в режиме "Direct" — почти в 9 раз лучше.
Схема метода (Workflow Decomposition)
ШАГ 1: Найти транспорт → список рейсов/поездов между городами
ШАГ 2: Ранжировать места по критериям пользователя → топ-список
ШАГ 3: Выбрать топ-N мест для каждого дня → черновик маршрута
ШАГ 4: Найти рестораны рядом с местами → список опций
ШАГ 5: Найти центральный отель → адрес отеля
ШАГ 6: Собрать финальный план с деталями → готовый маршрут
Каждый шаг — отдельный запрос к LLM. Результат одного шага → вход для следующего.
Пример применения
Задача: Спланировать 3-дневную поездку из Москвы в Санкт-Петербург. Бюджет 30,000₽. Интересуют дворцы, музеи, хочу гулять пешком, предпочитаю грузинскую кухню. Хочу остановиться в районе Невского.
Промпт (ШАГ 1):
Найди варианты поездов и самолётов из Москвы в Санкт-Петербург на 15 марта (туда)
и 17 марта (обратно). Перечисли все варианты с временем отправления, прибытия и ценой.
Промпт (ШАГ 2):
Вот список из 50 достопримечательностей Санкт-Петербурга: [список].
Ранжируй их по соответствию моим критериям: дворцы, музеи, можно обойти пешком.
Выдай топ-15.
Промпт (ШАГ 3):
Из этих 15 мест создай черновик маршрута на 2 полных дня (16 и 17 марта).
Учти часы работы и время на осмотр. Группируй места рядом друг с другом.
Промпт (ШАГ 4):
Для каждого места в маршруте найди 2-3 грузинских ресторана в радиусе 1км.
Укажи цену среднего чека.
Промпт (ШАГ 5):
Найди отель в районе Невского проспекта, ценой до 5,000₽/ночь,
рядом с местами из маршрута. Рассчитай среднее расстояние до всех мест.
Промпт (ШАГ 6):
Собери финальный план: поминутное расписание на 15-17 марта,
с транспортом, отелем, маршрутом, ресторанами. Проверь бюджет.
Результат: Модель выдаст детальный план с конкретными поездами, отелем, достопримечательностями и ресторанами. Маршрут будет географически оптимизирован (места рядом друг с другом в один день), с учётом бюджета и предпочтений. Каждый шаг можно проверить и скорректировать отдельно — если не нравится отель, переделываешь только ШАГ 5.
Почему это работает
Слабость LLM: Когнитивная перегрузка при многофакторной оптимизации. Когда просишь "спланируй поездку", модель должна одновременно думать о транспорте, бюджете, географии, времени, предпочтениях — слишком много переменных в уме. Результат: забывает про бюджет или строит маршрут "север-юг-север-юг" вместо последовательного обхода.
Сильная сторона LLM: Ранжирование и фильтрация по критериям. Если дать список из 50 мест и попросить "выбери топ-10 по моим интересам" — справится отлично. Если дать 5 ресторанов и попросить "выбери ближайший к музею" — тоже норм.
Как метод использует сильную сторону: Разбивает одну сложную задачу на серию простых. Каждый шаг решает одну проблему: найти транспорт, ранжировать места, оптимизировать географию. На выходе каждого шага — структурированные данные для следующего. Модель больше не жонглирует всеми факторами сразу, а последовательно обрабатывает по одному.
Рычаги управления:
- Количество мест в топе (Шаг 2) → 10-15 для насыщенного плана, 5-7 для расслабленного
- Радиус поиска ресторанов (Шаг 4) → 500м для пешей доступности, 2км если готов ездить
- Критерий выбора отеля (Шаг 5) → "минимальное среднее расстояние" или "максимум в центре"
- Детализация шага 6 → "только маршрут" или "с описанием каждого места"
Шаблон промпта
ШАГ 1 — ТРАНСПОРТ:
Найди варианты {транспорт: поезда/самолёты} из {город_A} в {город_B}
на {дата_туда} (туда) и {дата_обратно} (обратно).
Перечисли варианты с временем и ценой.
ШАГ 2 — РАНЖИРОВАНИЕ:
Вот список из {N} мест в {город}: {список_мест}.
Ранжируй их по соответствию критериям: {критерии_пользователя}.
Выдай топ-{M}.
ШАГ 3 — ЧЕРНОВИК МАРШРУТА:
Из этих {M} мест создай черновик маршрута на {количество_дней}.
Учти часы работы и время на осмотр. Группируй места рядом друг с другом.
ШАГ 4 — РЕСТОРАНЫ:
Для каждого места в маршруте найди {X} ресторанов {тип_кухни}
в радиусе {радиус}км. Укажи цену.
ШАГ 5 — ОТЕЛЬ:
Найди отель в районе {район}, ценой до {цена_за_ночь}/ночь,
рядом с местами из маршрута. Рассчитай среднее расстояние.
ШАГ 6 — ФИНАЛЬНЫЙ ПЛАН:
Собери финальный план: поминутное расписание на {даты},
с транспортом, отелем, маршрутом, ресторанами. Проверь бюджет {бюджет}.
Что подставлять:
{транспорт}— поезда / самолёты / автобусы{критерии_пользователя}— "дворцы, музеи, пешая доступность" или "природа, активный отдых"{M}— 10-15 для насыщенного плана, 5-7 для расслабленного{X}— 2-3 ресторана на точку{радиус}— 0.5-1км для пешей доступности, 2км с транспортом
🚀 Быстрый старт — вставь в чат:
Вот шаблон пошагового планирования путешествий. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит откуда-куда, даты, бюджет, предпочтения — это нужно для заполнения плейсхолдеров в каждом шаге. Она возьмёт паттерн из шаблона и создаст пошаговый план под твою поездку.
Ограничения
⚠️ Требует многошаговости: Метод не работает "в один промпт" — нужно делать 5-6 последовательных запросов и передавать данные между ними. В веб-чате без API это ручная работа: копировать результат шага 1 → вставлять в шаг 2.
⚠️ Не решает слабость в географии: Даже с явной просьбой "группируй места рядом", LLM строит маршруты в 2-3 раза длиннее оптимальных. Модель не видит карту — она оценивает расстояния абстрактно по координатам.
⚠️ Зависит от качества данных: Если на шаге 2 в списке мест нет того, что нужно пользователю, финальный план будет слабым. Метод не заменяет поиск информации — он структурирует работу с уже найденными данными.
⚠️ Высокая цена токенов: 6 запросов вместо одного → в 6 раз больше токенов. Для длинных поездок (7 дней, 50+ мест в списке) может выйти дорого на o1/GPT-4o.
Как исследовали
Команда собрала реальный датасет из 40 городов Китая: 500,000+ POI (достопримечательности, отели, рестораны) с оценками, ценами, координатами, часами работы. Собрали 4,000 настоящих туристических планов с сайтов туристических агентств — с подробными маршрутами, отелями, ресторанами по дням. Для каждого плана сгенерировали пользовательский запрос типа "хочу 3 дня, горы, локальная кухня, бюджет 50,000₽".
Протестировали 6 моделей (GPT-4o, o1-mini, DeepSeek-V3, Qwen2.5) с 4 подходами: Direct (планируй сразу), Chain-of-Thought, ReAct, Reflexion. Сравнивали по трём измерениям:
- Feasibility (осуществимость) — нет галлюцинаций, есть вся информация (отель, транспорт)
- Rationality (рациональность) — не повторяются места, бюджет соблюдён, время на осмотр адекватное
- Personalization (персонализация) — как близко к предпочтениям пользователя
Почему результаты такие: Direct-подход показал 6.7% success rate (GPT-4o) — модель пытается всё сделать сразу и теряется. ReAct и Reflexion не помогли — iterative рассуждения не компенсируют слабость в spatial reasoning. o1-mini показал лучше на коротких поездках (2-3 дня), но на длинных (4-7 дней) проваливался из-за галлюцинаций (78% feasibility vs 96.6% у GPT-4o) — reasoning усиливает выдумывание.
Инсайт для практики: Workflow decomposition (базовый подход) дал 63.7% success rate — в 9 раз лучше Direct. Почему? Разбивка на шаги снижает когнитивную нагрузку на модель. Но даже workflow не решает проблему географии — LLM строят маршруты в 3 раза длиннее человеческих (17км vs 7км между точками). Spatial reasoning — фундаментальная слабость: модели плохо понимают "близко-далеко" по координатам, не могут "представить карту".
Удивительно: строгие constraints ≠ качество. План может соблюдать все правила (бюджет, рейтинг отеля, тип мест), но быть хуже человеческого по маршруту, балансу активностей, глубине опыта. Personalization — самый сложный критерий: только 22.5% LLM-планов лучше человеческих по соответствию нюансам запроса.
Ресурсы
TripTailor: A Real-World Benchmark for Personalized Travel Planning Код и датасет Yuanzhe Shen, Kaimin Wang, Changze Lv, Xiaoqing Zheng, Xuanjing Huang School of Computer Science, Fudan University, Shanghai, China
