אירוח סוכני AI במשאבי Cloud Run

בדף הזה מפורטים תרחישים לדוגמה לאירוח סוכני AI ב-Cloud Run.

סוכני AI הם ישויות תוכנה אוטונומיות שמשתמשות במערכות מבוססות-LLM כדי לתפוס, להחליט ולפעול להשגת יעדים. ככל שייבנו יותר סוכנים אוטונומיים, היכולת שלהם לתקשר ולשתף פעולה תהפוך לקריטית.

מה זה סוכן AI?

בחירת משאב Cloud Run

בהתאם לעיצוב של הסוכן, אפשר להפעיל את קונטיינר הסוכן כאחד מסוגי המשאבים הבאים ב-Cloud Run:

  • שירותים: מתאים לסוכנים בלי שמירת מצב שמבוססים על בקשות ומטפלים בתעבורת נתונים משתנה של משתמשים, נהנים מהתאמה אוטומטית לעומס ויכולים להצטמצם לאפס כשהם בלי פעילות. לדוגמה, ממשקי API של צ'אטבוטים ושרתי קצה עורפיים של ממשקי API לאינטרנט.
  • מופעים: מתאים במיוחד ללולאות סוכן סינגלטון ייעודיות, עם שמירת מצב ופעילות תמידית, שדורשות פקודות של מצב מחזור חיים כמו במכונות וירטואליות. דוגמאות: סוכנים אישיים כמו OpenClaw ו-Hermes.
  • מאגרי עובדים: מתאים במיוחד להרצת צי של סוכנים מבוזרים ברקע שמבצעים משימות מתורי הודעות, כמו Kafka או Pub/Sub, ומתבצעת התאמה אוטומטית של מספר העובדים בלי לחשוף נקודות קצה ציבוריות של HTTP.
  • משימות: מתאים במיוחד לתהליכי עבודה של סוכנים שפועלים עד לסיום, כמו הערכות בכמות גדולה, צינורות להטמעת נתונים בקנה מידה גדול או סקריפטים של סנכרון מתוזמן.

בחירת מסגרת הסוכן

לפני שפורסים את הסוכן ב-Cloud Run, בוחרים ומגדירים את מסגרת הסוכן באופן מקומי או בפלטפורמת הפיתוח. דוגמאות למסגרות של סוכנים כוללות את הערכה לפיתוח סוכנים (ADK),‏ Dify,‏ LangGraph ו-n8n.

ב-Cloud Run, הקוד שלכם בדרך כלל פועל כשירות. שני סוגי המשאבים האלה מריצים מופעי קונטיינר בסביבת ארגז חול באותה סביבת ביצוע, ומשתלבים עם שירותי Google Cloud .

ארכיטקטורה של סוכן AI ב-Cloud Run

ארכיטקטורה טיפוסית של סוכן AI שנפרסת ב-Cloud Run יכולה לכלול כמה רכיבים מ- Google Cloud וגם מחוץ ל-Google Cloud. בדוגמה הבאה מוצגת ארכיטקטורה של סוכן AI שמוטמע כשירות Cloud Run כדי לתזמר קבוצה של משימות אסינכרוניות ולספק מידע באמצעות אינטראקציות מרובות של בקשה-תשובה.

ארבעת הרכיבים של סוכן AI שמתארח ב-Cloud Run.
איור 1. ארכיטקטורה של סוכן AI ב-Cloud Run.

בתרשים מוצגים הפריטים הבאים:

  • פלטפורמת אירוח: שירות Cloud Run הוא נקודת קצה של API שניתנת להרחבה, עבור הלוגיקה המרכזית של האפליקציה. הוא מנהל ביעילות כמה משתמשים בו-זמנית באמצעות התאמה אוטומטית לעומס (auto-scaling), על פי דרישה ומהירה של מופעים. היתרונות של Cloud Run:

    • תומך בהרצת כל מסגרת סוכנים כדי ליצור סוגים שונים של סוכנים וארכיטקטורות של סוכנים.
    • תמיכה מובנית בזהות הסוכן. הכלי מקצה לסוכן זהות ייחודית שאפשר לאמת באמצעות הצפנה, כדי להתקשר לממשקי API ולכלים של Google Cloud , ולהתחבר בצורה מאובטחת לסוכנים אחרים. מידע נוסף זמין במאמר בנושא הגדרת תכונות של פלטפורמת סוכנים.
    • שילוב מובנה עם Agent Registry. הגדרת השירותים שפרסתם כסוכן או כשרת MCP לצורך גילוי אוטומטי ומנגנוני אימות חזקים מסוג סוכן לסוכן (A2A). מידע נוסף זמין במאמר בנושא הגדרת תכונות של פלטפורמת סוכנים.
    • תומך בחיבור של מסגרת הסוכן לשירותים אחרים. אתם יכולים לחבר את הסוכן לכלים מהדומיין הנוכחי או מצד שלישי שפרוסים ב-Cloud Run. לדוגמה, כדי לקבל תובנות לגבי המשימות וההפעלות של הסוכן, אפשר לפרוס ולהשתמש בכלים כמו Langfuse ו-Arize.
  • אינטראקציות עם סוכנים: Cloud Run תומך בהזרמת תגובות HTTP בחזרה למשתמש וב-WebSockets לאינטראקציות בזמן אמת.

  • מודלים של AI גנרטיבי: שכבת התזמור קוראת למודלים כדי להשתמש ביכולות ההסקה שלהם. המודלים האלה יכולים להיות מאוחסנים בשירותים כמו:

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

    • ‫Memorystore for Redis לזיכרון לטווח קצר.
    • ‫Firestore לזיכרון לטווח ארוך, כמו אחסון היסטוריית השיחות או זכירת ההעדפות של המשתמש על סמך נתונים גולמיים.
    • Memory Bank של Vertex AI Agent Engine‏ לזיכרון מותאם אישית לטווח ארוך. התכונה הזו מחלצת באופן אוטומטי את היסטוריית השיחות של המשתמש כדי לזכור את ההעדפות שלו ולעדכן אותן לאורך זמן. שימו לב: כדי להשתמש בתכונה הזו עם Cloud Run, צריך ליצור לפחות מופע אחד של Agent Engine.
  • מסד נתונים וקטורי: כדי לבצע Retrieval-Augmented Generation (יצירה משולבת-אחזור, RAG) או לאחזר נתונים מובְנים, משתמשים במסד נתונים וקטורי כדי לשלוח שאילתות לגבי מידע על ישויות ספציפיות או כדי לבצע חיפוש וקטורי של הטמעות. אפשר להשתמש בתוסף pgvector עם השירותים הבאים:

  • כלים: המערכת לניהול התהליכים משתמשת בכלים כדי לבצע משימות ספציפיות לצורך אינטראקציה עם שירותים חיצוניים, ממשקי API או אתרים. הנתונים האלה יכולים לכלול:

    • Model Context Protocol‏ (MCP): משתמשים בפרוטוקול הזה כדי לתקשר עם כלים חיצוניים שמופעלים דרך שרת MCP.
    • כלי עזר בסיסיים: חישובים מתמטיים מדויקים, המרות של זמן או כלי עזר דומים אחרים.
    • קריאה ל-API: שליחת קריאות לממשקי API פנימיים או של צד שלישי (גישת קריאה או כתיבה).
    • יצירת תמונות או תרשימים: יצירת תוכן ויזואלי במהירות וביעילות.
    • אוטומציה של דפדפן ומערכת הפעלה: אפשר להריץ מערכת הפעלה גרפית מלאה או מערכת הפעלה ללא ממשק משתמש גרפי בתוך מופעי קונטיינר כדי לאפשר לסוכן לגלוש באינטרנט, לחלץ מידע מאתרים או לבצע פעולות באמצעות קליקים וקלט מהמקלדת.
    • הרצת קוד: הרצת קוד בסביבה מאובטחת עם ארגז חול רב-שכבתי, עם הרשאות IAM מינימליות או ללא הרשאות כאלה.
    • הפעלת קוד ב-Vertex AI Agent Engine: הפעלת קוד בסביבות ארגז חול מאובטחות, מבודדות ומנוהלות שתומכות בקלט ופלט של קבצים, בהפעלת קוד שנמשכת פחות משנייה ובזיכרון לטווח ארוך. שים לב שעליך ליצור לפחות מופע אחד של Vertex AI Agent Engine כדי להשתמש בתכונה זו ב-Cloud Run.

המאמרים הבאים