Цель
Агент Roads Management Insights (RMI) ADK предоставляет интерфейс на естественном языке для запросов и анализа данных RMI, хранящихся в Google BigQuery. Используя комплект разработки агентов Google (ADK) и большие языковые модели Gemini, он позволяет пользователям извлекать полезную информацию из больших наборов данных о дорожной сети и трафике без необходимости вручную писать сложные SQL-запросы.
Эталонная архитектура
Архитектура представляет собой иерархическую систему агентов, где корневой агент планирует и координирует взаимодействие с пользователем, делегируя конкретные задачи по извлечению данных и генерации SQL-запросов специализированному субагенту.

Компоненты
1. Агент RMI (Корневой агент)
- Роль : Основной участник диалогового взаимодействия и координатор задач.
- Обязанности :
- Поддерживает контекст многоходового диалога.
- Преобразует запросы на естественном языке в практические аналитические задачи.
- Делегирует задачи по извлечению структурированных данных агенту BigQuery.
- Обобщает необработанные табличные данные, возвращаемые субагентом, в краткие, удобочитаемые выводы.
2. Агент BigQuery (суб-агент)
- Должность : Специализированный агент по переводу SQL-запросов и выполнению операций с базой данных.
- Обязанности :
- Преобразует инструкции на естественном языке от корневого агента в оптимизированные SQL-запросы BigQuery.
- Выполняет запросы непосредственно к настроенному набору данных BigQuery.
- Возвращает необработанные, неизмененные результаты запроса корневому агенту.
3. Набор данных BigQuery
- Роль : Разработка облачного аналитического хранилища данных.
- Содержание : Таблицы Roads Management Insights (RMI), включая
historical_travel_timeиrecent_roads_data, структурированные в соответствии со схемой RMI BigQuery.
4. Google GenAI
- Роль : Основной механизм логического мышления и генерации языка.
- Модель : Использует модели Google Gemini (например,
gemini-3.5-flash) для управления работой агентов, понимания естественного языка и генерации SQL-запросов.
Последовательность выполнения
- Запрос пользователя : Пользователь задает вопрос на естественном языке (например, «Каково было среднее время в пути по трассе 66 вчера?» ).
- Планирование и координация : Агент RMI получает запрос, определяет необходимость получения эмпирических данных о трафике и формулирует конкретную инструкцию по их получению для субагента.
- Делегирование : Агент RMI вызывает агент BigQuery , передавая ему структурированную инструкцию и соответствующие временные или пространственные ограничения.
- Генерация SQL-запроса : Используя свои знания схемы RMI, агент BigQuery генерирует оптимизированный SQL-запрос BigQuery.
- Выполнение и извлечение данных : Агент BigQuery выполняет запрос к базовому набору данных BigQuery и извлекает полученные табличные записи.
- Синтез ответа : Агент BigQuery возвращает неизмененные исходные данные агенту RMI , который интерпретирует результаты, устраняет недостающие идентификаторы дорог и формирует понятный ответ на естественном языке для пользователя.
Пример сценария
Вызов
Градостроителю необходимо оценить загруженность дорожной сети мегаполиса, чтобы определить, требуется ли корректировка времени работы светофоров в часы пик вечернего движения транспорта.
Рабочий процесс решения
Запрос пользователя : Планировщик взаимодействует с агентом, используя интерфейс командной строки или веб-интерфейс, задавая следующий вопрос:
«Определите 5 самых загруженных маршрутов в центре Бостона в прошлую пятницу в 17:00».
Обработка агентов :
- Агент RMI анализирует запрос. Он определяет целевое местоположение («центр Бостона»), временной интервал («прошлая пятница в 17:00») и аналитическую цель («5 самых загруженных маршрутов»). Он определяет, что «загруженность» следует измерять как отношение продолжительности поездки в реальном времени к продолжительности в статическом режиме (
duration_in_seconds/static_duration_in_seconds). Он делегирует извлечение данных агенту BigQuery с помощью структурированной инструкции:
«Найдите участки дорог в центре Бостона и предоставьте список из 5 участков с самым высоким коэффициентом загруженности на пятницу, 9 января 2026 года, в 17:00».
- Агент RMI анализирует запрос. Он определяет целевое местоположение («центр Бостона»), временной интервал («прошлая пятница в 17:00») и аналитическую цель («5 самых загруженных маршрутов»). Он определяет, что «загруженность» следует измерять как отношение продолжительности поездки в реальном времени к продолжительности в статическом режиме (
Извлечение данных :
- Агент BigQuery преобразует эту инструкцию в SQL-запрос, нацеленный на таблицу
historical_travel_time, вычисляет коэффициент загруженности и упорядочивает результаты для определения 5 наиболее загруженных сегментов. - Он выполняет запрос к BigQuery.
- BigQuery возвращает необработанные табличные результаты, такие как
(segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio).
- Агент BigQuery преобразует эту инструкцию в SQL-запрос, нацеленный на таблицу
Генерация аналитических выводов :
- Агент BigQuery передает необработанный список сегментов обратно агенту RMI .
- Агент RMI анализирует записи, обрабатывает участки дорог с отсутствующими отображаемыми названиями или ссылками только на идентификаторы и обобщает данные в сводную информацию для руководства.
Агент формирует окончательный ответ:
«В пятницу, 9 января 2026 года, в 17:00 на самых загруженных участках дорог в центре Бостона время в пути было значительно больше, чем обычно. Вот 5 самых загруженных участков, исходя из соотношения времени в пути с учетом дорожной ситуации и времени в статическом режиме: Route roads/CgkJZ-tTXuNcW4s: Это был самый загруженный участок, время в пути составило 66 секунд по сравнению с 6 секундами в статическом режиме (коэффициент загруженности 11,0x)...»

Заключение
Благодаря разделению диалогового взаимодействия и синтеза повествования от генерации низкоуровневых SQL-запросов и извлечения данных, иерархическая архитектура RMI ADK Agent устраняет разрыв между сложными хранилищами геопространственных данных и конечными пользователями. Изоляция выполнения базы данных в рамках специализированного субагента способствует модульности, удобству сопровождения и операционной безопасности, позволяя лицам, принимающим решения, быстро извлекать проверяемые данные с помощью естественного языка.
Следующие шаги
- Настройте под свои нужды : адаптируйте эту многоагентную архитектуру и дизайн подсказок к вашим конкретным геопространственным или организационным задачам.
- Расширьте возможности с помощью специализированных агентов-планировщиков : интегрируйте выделенного агента-планировщика для организации сложных многоэтапных аналитических рабочих процессов.
- Интеграция мультимодальных источников данных : обогатите аналитические данные по управлению дорожным движением и дорогами, объединив данные RMI с дополнительными пространственными слоями, такими как погодные явления, графики строительства или данные о происшествиях в режиме реального времени.
- Развертывание в производственной среде : Переведите свой агент из прототипа в производственную корпоративную среду, следуя руководству по регистрации и управлению агентами ADK, размещенными на платформе Gemini Enterprise Agent Platform .
Авторы
Кел Маркерт | Географ облаков