Оболочки

Grab повысила стабильность мобильного приложения за счет безопасного управления изменениями кода, созданными ИИ

10 ноября 2026 г. · 2 мин чтения

Также опубликовано на Türkçe, 日本語, 中文, हिन्दी, Svenska, Norsk, العربية

two men sitting in front of a laptop computer
Flipsnack / Unsplash

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

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

Сбои в мобильном приложении не только ухудшают пользовательский опыт, но и снижают показатели сессий без сбоев, что ведет к падению рейтинга приложения в Google Play. Это также увеличивает затраты, так как не все пользователи включают автоматические обновления, из-за чего сбои дольше остаются на устройствах. Кроме того, не все сбои сопровождаются четкими стековыми трассами, что заставляет искать причины путем перекрестной проверки графиков релизов, развертывания флагов и метаданных сессий.

Стратегия защиты Grab основана на принципе смещения проверок влево, чтобы обнаруживать сбои как можно раньше. На этапе от слияния до предпроизводства основной целью является предотвращение. Инженеры используют статические анализаторы кода, такие как Android Lint и SwiftLint, для выявления проблем до слияния кода. Также применяются автоматизированное и ручное тестирование, включая модульные и пользовательские тесты, а также проверки качества. Важным этапом является Grab Early Access, где ранние сборки распространяются среди внутренних пользователей и активно мониторятся.

На этапе выпуска Grab использует поэтапное развертывание и флаги функций для контроля воздействия сбоев. Поэтапное развертывание позволяет новой версии приложения достичь лишь небольшого процента пользователей, что дает возможность приостановить процесс при обнаружении аномального уровня сбоев. Флаги функций позволяют постепенно активировать возможности и немедленно отключать их без нового релиза, если уровень сбоев превышает заданные пороги.

После выпуска компания фокусируется на быстром реагировании. Для обнаружения аномалий в режиме реального времени используются Firebase Crashlytics и BigQuery. Автоматизированная сортировка и расширенная диагностика помогают сопоставлять сбои с конкретными запросами на слияние. Завершают процесс циклы обратной связи и посмертный анализ для расширения правил анализаторов и тестового покрытия.