Cel
Agent ADK Statystyk dla Zarządców Dróg (RMI) udostępnia interfejs w języku naturalnym do wysyłania zapytań i analizowania danych RMI przechowywanych w Google BigQuery. Dzięki wykorzystaniu pakietu Agent Development Kit (ADK) Google i dużych modeli językowych Gemini umożliwia użytkownikom wyodrębnianie przydatnych statystyk z dużych zbiorów danych o sieci dróg i ruchu 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 i koordynuje interakcje z użytkownikiem, delegując konkretne zadania pobierania danych i generowania kodu SQL do wyspecjalizowanego podagenta.
Komponenty
1. Agent RMI (agent główny)
- Rola: główny interfejs konwersacyjny i koordynator zadań.
- Obowiązki:
- Utrzymuje kontekst rozmowy wieloetapowej.
- Rozkłada żądania w języku naturalnym na zadania analityczne.
- Deleguje zadania pobierania uporządkowanych danych do agenta BigQuery.
- Syntetyzuje nieprzetworzone dane w formie tabeli zwrócone przez sub-agenta w zwięzłe, zrozumiałe dla człowieka obserwacje.
2. Agent BigQuery (podagent)
- Rola: wyspecjalizowany agent tłumaczenia kodu SQL i wykonywania zapytań w bazie danych.
- Obowiązki:
- Tłumaczy instrukcje w języku naturalnym od agenta głównego na zoptymalizowane zapytania SQL BigQuery.
- Wykonuje zapytania bezpośrednio w skonfigurowanym zbiorze danych BigQuery.
- Zwraca nieprzetworzone, niezmienione wyniki zapytań do agenta głównego.
3. Zbiór danych BigQuery
- Rola: natywna dla chmury hurtownia danych analitycznych.
- Zawartość: tabele Statystyki dla Zarządców Dróg (RMI), w tym
historical_travel_timeirecent_roads_data, uporządkowane zgodnie z e schematem RMI BigQuery.
4. Google GenAI
- Rola: podstawowy silnik rozumowania i generowania języka.
- Model: wykorzystuje modele Google Gemini (np.
gemini-3.5-flash) do obsługi koordynacji agentów, rozumienia języka naturalnego i generowania kodu SQL .
Przebieg wykonania
- Żądanie użytkownika: użytkownik przesyła pytanie w języku naturalnym (np. "Jaki był średni czas podróży na trasie 66 wczoraj?").
- Planowanie i koordynacja: agent RMI otrzymuje żądanie, stwierdza, że wymagane są empiryczne dane o ruchu, i formułuje konkretną instrukcję pobierania dla sub-agenta.
- Delegowanie: agent RMI wywołuje agenta BigQuery z uporządkowaną instrukcją i odpowiednimi ograniczeniami czasowymi lub przestrzennymi.
- Generowanie kodu SQL: agent BigQuery generuje zoptymalizowane zapytanie SQL BigQuery, wykorzystując swoją wiedzę o schemacie RMI.
- Wykonanie i pobieranie danych: agent BigQuery wykonuje zapytanie w bazowym zbiorze danych BigQuery i pobiera wynikowe rekordy tabelaryczne.
- Synteza odpowiedzi: agent BigQuery zwraca nieprzetworzone dane do agenta RMI, który interpretuje wyniki, rozwiązuje brakujące identyfikatory dróg i tworzy jasną odpowiedź w języku naturalnym dla użytkownika.
Przykładowy scenariusz
Wyzwanie
Planista miejski musi ocenić natężenie ruchu w sieci dróg metropolii, aby określić, czy w godzinach szczytu wieczornego dojazdu do pracy należy dostosować czasy sygnalizacji świetlnej.
Przebieg rozwiązania
Zapytanie użytkownika: planista wchodzi w interakcję z agentem za pomocą interfejsu CLI 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”), okno czasowe („ostatni piątek o 17:00”) i cel analityczny („5 najbardziej zatłoczonych tras”). Określa, że
„natężenie ruchu” należy mierzyć jako stosunek czasu podróży w czasie rzeczywistym
do czasu statycznego (
duration_in_seconds/static_duration_in_seconds). Deleguje pobieranie danych do agenta BigQuery z uporządkowaną instrukcją:
„Znajdź odcinki dróg w centrum Bostonu i zwróć 5 najbardziej zatłoczonych w piątek 9 stycznia 2026 r. o 17:00.”
- Agent RMI analizuje żądanie. Określa lokalizację docelową („centrum Bostonu”), okno czasowe („ostatni piątek o 17:00”) i cel analityczny („5 najbardziej zatłoczonych tras”). Określa, że
„natężenie ruchu” należy mierzyć jako stosunek czasu podróży w czasie rzeczywistym
do czasu statycznego (
Pobieranie danych:
- Agent BigQuery tłumaczy tę instrukcję na zapytanie SQL kierowane do tabeli
historical_travel_time, obliczając współczynnik natężenia ruchu i porządkując wyniki, aby zidentyfikować 5 najlepszych segmentów. - Wykonuje zapytanie w BigQuery.
- BigQuery zwraca nieprzetworzone wyniki tabelaryczne, takie jak
(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 nieprzetworzoną listę segmentów z powrotem do agenta RMI.
- Agent RMI analizuje rekordy, obsługuje odcinki dróg z brakującymi nazwami wyświetlanymi lub odwołaniami tylko do identyfikatorów i syntetyzuje dane w podsumowanie.
Agent tworzy ostateczną odpowiedź:
„W piątek 9 stycznia 2026 r. o 17:00 najbardziej zatłoczone trasy w centrum Bostonu miały znacznie dłuższy czas podróży niż typowy czas statyczny. Oto 5 najbardziej zatłoczonych odcinków na podstawie stosunku czasu podróży uwzględniającego natężenie ruchu do czasu statycznego: Route roads/CgkJZ-tTXuNcW4s: był to najbardziej zatłoczony odcinek, z czasem podróży wynoszącym 66 sekund w porównaniu z czasem statycznym wynoszącym zaledwie 6 sekund (współczynnik natężenia ruchu 11,0x)...”
Podsumowanie
Dzięki oddzieleniu interakcji konwersacyjnej i syntezy narracji od generowania kodu SQL i pobierania danych na niskim poziomie hierarchiczna architektura agenta RMI ADK wypełnia lukę między złożonymi hurtowniami danych geoprzestrzennych a użytkownikami. Izolowanie wykonywania zapytań w bazie danych w wyspecjalizowanym sub-agencie sprzyja modułowości, łatwości konserwacji i bezpieczeństwu operacyjnemu, a jednocześnie umożliwia osobom podejmującym decyzje szybkie wyodrębnianie weryfikowalnych statystyk za pomocą języka naturalnego.
Dalsze kroki
- Dostosuj do swoich potrzeb: dostosuj tę architekturę wieloagentową i projekt podpowiedzi do swoich konkretnych przypadków użycia geoprzestrzennego lub organizacyjnego.
- Rozszerz o wyspecjalizowanych agentów planowania: dodaj dedykowanego agenta planowania, aby koordynować złożone, wieloetapowe przepływy pracy analitycznej.
- Zintegruj źródła danych multimodalnych: wzbogać statystyki dotyczące zarządzania ruchem i drogami wzbogać statystyki dotyczące zarządzania ruchem i drogami, łącząc dane RMI z dodatkowymi warstwami przestrzennymi, takimi jak zdarzenia pogodowe, harmonogramy budowy lub aktualne informacje o zdarzeniach.
- Wdróż w środowisku produkcyjnym: przenieś agenta z prototypu do środowiska produkcyjnego, postępując zgodnie z przewodnikiem rejestrowania agentów ADK hostowanych na platformie Gemini Enterprise Agent Platform i zarządzania nimi.
Współtwórcy
Kel Markert | Cloud Geographer