Agent d'IA Insights de gestion des routes

Objectif

L'agent ADK Insights de gestion des routes (RMI) fournit une interface en langage naturel pour interroger et analyser les données RMI stockées dans Google BigQuery. En s'appuyant sur le kit de développement d'agents (ADK) de Google et les grands modèles de langage Gemini, il permet aux utilisateurs d'extraire des insights exploitables à partir d'ensembles de données volumineux sur le réseau routier et le trafic, sans avoir à écrire manuellement des requêtes SQL complexes.

Architecture de référence

L'architecture se compose d'un système d'agents hiérarchique dans lequel un agent racine planifie et orchestre les interactions utilisateur, en déléguant des tâches spécifiques de récupération de données et de génération de code SQL à un sous-agent spécialisé.

Schéma de l'architecture de l'agent RMI

Composants

1. Agent RMI (agent racine)

  • Rôle : interface conversationnelle principale et orchestrateur de tâches.
  • Responsabilités :
    • Maintient le contexte des conversations multitours.
    • Décompose les requêtes en langage naturel en tâches analytiques exploitables.
    • Délègue les tâches de récupération de données structurées à l'agent BigQuery.
    • Synthétise les données tabulaires brutes renvoyées par le sous-agent en insights concis et lisibles par l'humain.

2. Agent BigQuery (sous-agent)

  • Rôle : agent spécialisé dans la traduction SQL et l'exécution de bases de données.
  • Responsabilités :
    • Traduit les instructions en langage naturel de l'agent racine en requêtes SQL BigQuery optimisées.
    • Exécute des requêtes directement sur l'ensemble de données BigQuery configuré.
    • renvoie les résultats bruts et non modifiés de la requête à l'agent racine.

3. Ensemble de données BigQuery

  • Rôle : entrepôt de données analytiques cloud natif.
  • Contenu : tables Insights de gestion des routes (RMI), y compris historical_travel_time et recent_roads_data, structurées selon le schéma RMI BigQuery.

4. Google GenAI

  • Rôle : moteur principal de raisonnement et de génération de langage.
  • Modèle : utilise les modèles Google Gemini (par exemple, gemini-3.5-flash) pour l'orchestration des agents, la compréhension du langage naturel et la génération de code SQL.

Flux d'exécution

  1. Requête utilisateur : l'utilisateur envoie une question en langage naturel (par exemple, "Quelle était la durée moyenne du trajet sur la Route 66 hier ?").
  2. Planification et orchestration : l'agent RMI reçoit la demande, identifie que des données sur le trafic empiriques sont nécessaires et formule une instruction de récupération spécifique pour le sous-agent.
  3. Délégation : l'agent RMI appelle l'agent BigQuery avec l'instruction structurée et les contraintes temporelles ou spatiales pertinentes.
  4. Génération de code SQL : en s'appuyant sur sa compréhension du schéma RMI, l'agent BigQuery génère une requête SQL BigQuery optimisée.
  5. Exécution et récupération des données : l'agent BigQuery exécute la requête sur l'ensemble de données BigQuery sous-jacent et récupère les enregistrements tabulaires obtenus.
  6. Synthèse des réponses : l'agent BigQuery renvoie les données brutes non modifiées à l'agent RMI, qui interprète les résultats, résout les identifiants de route manquants et construit une réponse claire en langage naturel pour l'utilisateur.

Exemple de scénario

Le défi

Un urbaniste doit évaluer les embouteillages sur un réseau routier métropolitain pour déterminer si les horaires des feux de circulation doivent être ajustés pendant les heures de pointe du soir.

Workflow de la solution

  1. Requête utilisateur : le planificateur interagit avec l'agent à l'aide de la CLI ou de l'interface utilisateur Web, en demandant :

    "Identifie les cinq itinéraires les plus encombrés du centre-ville de Boston vendredi dernier à 17h."

  2. Traitement par l'agent :

    • L'agent RMI analyse la requête. Il identifie la zone cible ("centre-ville de Boston"), la période ("vendredi dernier à 17h") et l'objectif analytique ("les cinq itinéraires les plus embouteillés"). Il détermine que la "congestion" doit être mesurée comme le ratio entre la durée du trajet en temps réel et la durée statique (duration_in_seconds/static_duration_in_seconds).
    • Il délègue la récupération des données à l'agent BigQuery avec une instruction structurée :

      "Trouve les sections de route du centre-ville de Boston et renvoie les cinq premières avec le taux de congestion le plus élevé pour le vendredi 9 janvier 2026 à 17h."

  3. Récupération des données :

    • L'agent BigQuery traduit cette instruction en requête SQL ciblant la table historical_travel_time, en calculant le ratio de congestion et en ordonnant les résultats pour identifier les cinq premiers segments.
    • Elle exécute la requête sur BigQuery.
    • BigQuery renvoie des résultats tabulaires bruts, tels que (segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio).
  4. Génération d'insights :

    • L'agent BigQuery renvoie la liste brute des segments à l'agent RMI.
    • L'agent RMI analyse les enregistrements, gère les sections de route dont le nom à afficher ou les références d'identifiant sont manquants, et synthétise les données dans un résumé.
    • L'agent construit la réponse finale :

      "Le vendredi 9 janvier 2026 à 17h, les itinéraires les plus encombrés du centre-ville de Boston ont enregistré des temps de trajet nettement plus longs que leur durée statique habituelle. Voici les cinq segments les plus embouteillés, selon le rapport entre la durée tenant compte du trafic et la durée statique : Route roads/CgkJZ-tTXuNcW4s : il s'agit du segment le plus embouteillé, avec un temps de trajet de 66 secondes par rapport à une durée statique de seulement 6 secondes (un ratio d'embouteillage de 11,0x)…"

Exemple de chat avec un agent RMI

Conclusion

En dissociant l'interaction conversationnelle et la synthèse narrative de la génération SQL de bas niveau et de la récupération de données, l'architecture d'agent ADK RMI hiérarchique comble le fossé entre les entrepôts de données géospatiales complexes et les utilisateurs finaux. L'isolation de l'exécution de la base de données dans un sous-agent spécialisé favorise la modularité, la maintenabilité et la sécurité opérationnelle, tout en permettant aux décideurs d'extraire rapidement des insights vérifiables en langage naturel.

Étapes suivantes

  • Personnalisez-la pour votre cas d'utilisation : adaptez cette architecture multi-agents et cette conception d'invite à vos cas d'utilisation géospatiaux ou organisationnels spécifiques.
  • Étendre avec des agents de planification spécialisés : intégrez un agent de planification dédié pour orchestrer des workflows analytiques complexes en plusieurs étapes.
  • Intégrer des sources de données multimodales : enrichissez les insights sur la gestion du trafic et des routes en combinant les données RMI avec des couches spatiales supplémentaires telles que les événements météorologiques, les plannings de travaux ou les flux d'incidents en direct.
  • Déployer en production : faites passer votre agent du prototype à un environnement de production d'entreprise en suivant le guide pour enregistrer et gérer les agents ADK hébergés sur Gemini Enterprise Agent Platform.

Contributeurs

Kel Markert | Géographe cloud