Agent AI usługi Statystyki dla Zarządców Dróg

Cel

Agent ADK Statystyk dla Zarządców Dróg (RMI) udostępnia interfejs w języku naturalnym do wykonywania zapytań i analizowania danych RMI przechowywanych w Google BigQuery. Dzięki wykorzystaniu pakietu Agent Development Kit (ADK) od Google i dużych modeli językowych Gemini umożliwia użytkownikom wyodrębnianie przydatnych informacji z dużych zbiorów danych o sieciach drogowych i ruchu drogowym bez ręcznego pisania złożonych zapytań SQL.

Architektura referencyjna

Architektura składa się z hierarchicznego systemu agentów, w którym agent główny planuje interakcje z użytkownikiem i nimi zarządza, delegując konkretne zadania związane z pobieraniem danych i generowaniem kodu SQL do wyspecjalizowanego subagenta.

Schemat architektury agenta RMI

Komponenty

1. Agent RMI (agent główny)

  • Rola: główny interfejs konwersacyjny i aranżer zadań.
  • Obowiązki:
    • Utrzymuje kontekst rozmowy wieloetapowej.
    • Rozkłada żądania w języku naturalnym na zadania analityczne, które można wykonać.
    • Przekazuje zadania pobierania danych strukturalnych do agenta BigQuery.
    • Syntetyzuje nieprzetworzone dane tabelaryczne zwrócone przez podagenta w zwięzłe, zrozumiałe dla człowieka statystyki.

2. Agent BigQuery (podagent)

  • Rola: wyspecjalizowany agent do tłumaczenia SQL i wykonywania instrukcji w bazie danych.
  • Obowiązki:
    • Tłumaczy instrukcje w języku naturalnym od agenta głównego na zoptymalizowane zapytania BigQuery SQL.
    • wykonuje zapytania bezpośrednio w skonfigurowanym zbiorze danych BigQuery;
    • Zwraca do agenta głównego nieprzetworzone wyniki zapytania.

3. Zbiór danych BigQuery

  • Rola: natywna dla chmury analityczna hurtownia danych.
  • Treści: tabele Statystyki dla Zarządców Dróg (RMI), w tym historical_travel_time i recent_roads_data, uporządkowane zgodnie ze schematem RMI BigQuery.

4. Generatywna AI od Google

  • Rola: podstawowy silnik rozumowania i generowania języka.
  • Model: wykorzystuje modele Google Gemini (np. gemini-3.5-flash) do zarządzania agentami, rozumienia języka naturalnego i generowania kodu SQL.

Przebieg wykonania

  1. Zapytanie użytkownika: użytkownik przesyła pytanie w języku naturalnym (np. „Jaki był wczoraj średni czas podróży na trasie 66?”).
  2. Planowanie i koordynacja: agent RMI otrzymuje prośbę, stwierdza, że potrzebne są empiryczne dane o ruchu, i formułuje konkretną instrukcję pobierania dla subagenta.
  3. Delegowanie: agent RMI wywołuje agenta BigQuery za pomocą instrukcji strukturalnej i odpowiednich ograniczeń czasowych lub przestrzennych.
  4. Generowanie SQL: agent BigQuery, wykorzystując swoją wiedzę o schemacie RMI, generuje zoptymalizowane zapytanie SQL w BigQuery.
  5. Wykonanie i pobieranie danych: agent BigQuery wykonuje zapytanie w odniesieniu do bazowego zbioru danych BigQuery i pobiera wynikowe rekordy tabelaryczne.
  6. Synteza odpowiedzi: agent BigQuery zwraca niezmienione surowe dane do agenta RMI, który interpretuje wyniki, rozwiązuje problemy z brakującymi identyfikatorami dróg i tworzy jasną odpowiedź w języku naturalnym dla użytkownika.

Przykładowy scenariusz

Wyzwanie

Planista miejski musi ocenić natężenie ruchu na drogach w aglomeracji, aby określić, czy w godzinach szczytu wieczornego dojazdu do pracy należy dostosować czas trwania sygnalizacji świetlnej.

Przepływ pracy rozwiązania

  1. Zapytanie użytkownika: planer wchodzi w interakcję z agentem za pomocą interfejsu wiersza poleceń lub interfejsu internetowego, zadając pytanie:

    „Wskaż 5 najbardziej zatłoczonych tras w centrum Bostonu w piątek o 17:00”.

  2. Przetwarzanie przez agenta:

    • Agent RMI analizuje żądanie. Określa lokalizację docelową („centrum Bostonu”), przedział czasowy („ostatni piątek o godzinie 17:00”) i cel analityczny („5 najbardziej zatłoczonych tras”). Określa, że „korki” należy mierzyć jako stosunek czasu trwania podróży w czasie rzeczywistym do czasu trwania statycznego (duration_in_seconds / static_duration_in_seconds).
    • Przekazuje pobieranie danych do agenta BigQuery za pomocą instrukcji strukturalnej:

      „Znajdź odcinki dróg w centrum Bostonu i zwróć 5 najbardziej zatłoczonych w piątek 9 stycznia 2026 r. o godzinie 17:00”.

  3. Pobieranie danych:

    • Agent BigQuery tłumaczy tę instrukcję na zapytanie SQL kierowane do tabeli historical_travel_time, obliczając współczynnik zatłoczenia i porządkując wyniki, aby zidentyfikować 5 najbardziej zatłoczonych odcinków.
    • Wykonuje zapytanie w BigQuery.
    • BigQuery zwraca surowe wyniki w formie tabeli, np. (segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio).
  4. Generowanie statystyk:

    • Agent BigQuery przekazuje surową listę segmentów z powrotem do agenta RMI.
    • Agent RMI analizuje rekordy, obsługuje odcinki dróg, w których brakuje wyświetlanych nazw lub odwołań zawierających tylko identyfikatory, i syntetyzuje dane w podsumowaniu.
    • Agent tworzy ostateczną odpowiedź:

      „W piątek 9 stycznia 2026 r. o godzinie 17:00 na najbardziej zatłoczonych trasach w centrum Bostonu czas przejazdu był znacznie dłuższy niż zwykle. Oto 5 najbardziej zatłoczonych odcinków dróg na podstawie stosunku czasu trwania podróży z uwzględnieniem ruchu do czasu trwania statycznego: Route roads/CgkJZ-tTXuNcW4s: to najbardziej zatłoczony odcinek drogi.Czas podróży wynosił 66 sekund, a czas trwania statyczny to tylko 6 sekund (stosunek zatłoczenia wynosi 11,0x)..."

Przykładowy czat z agentem RMI

Podsumowanie

Dzięki oddzieleniu interakcji konwersacyjnej i syntezy narracji od generowania kodu SQL niskiego poziomu i pobierania danych hierarchiczna architektura agenta RMI ADK wypełnia lukę między złożonymi hurtowniami danych geoprzestrzennych a użytkownikami. Odizolowanie wykonywania bazy danych w ramach wyspecjalizowanego podagenta zwiększa modułowość, łatwość konserwacji i bezpieczeństwo operacyjne, a jednocześnie umożliwia osobom podejmującym decyzje szybkie wyodrębnianie weryfikowalnych informacji za pomocą języka naturalnego.

Dalsze kroki

  • Dostosuj do swojego przypadku użycia: dostosuj tę architekturę wielu agentów i projekt promptów do konkretnych przypadków użycia związanych z przestrzenią geograficzną lub organizacją.
  • Rozszerzanie za pomocą wyspecjalizowanych agentów planujących: włącz dedykowanego agenta planującego, aby aranżować złożone, wieloetapowe przepływy pracy analitycznej.
  • Integracja wielomodowych źródeł danych: wzbogacaj informacje o zarządzaniu ruchem i drogami, łącząc dane RMI z dodatkowymi warstwami przestrzennymi, takimi jak zdarzenia pogodowe, harmonogramy budowy czy aktualne informacje o incydentach.
  • Wdrażanie w środowisku produkcyjnym: przenieś agenta z prototypu do środowiska produkcyjnego w firmie, korzystając z przewodnika po rejestrowaniu agentów ADK hostowanych na platformie Gemini Enterprise Agent Platform i zarządzaniu nimi.

Współtwórcy

Kel Markert | Cloud Geographer