ארכיטקטורה של סוכן RMI ADK

מטרה

סוכן ADK של Roads Management Insights (תובנות לניהול כבישים, RMI) מספק ממשק בשפה טבעית לשליחת שאילתות ולניתוח נתוני RMI שמאוחסנים ב-Google BigQuery. הכלי מבוסס על הערכה לפיתוח סוכנים (ADK) של Google ועל מודלים גדולים של שפה (LLM) של Gemini, והוא מאפשר למשתמשים להפיק תובנות פרקטיות ממערכי נתונים גדולים של רשתות כבישים ותנועה, בלי לכתוב באופן ידני שאילתות SQL מורכבות.

תרשים עזר לארכיטקטורה

הארכיטקטורה מורכבת ממערכת היררכית של סוכנים שבה סוכן הבסיס מתכנן ומנהל את האינטראקציות עם המשתמשים, ומקצה משימות ספציפיות של אחזור נתונים ויצירת SQL לסוכן משנה ייעודי.

תרשים הארכיטקטורה של RMI Agent

רכיבים

1. סוכן RMI (סוכן ראשי)

  • תפקיד: ממשק שיחה ראשי וכלי לתזמור משימות.
  • תחומי אחריות:
    • שומר על הקשר בשיחה מרובת תפניות.
    • מפרק בקשות בשפה טבעית למשימות ניתוח שניתן לבצע.
    • הוא מעביר לסוכן BigQuery משימות של שליפת נתונים מובנים.
    • מסנתז את הנתונים הגולמיים בטבלה שהוחזרו על ידי סוכן המשנה לתובנות תמציתיות שקל לקרוא.

2. BigQuery Agent (סוכן משנה)

  • תפקיד: סוכן מיוחד לתרגום SQL ולהפעלת מסד נתונים.
  • תחומי אחריות:
    • מתרגם הוראות בשפה טבעית מהסוכן הראשי לשאילתות SQL מותאמות ב-BigQuery.
    • מריץ שאילתות ישירות על מערך הנתונים שהוגדר ב-BigQuery.
    • החזרת תוצאות שאילתה גולמיות ללא שינוי לסוכן הבסיס.

3. מערך נתונים של BigQuery

  • תפקיד: מחסן נתונים אנליטי מבוסס-ענן.
  • תוכן: טבלאות של תובנות לניהול כבישים (RMI), כולל historical_travel_time ו-recent_roads_data, שמובנות לפי סכימת RMI BigQuery.

4. Google GenAI

  • תפקיד: מנוע ליבה להסקת מסקנות ולגנרציה של שפה.
  • מודל: משתמש במודלים של Google Gemini (לדוגמה, gemini-3.5-flash) כדי להפעיל תזמור סוכנים, הבנת שפה טבעית ויצירת SQL.

זרימת הביצוע

  1. בקשת משתמש: המשתמש שולח שאלה בשפה טבעית (למשל, "מה היה זמן הנסיעה הממוצע בכביש 66 אתמול?").
  2. תכנון ותזמור: סוכן RMI מקבל את הבקשה, מזהה שנדרשים נתוני תנועה אמפיריים ומנסח הוראת אחזור ספציפית לסוכן המשנה.
  3. הקצאת הרשאות: סוכן ה-RMI מפעיל את סוכן BigQuery עם ההוראה המובנית והאילוצים הרלוונטיים של זמן או מיקום.
  4. יצירת SQL: הסוכן של BigQuery משתמש בהבנה שלו של סכימת ה-RMI כדי ליצור שאילתת SQL מותאמת של BigQuery.
  5. ביצוע ואחזור נתונים: סוכן BigQuery מריץ את השאילתה מול מערך הנתונים הבסיסי של BigQuery ומאחזר את הרשומות הטבלאיות שמתקבלות.
  6. סינתזת תשובות: סוכן BigQuery מחזיר את הנתונים הגולמיים ללא שינוי לסוכן RMI, שמפרש את התוצאות, פותר בעיות של מזהי דרכים חסרים ויוצר תשובה ברורה בשפה טבעית למשתמש.

תרחיש לדוגמה

האתגר

מתכנן ערים צריך להעריך את עומסי התנועה ברשת כבישים מטרופולינית כדי לקבוע אם יש צורך להתאים את התזמון של רמזורי התנועה בשעות השיא של הנסיעה לעבודה בערב.

תהליך העבודה של הפתרון

  1. שאילתת משתמש: המתכנן מקיים אינטראקציה עם הסוכן באמצעות CLI או ממשק משתמש באינטרנט, ושואל:

    "תזהה את 5 המסלולים העמוסים ביותר במרכז בוסטון ביום שישי האחרון בשעה 17:00".

  2. עיבוד על ידי סוכן:

    • RMI Agent מנתח את הבקשה. היא מזהה את מיקום היעד ("מרכז בוסטון"), את חלון הזמן ("יום שישי האחרון בשעה 17:00") ואת המטרה האנליטית ("5 המסלולים העמוסים ביותר"). היא קובעת שצריך למדוד את 'העומס' כיחס בין משך הנסיעה בזמן אמת לבין משך הנסיעה הסטטי (duration_in_seconds / static_duration_in_seconds).
    • הוא מעביר את האחריות לאחזור הנתונים אל הסוכן של BigQuery באמצעות הוראה מובנית:

      "תמצא קטעי כביש במרכז בוסטון ותחזיר את 5 הקטעים עם יחס העומס הגבוה ביותר ליום שישי, 9 בינואר 2026, בשעה 17:00".

  3. שליפת נתונים:

    • סוכן BigQuery מתרגם את ההוראה הזו לשאילתת SQL שמכוונת לטבלה historical_travel_time, מחשב את יחס העומס ומסדר את התוצאות כדי לזהות את 5 הפלחים המובילים.
    • הוא מריץ את השאילתה ב-BigQuery.
    • ‫BigQuery מחזיר תוצאות גולמיות בפורמט טבלה, כמו (segment_id, display_name, duration_in_seconds, static_duration_in_seconds, congestion_ratio).
  4. יצירת תובנות:

    • הסוכן של BigQuery מעביר את הרשימה הגולמית של הפלחים בחזרה אל הסוכן של RMI.
    • סוכן RMI מנתח את הרשומות, מטפל בפלחים של כבישים שחסרים להם שמות תצוגה או הפניות שמכילות רק מזהים, ומסנתז את הנתונים לסיכום מנהלים.
    • הסוכן מרכיב את התשובה הסופית:

      "ביום שישי, 9 בינואר 2026, בשעה 17:00, משך הנסיעה במסלולים העמוסים ביותר במרכז בוסטון היה ארוך משמעותית ממשך הנסיעה הרגיל במסלולים האלה. אלה 5 הקטעים העמוסים ביותר על סמך היחס בין משך הנסיעה עם התחשבות בתנועה לבין משך הנסיעה ללא התחשבות בתנועה: כבישים במסלול/CgkJZ-tTXuNcW4s: זה היה הקטע העמוס ביותר, עם זמן נסיעה של 66 שניות לעומת משך נסיעה ללא התחשבות בתנועה של 6 שניות בלבד (יחס עומס של 11.0x)..."

דוגמה לצ'אט עם סוכן RMI

סיכום

הארכיטקטורה ההיררכית של סוכן ADK מסוג RMI מנתקת את האינטראקציה השיחתית ואת סינתזת הנרטיב מהיצירה של SQL ברמה נמוכה ומהאחזור של נתונים, וכך מגשרת על הפער בין מחסני נתונים גיאוספציאליים מורכבים לבין משתמשי הקצה. בידוד של ביצוע מסד נתונים בתוך סוכן משנה ייעודי מקדם מודולריות, תחזוקה ובטיחות תפעולית, ומאפשר למקבלי ההחלטות לחלץ במהירות תובנות שניתנות לאימות באמצעות שפה טבעית.

השלבים הבאים

  • התאמה אישית לתרחיש השימוש: אפשר להתאים את הארכיטקטורה מרובת הסוכנים ואת עיצוב ההנחיות לתרחישי שימוש ספציפיים שקשורים למיקום גיאוגרפי או לארגון.
  • הרחבה באמצעות סוכני תכנון ייעודיים: אפשר לשלב סוכן תכנון ייעודי כדי לתזמן תהליכי עבודה מורכבים של ניתוח נתונים עם כמה שלבים.
  • שילוב של מקורות נתונים מרובי-אופנים: כדי להעשיר את התובנות לגבי ניהול התנועה והכבישים, אפשר לשלב נתונים מ-RMI עם שכבות מרחביות נוספות, כמו אירועי מזג אוויר, לוחות זמנים של עבודות בנייה או פידים של אירועים בזמן אמת.
  • פריסה בסביבת ייצור: כדי להעביר את הסוכן מאב טיפוס לסביבת ייצור ארגונית, פועלים לפי המדריך בנושא רישום וניהול של סוכני ADK שמתארחים ב-Gemini Enterprise Agent Platform.

תורמים

Kel Markert | Cloud Geographer