במאמר הזה מוסברים המושגים העיקריים שקשורים לשימוש ב-Conversational Analytics API (geminidataanalytics.googleapis.com), שמאפשר ליצור סוכני נתונים ולקיים איתם אינטראקציה. סוכני הנתונים האלה משתמשים בשפה טבעית כדי לענות על שאלות לגבי הנתונים המובנים שלכם. במסמך הזה מוסבר איך סוכנים עובדים, מתוארים תהליכי עבודה אופייניים, מצבי שיחה ותפקידים בניהול זהויות והרשאות גישה (IAM), ומוסבר איך לתכנן מערכות עם כמה סוכנים.
איך סוכני נתונים עובדים
סוכני נתונים של Conversational Analytics API משתמשים בהקשר שאתם מספקים (מידע עסקי ונתונים) ובכלים (כמו SQL ו-Python) כדי לפרש שאלות בשפה טבעית וליצור תשובות מהנתונים המובְנים שלכם.
הדיאגרמה הבאה מציגה את השלבים בתהליך העבודה של נציג כשהמשתמש שואל שאלה:

כפי שמוצג בתרשים, כשמשתמש שואל שאלה, הסוכן מעבד את הבקשה בשלבים הבאים:
- קלט של משתמשים: המשתמש שולח שאלה בשפה טבעית, יחד עם כל הקשר נוסף שסיפקתם.
- מקורות נתונים: הסוכן מתחבר לנתונים שלכם ב-Looker, ב-BigQuery וב-Looker Studio כדי לספק פונקציות צ'אט, ויכול גם להריץ שאילתות על נתונים ממסדי נתונים של AlloyDB, GoogleSQL for Spanner, Cloud SQL ו-Cloud SQL ל-PostgreSQL באמצעות שיטת
QueryData. - מנוע חשיבה רציונלית: ליבת ה-Agent מעבדת את השאלה של המשתמש באמצעות כלים זמינים כדי ליצור תשובה.
- פלט של סוכן: הסוכן מחזיר זרם של הודעות, שיכולות להכיל טקסט, נתונים או תרשימים. בחלק ממקורות הנתונים, הודעות טקסט מספקות תובנות שלב אחר שלב לגבי החשיבה הרציונלית של ה-Agent, מדווחות על התקדמות בפעולה או מספקות את התשובה הסופית לשאילתה.
תהליכי עבודה לעיצוב סוכנים ולשימוש בהם
ממשק ה-API של ניתוח שיחות תומך בתהליכי עבודה ליוצרי סוכנים (שבונים ומגדירים סוכנים) ולמשתמשי סוכנים (שמנהלים אינטראקציות עם סוכנים).
התרשים הבא ממחיש את התהליך מקצה לקצה, מההגדרה הראשונית על ידי יוצר סוכן ועד לאינטראקציות הסופיות של צרכן סוכן:

בקטעים הבאים מפורטים תהליכי העבודה של יוצרי סוכנים ושל משתמשים בסוכנים.
תהליך העבודה ליצירת סוכן
יוצר הסוכן אחראי להגדרה ולתצורה של הסוכנים. תהליך העבודה הזה כולל את השלבים הבאים:
- יצירת סוכן: היוצר מתחיל ביצירת סוכן חדש ומספק את ההקשר הנדרש, כולל הוראות מערכת וקישורים למקורות נתונים. השלב הזה חיוני כדי שהסוכן יוכל להבין את שאלות המשתמשים ולענות עליהן בצורה יעילה.
- שיתוף הסוכן: אחרי שהסוכן מוגדר, היוצר משתף אותו עם משתמשים אחרים ומגדיר את אמצעי הבקרה המתאימים לגישה מבוססת-תפקידים כדי לנהל את ההרשאות.
תהליך העבודה של הלקוח עם הסוכן
המשתמש ב-Agent הוא בדרך כלל משתמש עסקי שצריך לקבל תשובות מסוכן מוגדר. תהליך העבודה הזה כולל את השלבים הבאים:
- חיפוש סוכן: המשתמש מתחיל בחיפוש סוכן ששותף איתו.
- שואלים שאלה: המשתמש שואל שאלה בשפה טבעית. השאלה יכולה להיות שאילתה אחת או חלק משיחה מרובת תפניות.
- הסוכן 'חושב': מנוע החשיבה הרציונלית של הסוכן מעבד את השאלה. מנוע החשיבה משתמש בידע המוגדר מראש של הסוכן ובכלים הזמינים של הסוכן (כמו SQL, Python וטבלאות) ב"לולאת חשיבה רציונלית" כדי לקבוע את הדרך הטובה ביותר לענות על השאלה.
- הסוכן מגיב: הסוכן מחזיר זרם של הודעות, שיכולות להכיל טקסט, נתונים או תרשימים. בחלק ממקורות הנתונים, הודעות טקסט מספקות תובנות שלב אחר שלב לגבי החשיבה הרציונלית של ה-Agent, מדווחות על התקדמות בפעולה או מספקות את התשובה הסופית לשאילתה.
מצבי שיחה
סוכני Conversational Analytics API תומכים במצבי שיחה שונים שקובעים איך הסוכן מטפל בהיסטוריית השיחות ובשמירת ההקשר בין האינטראקציות. אלה מצבי השיחה שזמינים:
- מצב בלי שמירת מצב: הסוכן לא שומר את היסטוריית השיחות. כל אינטראקציה מטופלת בנפרד. המצב הזה שימושי לאפליקציות שבהן לא צריך לשמור על הקשר בין כמה תורות.
- מצב שמירת מצב: הסוכן שומר את ההקשר ואת היסטוריית השיחות, וכך מאפשר אינטראקציות עם יותר הקשר. השימוש במצב הזה מועיל לאפליקציות שבהן צריך לשמור על ההקשר בכמה תורות. מומלץ להשתמש במצב עם שמירת מצב כדי לשפר את הדיוק ולקבל תשובות בהתאמה אישית.
בוחרים מצב שיחה בהתאם לדרישות של האפליקציה לגבי היסטוריית השיחות והמשכיות ההקשר.

תפקידי IAM
תפקידי IAM קובעים מי יכול ליצור סוכנים של Conversational Analytics API, לנהל אותם, לשתף אותם ולקיים איתם אינטראקציה. בטבלה הבאה מתוארים התפקידים העיקריים ב-IAM עבור Conversational Analytics API:
| תפקיד | היקף טיפוסי | מה התפקיד מאפשר | מי יכול להשתמש בתפקיד הזה |
|---|---|---|---|
Gemini Data Analytics Data Agent Creator (roles/geminidataanalytics.dataAgentCreator) |
פרויקט | ליצור סוכנים ולקבל בירושה הרשאות בעלים בסוכן. | כל מנתח נתונים |
בעלים של סוכן נתונים ב-Gemini Data Analytics (roles/geminidataanalytics.dataAgentOwner) |
פרויקט, סוכן | עריכה, שיתוף או מחיקה של סוכנים עם משתמשים אחרים. | מנתח נתונים בכיר |
עריכה של סוכן הנתונים ב-Gemini Data Analytics (roles/geminidataanalytics.dataAgentEditor) |
נציג, פרויקט | עדכון ההגדרה או ההקשר של סוכן. | מנתח נתונים מתחיל |
משתמש בסוכן הנתונים של Gemini Data Analytics (roles/geminidataanalytics.dataAgentUser) |
נציג, פרויקט | צ'אט עם נציג תמיכה. | משווק, בעל חנות |
כלי להצגת נתונים של סוכן הנתונים ב-Gemini Data Analytics (roles/geminidataanalytics.dataAgentViewer) |
פרויקט, סוכן | הצגת רשימת הסוכנים וקבלת הפרטים שלהם. | כל משתמש |
משתמש בשאילתות נתונים ב-Gemini Data Analytics (roles/geminidataanalytics.queryDataUser) |
פרויקט | שליחת שאילתות לנתונים ממקורות נתונים נתמכים באמצעות השיטה QueryData. |
מפתח אפליקציות, מנתח נתונים |
משתמש ב-Gemini Data Analytics בצ'אט ללא שמירת מצב (roles/geminidataanalytics.dataAgentStatelessUser) |
פרויקט | צ'אט עם נציג בלי לשמור את ההקשר או את היסטוריית השיחות. | כל משתמש |
מערכות עם כמה סוכנים
אפשר לשלב בין כמה סוכנים של Conversational Analytics API כדי לעצב מערכות מורכבות. דפוס נפוץ הוא שימוש בסוכן ראשי מסוג "מנהל תזמור" שמקצה משימות לסוכן אחד או יותר מסוגים מיוחדים שמטפלים בדומיינים ספציפיים, כמו נתוני מכירות או שיווק. הגישה הזו מאפשרת לכם לבנות מערכת שיכולה להתמודד עם מגוון רחב של שאלות על ידי שילוב היתרונות של כמה סוכנים.
הדיאגרמה הבאה ממחישה דפוס רב-סוכנים זה ומראה כיצד סוכן ראשי יכול להאציל שאלה לגבי נתונים לסוכן מומחה של ניתוח שיחות:

תהליך העבודה האופייני במערכת מרובת סוכנים כולל את השלבים הבאים:
- משתמש עסקי או אנליסט נתונים שואל שאלה בשפה טבעית, כמו "הצגת שלוש החנויות המובילות לפי הכנסות".
- סוכן ראשי מסוג 'מתזמר' מעביר את הבקשה לסוכן המתמחה המתאים.
- נציג ייעודי מקבל את הבקשה שהועברה אליו, מתחבר למקורות הנתונים הרלוונטיים, משתמש בכלים שלו כדי ליצור את השאילתות והתרשימים הנדרשים ב-SQL, ומפיק תשובה.
- התשובה של הסוכן המומחה מוחזרת למשתמש, למשל: "החנויות 4, 9 ו-3 מניבות את ההכנסות הכי גבוהות. הנה תרשים".
המאמרים הבאים
אחרי שמבינים את המושגים העיקריים של Conversational Analytics API, אפשר ללמוד איך להטמיע את התכונות האלה:
- איך מאמתים ומתחברים למקור נתונים
- איך יוצרים סוכן ומגדירים אותו באמצעות HTTP
- איך יוצרים ומגדירים סוכן באמצעות Python
- מידע נוסף על הנחיית התנהגות של סוכן באמצעות הקשר שנוצר
- בקרת גישה באמצעות IAM ל-Conversational Analytics API
- איך מעבדים תשובות של סוכנים למקורות נתונים של Looker