Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

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

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

Подпишитесь на новости

Яндекс и VK могут объединить облака, офисные сервисы и ИИ

Яндекс и VK обсуждают создание совместного предприятия на базе Yandex B2B Tech и VK Tech. Если договорятся, на российском корпоративном ИТ-рынке появится игрок, способный продавать бизнесу почти всё сразу: облака, офисные сервисы, платформы данных, искусственный интеллект и инструменты разработки.

О переговорах сообщили источники РБК. Возможная сделка обсуждается более двух месяцев, однако окончательный состав активов ещё не определён.

Один из рассматриваемых вариантов предполагает передачу в СП всего VK Tech, а со стороны Яндекса — Yandex Cloud, «Яндекс 360» и одного из ИИ-активов Yandex B2B Tech.

Доли партнёров могут распределить поровну — 50 на 50. Работать объединённая структура, по данным источников, может на базе ООО «БТБ Тех».

Яндекс заявил, что не комментирует слухи, а VK Tech отказался от комментариев. Ещё в июле СМИ писали, что компании обсуждают стратегическое партнёрство в облачных технологиях, сервисах продуктивности и ИИ для бизнеса.

Корпоративные направления обеих компаний растут бодрее многих соседей по рынку. Выручка Yandex B2B Tech в первом полугодии 2026 года увеличилась на 32%, до 28,9 млрд рублей, а VK Tech — на 35,3%, до 9 млрд рублей.

Эксперты видят в возможном союзе попытку сократить ценовую конкуренцию, объединить расходы на разработку и расширить перекрёстные продажи. Яндекс принесёт сильные позиции в облаках, ИИ и информационной безопасности, VK — корпоративные коммуникации, HR-tech и опыт работы с госсектором. По одной из оценок, совместная структура сможет занять около 30% рынка.

Напомним, сегодня стало известно, что Яндекс выпустил систему контроля безопасности корпоративного ИИ.

RSS: Новости на портале Anti-Malware.ru