道路管理分析 AI 代理

目標

道路管理分析 (RMI) ADK 代理提供自然語言介面,可查詢及分析儲存在 Google BigQuery 中的 RMI 資料。這項功能運用 Google 的代理程式開發套件 (ADK) 和 Gemini 大型語言模型,讓使用者不必手動編寫複雜的 SQL 查詢,就能從大規模路網和流量資料集中擷取可據以行動的洞察資料。

參考架構

這項架構包含階層式代理系統,其中根代理會規劃及協調使用者互動,並將特定資料檢索和 SQL 生成工作委派給專門的子代理。

RMI 代理程式架構圖

元件

1. RMI 代理 (根層級代理)

  • 角色:主要對話介面和工作協調器。
  • 責任
    • 維持多輪對話情境。
    • 將自然語言要求分解為可執行的分析工作。
    • 將結構化資料擷取工作委派給 BigQuery 代理程式。
    • 將子代理傳回的原始表格資料,統整為簡潔易懂的洞察資訊。

2. BigQuery 代理程式 (子代理程式)

  • 角色:專門負責 SQL 翻譯和資料庫執行的代理程式。
  • 責任
    • 將根代理程式的自然語言指令轉換為最佳化的 BigQuery SQL 查詢。
    • 直接對已設定的 BigQuery 資料集執行查詢。
    • 將未經修改的原始查詢結果傳回給根層級代理。

3. BigQuery 資料集

  • 角色:雲端原生分析資料倉儲。
  • 內容:道路管理分析 (RMI) 資料表,包括 historical_travel_timerecent_roads_data,結構符合 RMI BigQuery 結構定義。

4. Google 生成式 AI

  • 角色:核心推理和語言生成引擎。
  • 模型:運用 Google Gemini 模型 (例如 gemini-3.5-flash) 支援代理自動化調度管理、自然語言理解和 SQL 生成。

執行流程

  1. 使用者要求:使用者以自然語言提出問題 (例如「昨天 66 號公路的平均行車時間是多少?」)。
  2. 規劃與協調RMI 代理程式會接收要求、判斷需要實證流量資料,並為子代理程式制定具體的擷取指令。
  3. 委派RMI 代理程式會使用結構化指令和相關的時間或空間限制,叫用 BigQuery 代理程式
  4. SQL 生成BigQuery 代理程式會運用對 RMI 結構定義的瞭解,生成最佳化的 BigQuery SQL 查詢。
  5. 執行及擷取資料BigQuery 代理程式會針對基礎 BigQuery 資料集執行查詢,並擷取產生的表格記錄。
  6. 回覆內容合成BigQuery 代理會將未經修改的原始資料傳回 RMI 代理,後者會解讀結果、解決缺少的道路 ID,並為使用者建構清楚的自然語言回覆。

範例情境

挑戰

城市規劃人員需要評估都會區道路網路的交通壅塞情況,判斷是否需要在傍晚通勤尖峰時段調整紅綠燈時序。

解決方案工作流程

  1. 使用者查詢:規劃工具會使用 CLI 或網頁介面與代理程式互動,並提出以下問題:

    「找出上週五下午 5 點波士頓市中心最壅塞的 5 條路線。」

  2. 代理程式處理

    • RMI 代理程式會剖析要求。這項要求會指定目標位置 (「波士頓市中心」)、時間範圍 (「上週五下午 5 點」) 和分析目標 (「前 5 大最壅塞路線」)。這項設定會將「壅塞」程度定義為即時行程時間與靜態時間的比率 (duration_in_seconds / static_duration_in_seconds)。
    • 這項工具會將資料擷取作業委派給 BigQuery 代理程式,並提供結構化指令:

      「Find road segments in downtown Boston and return the top 5 with the highest congestion ratio for Friday, January 9, 2026, at 5:00 PM.」(找出波士頓市中心的道路路段,並傳回 2026 年 1 月 9 日星期五下午 5:00 擁塞率最高的前 5 個路段)。

  3. 資料擷取

    • BigQuery 代理程式會將這項指令轉換為以 historical_travel_time 資料表為目標的 SQL 查詢,計算壅塞比率並排序結果,找出前 5 個路段。
    • 並針對 BigQuery 執行查詢。
    • BigQuery 會傳回原始表格結果,例如 (segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio)
  4. 洞察生成功能

    • BigQuery 代理程式會將原始區隔清單傳回給 RMI 代理程式
    • RMI 代理程式會分析記錄、處理缺少顯示名稱或僅含 ID 參照的路段,並將資料合成為執行摘要。
    • 代理會建構最終回覆:

      「2026 年 1 月 9 日星期五下午 5 點,波士頓市中心最壅塞的路線,行車時間比一般靜態時間長得多。以下是根據流量感知時間與靜態時間的比率,列出的前 5 個最壅塞路段:路線道路/CgkJZ-tTXuNcW4s:這是最壅塞的路段,行車時間為 66 秒,而靜態時間僅 6 秒 (壅塞比率為 11.0 倍)...」

RMI 代理程式範例對話

結論

透過將對話互動和敘事綜合與低階 SQL 生成和資料擷取作業分離,階層式 RMI ADK 代理架構可縮小複雜地理空間資料倉儲與使用者之間的差距。在專用子代理程式中隔離資料庫執行作業,可提升模組化、可維護性和作業安全性,同時讓決策者能透過自然語言快速擷取可驗證的洞察資訊。

後續步驟

  • 根據您的用途自訂:根據特定的地理空間或機構用途,調整這個多代理架構和提示設計。
  • 使用專用規劃代理擴充功能:納入專用規劃代理,自動調度管理複雜的多步驟分析工作流程。
  • 整合多模態資料來源:結合 RMI 資料與其他空間圖層 (例如天氣事件、施工時間表或即時事件動態饋給),進一步瞭解車流和道路管理。
  • 部署至正式環境:按照指南註冊及管理 Gemini Enterprise Agent Platform 上代管的 ADK 代理,將代理從原型轉移至正式企業環境。

貢獻者

Kel Markert | Cloud Geographer