Agente de IA de Roads Management Insights

Objetivo

El agente del ADK de Roads Management Insights (RMI) proporciona una interfaz de lenguaje natural para consultar y analizar los datos de RMI almacenados en Google BigQuery. Al aprovechar el Agent Development Kit (ADK) de Google y los modelos de lenguaje grandes de Gemini, permite a los usuarios extraer estadísticas prácticas de conjuntos de datos de tráfico y redes viales a gran escala sin tener que escribir manualmente consultas en SQL complejas.

Arquitectura de referencia

La arquitectura consta de un sistema de agentes jerárquico en el que un agente raíz planifica y organiza las interacciones del usuario, y delega tareas específicas de recuperación de datos y generación de SQL a un agente secundario especializado.

Diagrama de arquitectura del agente de RMI

Componentes

1. Agente de RMI (agente raíz)

  • Rol: Es la interfaz conversacional principal y el organizador de tareas.
  • Responsabilidades:
    • Mantiene el contexto de conversaciones de varios turnos.
    • Descompone las solicitudes en lenguaje natural en tareas analíticas prácticas.
    • Delega tareas de recuperación de datos estructurados al agente de BigQuery.
    • Sintetiza los datos tabulares sin procesar que devuelve el subagente en estadísticas concisas y legibles por humanos.

2. Agente de BigQuery (subagente)

  • Rol: Agente especializado en la traducción de SQL y la ejecución de bases de datos.
  • Responsabilidades:
    • Traduce las instrucciones en lenguaje natural del agente raíz a consultas de BigQuery SQL optimizadas.
    • Ejecuta consultas directamente en el conjunto de datos de BigQuery configurado.
    • Devuelve los resultados de la búsqueda sin procesar y sin modificar al agente raíz.

3. Conjunto de datos de BigQuery

  • Rol: Almacén de datos de estadísticas nativo de la nube.
  • Contenido: Tablas de Datos para Administración vial (RMI), incluidas historical_travel_time y recent_roads_data, estructuradas según el esquema de BigQuery de RMI.

4. IA generativa de Google

  • Rol: Motor principal de razonamiento y generación de lenguaje.
  • Modelo: Aprovecha los modelos de Google Gemini (p.ej., gemini-3.5-flash) para potenciar la organización de agentes, la comprensión del lenguaje natural y la generación de SQL.

Flujo de ejecución

  1. Solicitud del usuario: El usuario envía una pregunta en lenguaje natural (p.ej., "¿Cuál fue el tiempo de viaje promedio en la ruta 66 ayer?").
  2. Planificación y organización: El agente de RMI recibe la solicitud, identifica que se requieren datos de tráfico empíricos y formula una instrucción de recuperación específica para el subagente.
  3. Delegación: El agente de RMI invoca al agente de BigQuery con la instrucción estructurada y las restricciones temporales o espaciales pertinentes.
  4. Generación de SQL: Aprovechando su comprensión del esquema de la RMI, el Agente de BigQuery genera una consulta en SQL de BigQuery optimizada.
  5. Ejecución y recuperación de datos: El agente de BigQuery ejecuta la consulta en el conjunto de datos subyacente de BigQuery y recupera los registros tabulares resultantes.
  6. Síntesis de respuestas: El Agente de BigQuery devuelve los datos sin procesar sin modificar al Agente de RMI, que interpreta los resultados, resuelve los identificadores de rutas faltantes y construye una respuesta clara en lenguaje natural para el usuario.

Situación de ejemplo

El desafío

Un planificador urbano necesita evaluar la congestión del tráfico en una red vial metropolitana para determinar si los tiempos de los semáforos requieren ajustes durante las horas pico de la tarde.

Flujo de trabajo de la solución

  1. Consulta del usuario: El planificador interactúa con el agente a través de la CLI o la IU web y le pregunta lo siguiente:

    "Identifica las 5 rutas más congestionadas del centro de Boston el viernes pasado a las 5 p.m."

  2. Procesamiento del agente:

    • El agente de RMI analiza la solicitud. Identifica la ubicación objetivo ("centro de Boston"), el período ("el viernes pasado a las 5 p.m.") y el objetivo analítico ("las 5 rutas con mayor congestión"). Determina que la "congestión" se debe medir como la proporción entre la duración del viaje en tiempo real y la duración estática (duration_in_seconds / static_duration_in_seconds).
    • Delega la recuperación de datos al agente de BigQuery con una instrucción estructurada:

      "Encuentra tramos de ruta en el centro de Boston y muestra los 5 con el mayor índice de congestión para el viernes 9 de enero de 2026 a las 5:00 p.m."

  3. Recuperación de datos:

    • El agente de BigQuery traduce esta instrucción en una consulta en SQL que tiene como objetivo la tabla historical_travel_time, calcula el índice de congestión y ordena los resultados para identificar los 5 tramos principales.
    • Ejecuta la consulta en BigQuery.
    • BigQuery devuelve resultados tabulares sin procesar, como (segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio).
  4. Generación de estadísticas:

    • El agente de BigQuery pasa la lista sin procesar de segmentos al agente de RMI.
    • El agente de RMI analiza los registros, controla los tramos de ruta con nombres visibles faltantes o referencias solo de identificadores, y sintetiza los datos en un resumen ejecutivo.
    • El agente construye la respuesta final:

      "El viernes 9 de enero de 2026, a las 5:00 p.m., las rutas más congestionadas del centro de Boston experimentaron tiempos de viaje significativamente más altos que sus duraciones estáticas típicas. Estos son los 5 tramos más congestionados según la proporción entre la duración que tiene en cuenta el tráfico y la duración estática: Route roads/CgkJZ-tTXuNcW4s: Este fue el tramo más congestionado, con un tiempo de viaje de 66 segundos en comparación con una duración estática de solo 6 segundos (una proporción de congestión de 11.0 veces)…".

Ejemplo de chat del agente de RMI

Conclusión

Al desacoplar la interacción conversacional y la síntesis narrativa de la generación de SQL de bajo nivel y la recuperación de datos, la arquitectura jerárquica del agente del ADK de RMI cierra la brecha entre los almacenes de datos geoespaciales complejos y los usuarios finales. Aislar la ejecución de la base de datos dentro de un agente secundario especializado promueve la modularidad, la capacidad de mantenimiento y la seguridad operativa, a la vez que permite que los responsables de la toma de decisiones extraigan rápidamente estadísticas verificables a través del lenguaje natural.

Próximos pasos

  • Personaliza tu caso de uso: Adapta esta arquitectura multiagente y el diseño de instrucciones a tus casos de uso geoespaciales u organizacionales específicos.
  • Extiende con agentes de planificación especializados: Incorpora un agente de planificación dedicado para organizar flujos de trabajo analíticos complejos de varios pasos.
  • Integrar fuentes de datos multimodales: Enriquecer las estadísticas de administración de tráfico y rutas combinando los datos de RMI con capas espaciales adicionales, como eventos climáticos, programas de construcción o feeds de incidentes en vivo
  • Implementa en producción: Realiza la transición de tu agente desde el prototipo a un entorno empresarial de producción siguiendo la guía para registrar y administrar agentes del ADK alojados en Gemini Enterprise Agent Platform.

Colaboradores

Kel Markert | Geógrafo de Cloud