В 2025 году на мастер-классе по разработке с AI мне нужен был простой, но живой пример. Я выбрал экскурсовода: отправляешь Telegram-боту геолокацию, идёшь по городу, а он рассказывает о местах рядом. Первая версия заняла полтора часа.
У неё была очень простая начинка: координаты попадали в запрос к модели, в ответ приходил рассказ. Код от начала до конца написал Cursor. Для демонстрации получилось вполне убедительно. Для повседневного использования — криво, но интересно.
Прогулка без списка достопримечательностей
Мастер-класс закончился, а бот остался. Я включал его в поездках и возле дома. Хотелось находить интересное по пути, без заранее составленного маршрута и обязательной программы.
Однажды обычный поход на почту превратился в полдня прогулки. Сначала бот подсказал место неподалёку, потом захотелось дойти до следующего. Закончилось всё в ещё не открывшемся грузинском ресторане, где нам налили чачи. Ресторан бот не рекомендовал. Просто в какой-то момент ты уже сам начинаешь смотреть по сторонам внимательнее.
Мне нравилась именно эта возможность: не ехать к специально выбранному «интересному месту», а обнаружить что-то там, где уже оказался.
Слишком хорошая история
Первая версия повторялась, неточно ставила точки и скучновато писала. Я добавил фотографии, поиск мест на карте и подробную редакционную инструкцию: как связать историю с местом, человеком и тем, на что можно посмотреть своими глазами.
Один из присланных фактов настолько мне понравился, что я заподозрил неладное. Проверил — и обнаружил неточности и приукрашивания. Рассказ был достаточно интересным, чтобы пойти читать дальше, но недостаточно надёжным, чтобы просто ему поверить.
В итерации 2025 года я подключил GPT-5 с веб-поиском и переписал бота. Появились более тщательная проверка, поддержка французского и английского интерфейсов, возможность выбрать другой язык рассказа. При этом фотографии продолжали ошибаться: картинка к истории иногда рассказывала что-то совсем своё.
Веб-поиск добавил проверку по внешним источникам. Это описание итерации 2025 года: в более позднем README уже указаны Claude и проверка поиском; состав моделей у проекта менялся.
Почему здесь можно подождать
У прогулочного интерфейса нашлось преимущество: ответ не нужен немедленно. Пока человек идёт и смотрит по сторонам, бот может дольше искать место, разбираться с источниками и готовить рассказ.
Поэтому основным режимом я сделал трансляцию геолокации. Включаешь её, убираешь телефон и время от времени получаешь сообщение. Задержка, которая раздражала бы в обычном чате, здесь позволяет сделать за кадром больше работы. Не нужно стоять перед экраном и наблюдать, как AI думает о твоей прогулке.
Однажды я вышел на улицу, а бот не работал. И вернулся домой его чинить.
Демонстрация на полтора часа стала вещью, ради которой я готов прервать прогулку. Не самый очевидный показатель успеха экскурсовода.