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.
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_timeirecent_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
- Zapytanie użytkownika: użytkownik przesyła pytanie w języku naturalnym (np. „Jaki był wczoraj średni czas podróży na trasie 66?”).
- Planowanie i koordynacja: agent RMI otrzymuje prośbę, stwierdza, że potrzebne są empiryczne dane o ruchu, i formułuje konkretną instrukcję pobierania dla subagenta.
- Delegowanie: agent RMI wywołuje agenta BigQuery za pomocą instrukcji strukturalnej i odpowiednich ograniczeń czasowych lub przestrzennych.
- Generowanie SQL: agent BigQuery, wykorzystując swoją wiedzę o schemacie RMI, generuje zoptymalizowane zapytanie SQL w BigQuery.
- Wykonanie i pobieranie danych: agent BigQuery wykonuje zapytanie w odniesieniu do bazowego zbioru danych BigQuery i pobiera wynikowe rekordy tabelaryczne.
- 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
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”.
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”.
- 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 (
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).
- Agent BigQuery tłumaczy tę instrukcję na zapytanie SQL kierowane do tabeli
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)..."
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