Разработка
Интеллектуальные приложения для Android: введение в Jetpacker
В этой серии публикаций Google поможет пройти через все эти варианты выбора. Мы начнём с базового мобильного приложения и постепенно превратим его в персонализированный, интеллектуальный и агентный пользовательский опыт.
Создание функций генеративного ИИ в приложении обычно означает необходимость разобраться с разными моделями, API и архитектурными решениями.
- Место выполнения. Где запускается модель: на устройстве, в облаке или в обоих вариантах?
- Сложность. Насколько сложна ваша схема? Это один вызов модели для получения результата или вам нужен более агентный сценарий?
- Внутри приложения или на уровне Android-системы. Должна ли функция быть встроена в ваше Android-приложение или она лучше подходит для интеграции с системными возможностями Android?
В этой серии публикаций Google поможет пройти через все эти варианты выбора. Мы начнём с базового мобильного приложения и постепенно превратим его в персонализированный, интеллектуальный и агентный пользовательский опыт.
Jetpacker: демонстрационное приложение для путешествий
Jetpacker — это техническое демонстрационное приложение, которое наша команда создала с нуля к Google I/O этого года. Оно было разработано с использованием Antigravity. В основе Jetpacker лежит идея помочь пользователям планировать, изучать и проживать свои следующие большие путешествия. Приложение показывает обзор поездок, маршрут каждой поездки и подробности отдельных событий внутри неё. Разумеется, всё это реализовано с учётом лучших практик Android-разработки, включая выразительный дизайн интерфейса на Material UI.
И самое приятное: приложение полностью открытое.
Сегодня мы публикуем серию технических статей с подробным разбором каждой из этих функций. Мы покажем этапы реализации, фрагменты кода и архитектурные решения, которые помогут вам создавать собственные интеллектуальные Android-приложения.
Интеллект на устройстве

Функции Jetpacker, работающие на устройстве: краткое изложение маршрутов поездок, управление расходами и голосовые заметки.
Использование модели на устройстве не создаёт дополнительных затрат на облачный инференс, избавляет от зависимости от подключения к интернету и позволяет пользователям быть уверенными, что конфиденциальная информация обрабатывается локально, прямо на устройстве, без отправки данных в облако.
В Jetpacker мы выбрали инференс на устройстве для трёх функций.
- Функция обзора поездки превращает разрозненный многодневный маршрут в краткое и полезное резюме. Она использует Gemini Nano через GenAI API из ML Kit и обрабатывает данные локально на устройстве. Мы рассматриваем эту функцию как приятное дополнение, ради которого не хочется нести дополнительные облачные расходы, поэтому инференс на устройстве здесь хорошо подходит.
- Трекер расходов автоматически извлекает структурированные данные из фотографий чеков, помогая пользователям отслеживать траты в поездке. Он использует мультимодальные возможности Gemini Nano 4 через GenAI API из ML Kit. Мы выбрали локальное решение, чтобы конфиденциальная информация с чеков не покидала устройство пользователя.
- Аудиодневник записывает, расшифровывает и распределяет голосовые заметки по соответствующим активностям поездки. Он работает на основе ML Kit Speech Recognition и GenAI Prompt API. Здесь мы также выбрали локальное решение из соображений приватности и независимости от подключения к сети.
Облачный и гибридный инференс

Облачные и гибридные функции Jetpacker: музейный ассистент с опорой на веб-данные, гибридное создание отзывов о ресторанах и чат поддержки отеля с пользовательской маршрутизацией перевода в реальном времени.
Иногда сценарий требует модели с более широкими знаниями о мире, значительно большим окном контекста и лучшей способностью справляться со сложными задачами. В таком случае можно перейти от модели, работающей на устройстве, к облачной модели.
А если вы хотите получить преимущества обоих подходов, можно использовать гибридный инференс и динамически выбирать облачную или локальную модель во время выполнения. Это позволяет снижать расходы, перенося инференс на устройство там, где это возможно, и одновременно поддерживать все Android-устройства, на которых запускается приложение.
В Jetpacker мы реализовали несколько функций с использованием облачного или гибридного инференса:
- Функция вопросов и ответов о местах отвечает на вопросы пользователя о конкретных локациях, опираясь на реальные данные. Она использует Firebase AI Logic с интеграцией Google Maps и веб-контекста. Здесь облачная модель необходима из-за более широких знаний о мире.
- Функция создания отзывов помогает пользователям писать подробные отзывы о местах, которые они посетили. Она использует и локальные, и облачные модели через новый гибридный API Firebase AI Logic. Мы хотели сделать эту функцию доступной всем пользователям приложения, поэтому используем облачную модель как резервный вариант, когда локальная модель недоступна.
- Автоматический перевод чата динамически переводит сообщения в реальном времени, обеспечивая удобное общение. Эта функция демонстрирует пользовательскую логику гибридного инференса. Мы снова хотим, чтобы она была доступна всем пользователям, но при этом учитываем особые условия выбора между локальной и облачной моделью.
Системная интеграция
Хотя эта возможность не видна непосредственно внутри приложения, интеграция с Android-системой открывает основные функции приложения напрямую для операционной системы Android. Она использует AppFunctions API для интеграции с системным интеллектом.
Агентные сценарии внутри приложения

Ассистент бронирования показывает несколько незавершённых бронирований авиабилетов и запрашивает у пользователя ввод перед финальным оформлением.
Агентность добавляет более высокий уровень автономности и позволяет моделям действовать как агенты. Вместо одного вызова инференса агент движется к заданной цели через цикл оркестрации, в котором он может рассуждать, использовать инструменты и адаптировать свой путь. В зависимости от требований такие интеллектуальные агенты могут работать в облаке, непосредственно на устройстве или в гибридной конфигурации.
Для Jetpacker мы добавили ассистента бронирования, который автоматизирует сквозные сценарии бронирования прямо внутри приложения, упрощая оформление заказов. Он построен с использованием A2UI и ADK, работающих в облаке. Android-приложение выступает клиентской частью для многоагентной системы, запущенной в облаке.
Узнать больше
Посмотрите другие части этой серии публикаций.
Часть 1: введение в приложение и общий обзор.
Часть 2: интеллект на устройстве. Подробный разбор GenAI API из ML Kit и Gemini Nano для создания функций с приоритетом приватности: краткого изложения маршрутов, разбора чеков и локальной обработки аудио.
Часть 3: гибридное и облачное рассуждение. Разбор использования Firebase AI Logic для привязки ответов больших языковых моделей к реальным данным, таким как Google Maps и веб-контекст.
Часть 4: системная интеграция. Интеграция с интеллектуальными возможностями Android через AppFunctions.
Часть 5: агентные сценарии внутри приложения. Расширение приложения сквозным ассистентом бронирования на базе A2UI и ADK.
Если вам интересна Android-разработка, следите за Android Developers на YouTube или LinkedIn.
