שימוש בניתוח נתונים של סוכן BigQuery
ניתוח נתונים של סוכנים ב-BigQuery הוא פתרון קוד פתוח שמאפשר לכם ללכוד, לנתח ולהציג נתונים חזותיים של אינטראקציות עם סוכנים מרובי-מודלים בקנה מידה נרחב. לשם כך, הנתונים הגולמיים של האינטראקציות עם הסוכנים – כמו בקשות, תגובות, קריאות לכלים ושגיאות – מועברים ישירות ל-BigQuery. הפתרון הזה מאפשר לכם לבצע הערכות מבוססות-AI, לבצע אופטימיזציה של הנחיות לסוכנים ולחלץ זיכרון לטווח ארוך כדי לשפר אינטראקציות עתידיות. יש תמיכה בניתוח נתונים של סוכני BigQuery ב- Agent Development Kit (ADK) וב-LangGraph (בגרסת Preview).
ארכיטקטורה
ניתוח הנתונים של סוכן BigQuery מעביר נתוני פעילות של הסוכן ל-BigQuery באמצעות BigQuery Storage Write API, שמספק העברה של יומנים בסטרימינג עם תפוקה גבוהה וזמן אחזור נמוך, בלי לחסום את ההרצה של הסוכן.
זרימת הנתונים מורכבת מהשלבים הבאים:
- צילום. כדי לתעד אירועים של סוכן, אפשר להשתמש בפלאגינים בערכת פיתוח הסוכן (ADK) או בפונקציות קריאה חוזרת ב-LangGraph כדי ליירט אירועי אינטראקציה.
- סטרימינג. אירועי אינטראקציה נשלחים אל BigQuery דרך Storage Write API. אם אין סכימה סטנדרטית, הסוכן יוצר אותה באופן אוטומטי.
- Consume. ניתוח והערכה של נתוני סוכנים שנרשמו ביומן. אפשר להריץ שאילתות על נתונים גולמיים באמצעות SQL, לעקוב אחרי מדדים בלוחות בקרה בהתאמה אישית או להשתמש ב- SDK של BigQuery agent analytics כדי לשחזר ולהעריך עקבות מורכבים של ביצוע סוכנים עם כמה תפניות.

היתרונות של ניתוח נתונים של נציגים
- הפעלה של רישום מקיף ביומן באמצעות שורת קוד אחת ואוטומציה של ניהול סכימות.
- רישום וניתוח של נתונים מולטי-מודאליים, כמו טקסט, תמונות, סרטונים ואודיו, באמצעות טבלאות אובייקטים.
- מעקב אחר מדדים תפעוליים, כמו צריכת טוקנים וחביון, במסגרת סכימה חזקה ומוגדרת מראש.
- לזהות הזדמנויות לאופטימיזציה באמצעות פונקציות של AI גנרטיבי וחיפוש וקטורי ב-BigQuery.
- אבטחת יומני הסוכנים באמצעות אמצעי בקרה פרטניים לגישה, מיסוך נתונים והצפנה.
דרכים לתיעוד נתונים ביומן של סוכנים
כדי לתעד את נתוני הטלמטריה של האינטראקציות עם הסוכן (בקשות, תגובות, קריאות לכלים ויומני שגיאות) באופן מקורי ב-BigQuery, אפשר לתעד נתוני אירועים בכמה דרכים:
- תוספים למסגרת תזמור: אפשר להשתמש בתוספי רישום ביומן סטנדרטיים שסופקו על ידי ערכת הכלים לתזמור סוכנים. לדוגמה, ה-hook
BigQueryAgentAnalyticsPluginבערכת פיתוח הסוכן (ADK) מתחבר ל-agent runner כדי ליירט, לסדר ולשדר אירועים באופן אוטומטי. - מטפלים בקריאות חוזרות של מסגרת: שילוב של קריאות חוזרות רגילות בסביבות פופולריות של סוכנים. לדוגמה, אפשר להשתמש ב-handler המובנה של BigQuery ב-LangGraph וב-LangChain כדי ליירט עקבות ולהעביר אותם.
- הוספה ישירה של נתונים באמצעות API: אם אתם משתמשים במסגרות מותאמות אישית או קנייניות, תוכלו להשתמש בGoogle Cloud ספריות הלקוח כדי להזרים אירועים מובנים ישירות לטבלת האירועים באמצעות Storage Write API.
לא משנה באיזו שיטה משתמשים, כל האפשרויות לרישום ביומן משתמשות ב-BigQuery Storage Write API, שהוא ממשק API עם חביון נמוך וקצב העברת נתונים גבוה. ה-API הזה מספק נקודת קצה חזקה להזרמת נתונים, שמאגדת ומסדרת שורות (באמצעות מנוע PyArrow) באופן אסינכרוני בזיכרון לפני שהיא מבצעת את הפעולות, כדי להבטיח שמשימות של צינור נתונים של יכולת צפייה לא יחסמו את התור של ביצוע הפעולות של הסוכן שפונה למשתמש.
דרכים לניתוח נתונים מיומני סוכנים
כדי להבין את הביצועים של הסוכן ולשפר אותם, צריך לנתח ולהעריך את יומני האינטראקציות בדרכים הבאות:
- שאילתות SQL ישירות: אפשר להריץ שאילתות בהתאמה אישית ב-BigQuery כדי לחשב מדדים כמו צריכת טוקנים וחביון ביצוע. אפשר גם להשתמש ב-
AI.GENERATEכדי לבצע ניתוח אוטומטי של שורש הבעיה של שגיאות, או לבצע הצטרפות לטבלאות עסקיות כדי למדוד את ההשפעה העסקית. - מרכזי בקרה אינטראקטיביים: אפשר לקשר כלים להצגה חזותית כמו Data Studio לתצוגות מובנות מראש או מותאמות אישית של BigQuery כדי לעקוב אחרי תקינות הסוכן, שיעורי השגיאות ומגמות השימוש לאורך זמן.
- מחברות Jupyter: אפשר לבדוק ולנסות נתוני יומן באמצעות ספריות Python, pandas או BigFrames בסביבות אינטראקטיביות.
- Python SDK: אפשר לבצע שאילתות, לשחזר ולבדוק את עקבות הביצוע של הסוכן באופן פרוגרמטי ישירות בקוד האפליקציה או בצינורות של הערכה אוטומטית.
דוגמאות לעבודה עם נתוני יומן של סוכנים
בהמשך מפורטים תרחישי שימוש נפוצים ודוגמאות לעבודה עם נתוני יומנים של סוכנים ב-BigQuery.
ניראות ומדדים תפעוליים
- שאילתות על נתונים כדי לפרק את העלויות לפי תהליכי עבודה של סוכנים ולקבוע אם סוכן ספציפי, כמו סוכן שיפור, צורך כמות לא פרופורציונלית של טוקנים בהשוואה לתרומה שלו לתשובות הסופיות.
- כדי לבצע ניתוח של שורש הבעיה באמצעות AI, אפשר להשתמש בסוכן ניתוח שיחות של BigQuery ולהריץ שאילתות עם הפונקציה
AI.GENERATE. לדוגמה, "תנתח את יומן השיחות הזה ותסביר את שורש הבעיה של הכשל".
הערכת סוכנים וניתוח איכות
- אפשר לדרג שיחות ולמדוד את דירוג הנציג לאורך זמן באמצעות הפונקציה
AI.SCORE. - מזהים אשכולות של שיחות שבהן הסוכן לא הצליח לעזור למשתמשים באמצעות חיפוש וקטורי בשאילתת SQL, ואז משווים אותם לכוונות המקוריות של המשתמשים. כך תוכלו לזהות פערים בכלי הסוכן או במאגר הידע שלו.
תובנות עסקיות והוספת הקשר
כדי להוסיף הקשר לנתוני הנציג, מצטרפים לטבלה agent_events עם טבלאות עסקיות אחרות . לדוגמה, אפשר להציג את ערך ההזמנה הממוצע (AOV) של לקוחות שהייתה להם אינטראקציה עם סוכן ה-AI לעומת לקוחות שהשתמשו בסרגל החיפוש.
דוגמאות נוספות מופיעות במאמר שאילתות מתקדמות לניתוח נתונים.
שימוש ב-notebook של Jupyter לעבודה עם יומני סוכנים
אפשר להשתמש בדוגמה הזו של קובץ notebook של Colab Jupyter כדי לבצע שאילתות, להציג נתונים ולהעריך יומני סוכנים באופן אינטראקטיבי.
שימוש ב-BigQuery agent analytics SDK
BigQuery agent analytics SDK היא ספריית Python בקוד פתוח שמספקת שכבת צריכה והערכה לצורך יכולת תצפית ארוכת טווח על סוכנים. לוחות בקרה ונוטבוקים מצוינים לניתוח אד-הוק, וערכת ה-SDK מספקת דרך לנתח ולבדוק באופן שיטתי את התנהגות הסוכן בקנה מידה גדול.
מה אפשר לעשות עם ה-SDK
אפשר לבצע את המשימות הבאות באמצעות BigQuery agent analytics SDK. דוגמאות מפורטות לניתוח יומנים זמינות במאגר GitHub של ה-SDK.
- שחזור של נתוני מעקב: שחזור של יומני אירועים פולימורפיים לשרשראות סיבתיות של אירועים כדי לנפות באגים בסשנים בכמה תורות, כולל קריאות משובצות לכלים ולמודלים גדולים של שפה.
- הערכה דטרמיניסטית וסמנטית: הערכת איכות הסוכן לפי קריטריונים מבוססי-כללים, כמו זמן אחזור, מספר תורות ושיעורי שגיאות, וגם לפי קריטריונים סמנטיים, כמו נכונות, סנטימנט והזיות.
- התאמת מסלולים: השוואה בין נתיבי הביצוע בפועל של הסוכן לבין מסלולים מוזהבים צפויים, כדי לוודא את יעילות השלבים ולוודא שהכלים שימשו בסדר הנכון.
- מעקב התנהגות וזיהוי סחף: ביצוע ניתוחים סטטיסטיים של פלט לא דטרמיניסטי של סוכנים, מעקב אחרי התפלגות בקשות המשתמשים וזיהוי רגרסיה בייצור או סחף סמנטי.
- זיכרון של סוכן לטווח ארוך: מספק לסוכנים הקשר בין סשנים, אחזור סמנטי של פרופיל המשתמש וזיכרון אפיזודי שמודע למכסת הטוקנים ומאוחסן באופן מקורי ב-BigQuery.
רישום וניתוח של פעילות הסוכן
בדרך כלל, כדי לשלב את ה-SDK בתהליכי העבודה של הסוכן, צריך לבצע את השלבים הבאים:
- תיעוד אינטראקציות: מצמידים פלאגין לתיעוד (כמו
BigQueryAgentAnalyticsPluginב-ADK) או handler של קריאה חוזרת למסגרת התיאום של הסוכן. כשמשתמשים מקיימים אינטראקציה עם הסוכן, היומנים מועברים בסטרימינג באופן אסינכרוני ל-BigQuery באמצעות ממשק ה-API של Storage Write עם תפוקת נתונים גבוהה. מאתחלים את הלקוח: מתחברים למערך נתוני היומן מ-Python SDK:
from google.cloud import bigquery from bigquery_agent_analytics import Client client = Client( project_id="YOUR_PROJECT_ID", dataset_id="YOUR_DATASET_ID", table_id="agent_events", )קטע הקוד כולל את הרכיבים הבאים:
-
client: מופע האבClientשמנתב שאילתות באופן פרוגרמטי ומנהל חיבורים פעילים למסד הנתונים. -
project_id: מזהה הפרויקט ב- Google Cloud שבו נמצא מערך הנתונים של היעד. -
dataset_id: השם של מערך הנתונים ב-BigQuery שבו נשמרים היומנים. -
table_id: הטבלה הספציפית שבה מאוחסנים אירועי הטלמטריה (agent_eventsכברירת מחדל).
-
שחזור של מעקב אחר סשן: אחזור של סשן שיחה ספציפי כדי להציג ולבדוק את רצף האירועים המדויק:
trace = client.get_trace( session_id="YOUR_SESSION_ID" ) trace.render()קטע הקוד כולל את הרכיבים הבאים:
-
trace: אובייקטTraceשעבר הידרציה ומכיל את עץ הטווחים ההיררכי של DAG ששוחזר וקשור סיבתית לכל הפעולות של המשתמש והסוכן. -
YOUR_SESSION_ID: המזהה הייחודי של הסשן שרוצים לבדוק.
-
הפעלת הערכות אוטומטיות: מתן ציון מסלולי סשנים באופן פרוגרמטי או בדיקת רגרסיה מול חבילת מקרים לבדיקה מוזהבת:
from bigquery_agent_analytics.evaluators import CodeEvaluator, LLMAsJudge from bigquery_agent_analytics.grader_pipeline import GraderPipeline # Create a grader pipeline with deterministic and semantic metrics evaluator = GraderPipeline( graders=[ CodeEvaluator.latency(threshold_ms=5000), LLMAsJudge.correctness(), ] ) report = client.evaluate(evaluator, session_ids=["session_1", "session_2"]) print(f"Evaluation Pass Rate: {report.pass_rate:.2%}")קטע הקוד כולל את הרכיבים הבאים:
-
evaluator: הלוגיקה המובניתGraderPipelineשכוללת מדדי הערכה סמנטיים ומדדים שמבוססים על כללים. -
session_ids: רשימת המחרוזות של מזהי הסשנים להרצת הערכות אצווה ב-BigQuery. -
report: אובייקטEvaluationReportשנוצר ומכיל ציונים גולמיים של סשנים, סיכומים של מדדים, נתונים סטטיסטיים של תקופת ניסיון ומשוב מהבודק האוטומטי.
-
שילוב ניתוח נתונים של סוכנים ב-BigQuery בתהליך העבודה
כדי לשלב את ניתוח הנתונים של סוכן BigQuery בתהליך העבודה, אפשר לעיין במסמכי התיעוד של המסגרת:
- מדריך ל-ADK BigQuery Analytics plugin
- שילוב של BigQuery callback handler (LangChain ו-LangGraph)