במסמך הזה מוצגת ארכיטקטורה ברמה גבוהה של מערכת AI עם כמה סוכנים, שפועלת בשידור חי ובשני הכיוונים ב- Google Cloud. המערכת עוזרת למשתמשים להשלים משימות טכניות, כמו הרכבת רכיבים מורכבים, אבחון תקלות בציוד או ניווט בהליכי תיקון מורכבים. מערכת ה-AI האקטיבי מספקת הנחיות טכניות מבוססות וניטור אוטומטי של בטיחות באמצעות זרם רציף ודו-כיווני של נתונים מולטי-מודאליים.
המסמך הזה מיועד לארכיטקטים, למפתחים ולמנהלים שבונים ומנהלים תשתית ואפליקציות של AI בענן. ההנחה במסמך הזה היא שיש לכם הבנה בסיסית של סוכני AI ומודלים של AI. במסמך לא מופיעות הנחיות ספציפיות לעיצוב ולתכנות של סוכני AI.
בקטע פריסה של המסמך הזה מפורטות דוגמאות קוד שאפשר להשתמש בהן כדי ללמוד איך ליצור ולפרוס מערכות AI עם כמה סוכנים.
ארכיטקטורה
הדיאגרמה הבאה מציגה מבט כללי על ארכיטקטורה שמשתמשת במערכת AI מרובת סוכנים כדי לאפשר סטרימינג של נתונים מולטי-מודאליים בשידור חי ובשני הכיוונים:
הארכיטקטורה בתרשים שלמעלה כוללת שני תהליכי עבודה: הדרכה טכנית ומעקב אחר בטיחות.
- תהליך העבודה של ההדרכה הטכנית מאפשר למשתמשים לקבל פתרונות בזמן אמת לשאלות טכניות מורכבות. בתהליך העבודה הזה נעשה שימוש במודל Gemini Live כדי לעבד סטרימינג מולטימודאלי ולתאם עם סוכן משנה כדי לאחזר פרטי המוצר מבוססים ממסד הידע.
- תהליך העבודה של ניטור הבטיחות מספק זיהוי אוטומטי של סכנות כדי להבטיח את בטיחות המשתמשים במהלך הליכים טכניים. בתהליך העבודה הזה נעשה שימוש ב-Gemini כדי לנתח קטעי וידאו בשידור חי, לזהות סיכונים פוטנציאליים ולהפעיל אזהרות מיידיות דרך לוח הבקרה של הלקוח.
בכרטיסיות הבאות מוצגים תרשימי ארכיטקטורה שמציגים את ההנחיות הטכניות ואת תהליכי העבודה של ניטור הבטיחות:
תהליך העבודה של הנחיות טכניות
התרשים הבא מציג ארכיטקטורה מפורטת של תהליך עבודה להדרכה טכנית.
בתרשים שלמעלה מוצג זרימת הנתונים הבאה:
-
משתמש מתחיל סשן על ידי שליחת שאלה טכנית בדיבור דרך לוח הבקרה של הלקוח. לדוגמה, טכנאי יכול לכוון את המצלמה שלו אל לוח בקרה ולשאול: "עזרה, מה המשמעות של נורית השגיאה האדומה המהבהבת הזו?"
-
לוח הבקרה של הלקוח יוצר חיבור WebSocket קבוע בין הקצה הקדמי לבין שרת הבק-אנד.
-
הודעות WebSocket אורזות את נתוני המולטימדיה הגולמיים באובייקטים של
Blob. רכיבLiveRequestQueueשל ערכת פיתוח הסוכנים (ADK) מעביר באופן רציף את נתוני הקלט לסוכן השולח. -
הסוכן של המוקדנית מזהה פקודות קוליות או חזותיות שדורשות הדרכה טכנית, ושולח את זרם הקלט אל מודל Gemini Live.
-
מודל Gemini Live מחפש בנתונים הגולמיים כדי לזהות אירועים. אירועים הם מילות מפתח אודיו, כמו "הרכבה" או "עזרה", או רמזים חזותיים, כמו תנועות ידיים.
Gemini בודק כל אירוע כדי לקבוע אם הוא רלוונטי לשאלה של המשתמש. לדוגמה, יכול להיות שמחוות ידיים או מילות מילוי לא יהיו רלוונטיות, ולכן Gemini לא יעבד את האירועים האלה.
-
לכל אירוע רלוונטי, Gemini מפעיל קריאה לפונקציה כדי להעריך אם נדרש הקשר נוסף. בהתאם לצורך בהקשר נוסף, Gemini או סוכן ארכיטקט שולחים תשובה בחזרה לסוכן השולח.
-
אם הוא צריך עוד הקשר, Gemini מחפש את כרטיס הסוכן של האדריכל כדי להבין איך לבנות את הבקשה.
-
Gemini שולח בקשה מובנית לסוכן השולח. הבקשה מכילה פרטי אירוע, כמו סוג המוצר, מספר הדגם, סוג האירוע ומאפיינים.
-
סוכן השליחה משתמש בפרוטוקול Agent2Agent (A2A) כדי לשלוח את הבקשה המובנית לסוכן הארכיטקט.
-
הסוכן הארכיטקט שולח את השאילתה דרך מחבר חיבור לרשת (VPC) מאפליקציית serverless . המחבר מאפשר לסוכן לגשת באופן מאובטח למשאבים ברשת הענן הווירטואלי הפרטי (VPC) שמשמשת למשאבי האחסון בארכיטקטורה הזו.
-
מחבר הגישה ל-VPC ללא שרתים פועל עם הנתונים שבמטמון שמאוחסנים ב- Memorystore for Redis Cluster. אם הנתונים לא זמינים בשכבת המטמון, סוכן הארכיטקט מקיים אינטראקציה עם מופעי Compute Engine שמארחים את בסיס הידע.
-
הסוכן של הארכיטקט מקבל את פרטי המוצר ממטמון הנתונים או ממסד הידע. סוכן הארכיטקט שולח את פרטי המוצר אל Gemini כדי ליצור תשובה. לדוגמה, "קוד שגיאה 3B: תקלה במאוורר פעולה מומלצת: בדיקה אם יש חסימות".
הסוכן הארכיטקט שולח את פרטי המוצר בחזרה לסוכן השולח.
אם לא צריך עוד הקשר, Gemini יוצר תשובה לבקשת המשתמש ישירות.
-
-
סוכן השליחה מקבל את התשובה מ-Gemini או מסוכן הארכיטקטורה, והוא יוצר תשובה מרובת-אופנים:
-
משתמש במודל Gemini Live ובפונקציה ADK
run_liveכדי ליצור תשובה מולטי-מודאלית שמכילה את הפתרון הטכני. -
התגובה מאוחסנת כאובייקט
Blob. -
הפתרון הטכני נשלח דרך מאגר הנתונים הזמני של הסטרימינג ודרך חיבור WebSocket מתמשך, כדי להעביר את הפתרון הטכני ללוח הבקרה של הלקוח.
-
-
לוח הבקרה של הלקוח מחלץ את נתוני
Blobמהפתרון הטכני כדי לספק הדרכה מיידית עם קריינות, ומעדכן את ממשק המשתמש עם תמלילים רלוונטיים. לולאת הבקשה מסתיימת בזמן שזרם דו-כיווני פעיל נשמר.
תהליך העבודה של ניטור הבטיחות
בתרשים הבא מוצגת ארכיטקטורה מפורטת של תהליך עבודה לניטור בטיחות.
בתרשים שלמעלה מוצג זרימת הנתונים הבאה:
- מרכז הבקרה של הלקוח יוצר חיבור קבוע של WebSocket בין הקצה הקדמי לבין שרת הבק-אנד כדי לצפות בשידור החי של הווידאו. חבילות ההודעות של WebSocket אורזות את נתוני המולטימדיה הגולמיים האלה באובייקטים מסוג
Blobושולחות אותם באופן רציף למאגר הזמני של הסטרימינג, באמצעות רכיבLiveRequestQueueשל ADK. - מאגר הנתונים הזמני של הסטרימינג מפנה את נתוני הקלט לכלי סטרימינג שפועל בלולאה רציפה ברקע כדי לזהות סכנות בפריים של הסרטון.
- כלי הסטרימינג שולח את פריים הווידאו האחרון ממאגר הנתונים הזמני של הסטרימינג אל Gemini.
- Gemini בוחן את הפריימים של הסרטון כדי לזהות סכנות, כמו אור חזק או אדים.
- אם לא מזוהה סכנה, לא קורה כלום.
- אם מזוהה סכנה, Gemini יוצר תגובה מולטי-מודאלית שמכילה את סוג הסכנה, המאפיינים שלה והמיקום שלה, ושומר אותה כאובייקט
Blob. Gemini שולח את התשובה עם אזהרת הסכנה בחזרה לכלי הסטרימינג.
- הכלי לסטרימינג מעביר את התגובה לאזהרה על הסכנה למאגר הזמני של הסטרימינג.
- מאגר הנתונים הזמני של הסטרימינג משתמש בחיבור WebSocket הקבוע כדי להעביר את הפתרון הטכני ללוח הבקרה של הלקוח.
- לוח הבקרה של הלקוח מחלץ את נתוני
Blobמהפתרון הטכני כדי לספק הדרכה מיידית עם קריינות, ומעדכן את ממשק המשתמש עם תמלילים רלוונטיים. כך מסתיים לולאת הבקשות, והזרם הדו-כיווני נשאר פעיל.
המוצרים שהשתמשו בהם
ארכיטקטורת העזר הזו משתמשת במוצרים ובכלים הבאים: Google Cloud
- Cloud Run: פלטפורמת מחשוב ללא שרת שמאפשרת להריץ קונטיינרים ישירות על גבי התשתית הניתנת להרחבה של Google.
- Gemini: משפחה של מודלים מולטי-מודאליים של AI שפותחו על ידי Google.
- Gemini Enterprise Agent Platform: פלטפורמה מקיפה שמאפשרת ליצור, להרחיב, לנהל ולבצע אופטימיזציה של סוכני AI ברמה שמתאימה לארגונים.
- Agent Development Kit (ADK): ערכה של כלים וספריות לפיתוח, לבדיקה ולפריסה של סוכני AI.
- פרוטוקול Agent2Agent (A2A): פרוטוקול פתוח שמאפשר תקשורת ופעולה הדדית בין סוכנים, ללא קשר לשפת התכנות ולזמן הריצה שלהם.
- חיבור לרשת (VPC) מאפליקציית serverless: שירות שמאפשר לסביבות serverless להתחבר למשאבים ברשת של ענן וירטואלי פרטי (VPC).
- ענן וירטואלי פרטי (VPC): מערכת וירטואלית שמספקת פונקציונליות של רשתות גלובליות וניתנות להרחבה עבור עומסי העבודה שלכם ב- Google Cloud . VPC כולל קישור בין רשתות VPC שכנות (peering), Private Service Connect, גישה לשירותים פרטיים ו-VPC משותף.
- Memorystore for Redis Cluster: שירות מאגרי נתונים בזיכרון מנוהל באופן מלא ל-Redis.
- Compute Engine: שירות מחשוב מאובטח וניתן להתאמה אישית שמאפשר ליצור ולהריץ מכונות וירטואליות בתשתית של Google.
מידע על בחירת רכיבים חלופיים למערכת ה-AI האגנטית, כולל מסגרת, זמן ריצה של סוכן, כלים, זיכרון ודפוסי עיצוב, אפשר למצוא במאמר בחירת רכיבי הארכיטקטורה של ה-AI האגנטי.
תרחיש שימוש
ארכיטקטורת ההפניה הזו מיועדת לתרחישי שימוש שבהם נדרש סינתוז בזמן אמת של זרמי נתונים מולטי-מודאליים רציפים ודו-כיווניים. הנה כמה תרחישי שימוש בארכיטקטורה שמתוארת במסמך הזה:
- ייצור תעשייתי ותחזוקה בשטח: טכנאים יכולים לתקן מכונות מורכבות בלי להשתמש בידיים, בעזרת עוזר AI שמעבד אודיו ווידאו בזמן אמת ממשקפיים חכמים. הטכנאי מנהל שיחה עם העוזר הדיגיטלי מבוסס-AI כדי לאחזר סכמות של מכונות. העוזר הדיגיטלי מבוסס-AI משתמש בסוכן מסד נתונים פנימי שמאפשר לו לגשת לתיעוד המוצר כדי לספק הוראות תיקון והרכבה מבוססות. כלי ראייה מקבילי ברקע עוקב אחרי הזרם הדו-כיווני כדי להזהיר את הטכנאי באופן יזום מפני סכנות מכניות או שלבי הרכבה שגויים.
- תמיכה טכנית מרחוק: כדי לשפר את התוצאות של פתרון בעיות אצל לקוחות, אפשר לאפשר למשתמשים לשתף פיד המצלמה חי מהטלפון עם מערכת AI אקטיבי מרובת-אופנים. ארכיטקטורת הסטרימינג הדו-כיווני תומכת בשיחה דינמית שבה המערכת מתבוננת בחומרה בזמן אמת. אם תהליך ראייה ברקע מזהה חיבור פגום, כמו כבל שמחובר ליציאה הלא נכונה, המערכת משתמשת בזרם עם השהיה נמוכה כדי להפריע למשתמש באופן מיידי עם הנחיות לתיקון.
שיקולים בתכנון
בקטעים הבאים מפורטות המלצות כלליות לעיצוב סוכני ה-AI ולהטמעה של הארכיטקטורה הזו בסביבת ייצור.
תכנון סוכני AI
כדי לשפר את העלות והביצועים של הסוכנים, כדאי לפעול לפי ההמלצות הבאות:
- סקריפטים של לולאות בקרה: כותבים הנחיות למערכת עבור סוכנים חיים דו-כיווניים כלולאות התנהגות של מכונת מצבים קפדנית, ולא רק כהנחיות לפרסונה. ההנחיה המערכתית צריכה לצוות על הסוכן באופן מפורש לא להגיב עד שהוא מופעל. היא צריכה לאכוף תגובות קצרות שמתחילות בפעולה, כדי שהאינטראקציה הקולית תהיה תמציתית וטבעית.
- הפרדה בין נושאים: כדאי להשתמש בכלי ייעודי להזרמת רקע כדי לעקוב אחרי פידים של סרטונים בנפרד מהסוכן הראשי. הסוכן הראשי בארכיטקטורה הוא דו-כיווני, והוא יכול להפסיק באופן מיידי את הדיבור שלו כדי להקריא למשתמש את אזהרות הבטיחות החשובות האלה. בנוסף, אם תבקשו מסוכן אחד לעקוב כל הזמן אחרי פיד וידאו, זה עלול להוביל לעומס קוגניטיבי ולהזיות.
- יצירת הנחיות חסכוניות: האורך של ההנחיות (קלט) והתגובות שנוצרות (פלט) משפיע ישירות על הביצועים והעלות. כתבו הנחיות קצרות וישירות שמספקות מספיק הקשר. כדאי לעצב את ההנחיות כדי לקבל מהמודל תשובות תמציתיות. לדוגמה, אפשר להוסיף ביטויים כמו "סכם ב-2 משפטים" או "ציין 3 נקודות עיקריות". מידע נוסף זמין במאמר בנושא שיטות מומלצות לעיצוב הנחיות.
עיצוב הפקה
כדי להטמיע את הארכיטקטורה הזו בסביבת ייצור, כדאי לפעול לפי ההמלצות הבאות:
- אבטחת תעבורת נתונים נכנסת (ingress): כדי לשלוט בגישה לאפליקציה, משביתים את כתובת ה-URL שמוגדרת כברירת מחדל
run.appשל שירות Cloud Run בחזית האתר ומגדירים מאזן עומסים חיצוני אזורי של אפליקציות. בנוסף לאיזון העומסים של התנועה הנכנסת לאפליקציה, מאזן העומסים מטפל בניהול אישורי SSL. כדי להוסיף הגנה, אתם יכולים להשתמש במדיניות האבטחה של Google Cloud Armor כדי לספק סינון בקשות, הגנה מפני מתקפות DDoS והגבלת קצב לשירות. - בקרת גישה: כשמגדירים הרשאות למשאבים בטופולוגיה, חשוב לפעול בהתאם לעקרון של הרשאות מינימליות.
- חציצה אסינכרונית: כדי להפריד בין מנות אודיו ווידאו נכנסות לבין מנוע ההסקה של המודל, צריך להשתמש במאגר זמני (buffer) מסוג First-In-First-Out (FIFO) אסינכרוני שמאובטח לשימוש עם שרשורים. המאגר הזה פועל כמרבב שמבטיח שהמערכת תמשיך להגיב להפרעות של המשתמשים בלי שהממשק יקפא במהלך חישובים כבדים.
- עלויות של הכנסת נתונים: כדי להפחית את עלויות האסימונים ולמנוע את מיצוי חלון ההקשר, כדאי להשתמש בדגימת פריימים בתדירות נמוכה, למשל 2 פריימים לשנייה, ולדחוס את כל הנתונים לקובצי JPEG בקידוד Base64.
- שמירה במטמון בזיכרון: כדי להשיג מהירויות קריאה של פחות מאלפית השנייה, צריך להשתמש במסד נתונים של Memorystore for Redis Cluster בזיכרון עבור הכספת הסכמטית של סוכן הארכיטקט. ההטמעה הזו מצמצמת את זמן האחזור, מונעת שקט במהלך אינטראקציות קוליות בזמן אמת ומספקת מקור אמת יחיד שניתן להרחבה.
- אבטחת WebSocket: הגנה על נתונים רגישים מרובי-אופנים, כמו טביעות קול וסרטונים, באמצעות אכיפה של הצפנת TLS לכל חיבורי WebSocket דו-כיווניים.
- תקשורת מאובטחת בין אפליקציות (A2A):
- כדי לאבטח את התקשורת בין סוכנים, אפשר להשתמש בכרטיסי סוכן מאומתים ומורחבים.
- מצרפים אסימוני זהות של OpenID Connect (OIDC) לבקשות. אסימוני הזהות של OIDC מאפשרים להשתמש בניהול זהויות והרשאות גישה (IAM) כדי לוודא שרק סוכנים מורשים ניגשים לנתונים.
- הקצאת משאבים: בהתאם לדרישות הביצועים, מגדירים את מגבלות הזיכרון ומגבלות המעבד שיוקצו לשירות Cloud Run.
מידע נוסף על גורמים שמשפיעים על התכנון, שיטות מומלצות והמלצות לבנייה ולפריסה של מערכת AI מרובת סוכנים זמין במאמר מערכת AI מרובת סוכנים ב- Google Cloud.
פריסה
כדי לפרוס הטמעה לדוגמה של הארכיטקטורה הזו, אפשר לנסות את ה-Codelabs הבאים:
- Building an ADK bidirectional streaming agent Codelab: ב-Codelab הזה נסביר איך ליצור מערכת AI עם סוכן יחיד שמעבד וידאו סטרימינג בשידור חי כדי לזהות תנועות ידיים ספציפיות של המשתמש.
- שיעור Codelab בנושא מערכת מרובת סוכנים עם תקשורת דו-כיוונית בזמן אמת: בשיעור הזה נסביר איך ליצור מערכת AI מרובת סוכנים שמשתמשת בסטרימינג דו-כיווני לאינטראקציה בזמן אמת באמצעות קול ווידאו. המערכת כוללת כלי פרואקטיבי לסטרימינג לניטור רציף של הבטיחות.
המאמרים הבאים
- איך מתחילים ומנהלים סשנים בשידור חי
- מבוא לערכת הכלים של ADK Gemini Live API
- איך מארחים סוכני AI ב-Cloud Run
- איך בוחרים את רכיבי הארכיטקטורה של ה-AI האגנטי
- כדי ליצור ולפרוס סוכני AI ברמת הארגון, תוכלו להיעזר במקורות מידע ללימודים של Gemini Enterprise Agent Ready (GEAR).
- עולם תוכן מורחב: מדריכים לארכיטקטורת AI אקטיבי
- סקירה כללית של עקרונות והמלצות בנושא ארכיטקטורה שספציפיים לעומסי עבודה של AI ו-ML ב- Google Cloudמופיעה בפרספקטיבה של AI ו-ML ב-Well-Architected Framework.
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.
שותפים ביצירת התוכן
מחברים:
- Christina Lin | Developer Relations Engineer Manager
- Samantha He | Technical Writer
תורמי תוכן אחרים:
- קומאר דהנגופאל | מפתח פתרונות חוצי-מוצרים
- אוליבייה בורז'ואה | מהנדס קשרי מפתחים