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

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

מה זה סוכן AI?

בחירת משאב של Cloud Run

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

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

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

לפני שפורסים את הנציג ב-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 שניתן להתאים את הגודל שלה, והיא משמשת ללוגיקה העיקרית של האפליקציה. הוא מנהל ביעילות מספר משתמשים בו-זמנית באמצעות התאמה אוטומטית, מהירה ועל פי דרישה לעומס (scaling) של המכונות. אלה היתרונות של Cloud Run:

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

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

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

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

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

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

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