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

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

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

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

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

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

 

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

 

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

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

 

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

 

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

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

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

Yandex B2B Tech выводит на рынок AI-SPM — инструмент для непрерывной оценки защищённости корпоративных ИИ-систем. Решение должно находить опасные настройки, избыточные полномочия и доступ моделей к конфиденциальным данным до того, как этим заинтересуются уже не аудиторы, а атакующие.

О запуске рассказал «Ведомостям» генеральный директор Yandex Cloud Григорий Атрепьев.

По его словам, постоянный автоматизированный контроль становится необходимостью по мере распространения ИИ в корпоративной инфраструктуре.

AI-SPM связывает в единую карту модели, наборы данных, серверы, права доступа и обнаруженные уязвимости. Система проверяет безопасность на разных этапах жизненного цикла ИИ, выявляет риски и предлагает меры защиты.

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

При этом AI-SPM — скорее диспетчер защищённости, чем железный купол. Такие платформы непрерывно обследуют инфраструктуру и объясняют, где администраторы оставили дверь приоткрытой, но сами по себе не блокируют большинство атак. Для фильтрации запросов, предотвращения утечек и защиты от инъекций в промпт нужны отдельные средства.

Мировой рынок решений для защиты ИИ, по приведённой Атрепьевым оценке, вырастет с $2,8 млрд в 2026 году до $4,8 млрд в 2027-м. Российский сегмент пока только формируется: Yandex Cloud оценивает его объём в 1-4 млрд рублей по итогам 2026 года и допускает рост до 11–30 млрд рублей к 2029–2030 годам.

Основными заказчиками подобных продуктов станут банки, промышленные компании, ретейлеры, телеком-операторы, технологический бизнес и госструктуры.

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