אתם יכולים לקשר סוכנים של הערכה לפיתוח סוכנים (ADK) ל-Cloud Storage כדי לתת לעומסי עבודה של סוכנים גישה לנתונים שמאוחסנים ולערכות הכלים המובנות של ADK. השילוב הזה מאפשר לשמר מצב, זיכרון ונקודות ביקורת למשימות ארוכות, ולשתף קובצי ביניים בין Agentic Workflows.
הוראות להגדרה ודוגמאות לקוד מפורטות במדריך לשילוב ADK.
היתרונות של שילוב Cloud Storage עם ADK
כשמשלבים את Cloud Storage עם הנציגים, הם יכולים לטפל בקבצים גדולים, לשמור את היסטוריית השיחות ולהשתמש שוב בתשתית האחסון הקיימת.
- הרחבת הקשר דינמית: מאפשרת לסוכנים לגשת לקבוצות נתונים גדולות, למדריכים או לקובצי מדיה בלי להגיע למגבלות על כמות הנתונים שמודל שפה גדול (LLM) יכול לקרוא בבת אחת.
- שמירה עמידה של פריטי מידע: אחסון קבצים זמניים, יומנים או פריטים שנוצרו (כמו דוחות או תמונות) באופן מהימן מחוץ להיסטוריית השיחות.
- תמיכה בכל סוג של פריט מידע שנוצר בתהליך הפיתוח (Artifact): עיבוד ויצירה של פורמטים שונים, כולל טקסט, תמונות, אודיו ווידאו, באמצעות Cloud Storage כנפח אחסון משותף.
- בקרת גישה מפורטת: שליטה בגישה של הסוכן ל-Cloud Storage באמצעות תפקידי IAM. ה-ADK משתמש באימות Cloud de Confiance by S3NS סטנדרטי כדי לוודא שלסוכנים יש רק את ההרשאות המינימליות שנדרשות כדי לגשת לנתונים או לבצע משימה.
תרחישים לדוגמה
אם תציידו את הנציגים שלכם ביכולות של Cloud Storage, תוכלו לטפל בתרחישים הבאים:
- אחזור הקשר דינמי, שנקרא גם Retrieval-Augmented Generation (יצירה משולבת-אחזור, RAG)
- שמירה והעברה לארכיון של פריטי מידע שנוצרו בעזרת AI
- עיבוד מטען ייעודי (payload) גדול
- ניהול משאבים אוטומטי
אחזור הקשר דינמי באמצעות RAG
הנציגים יכולים לפעול כחוקרים על ידי איתור וקריאה של מסמכים ב-Cloud Storage כדי לענות על שאלות בזמן אמת. הגישה הזו שימושית למאגרי ידע פנימיים או לבוטים של תמיכה.
- חיפוש מדיניות: אתם יכולים להגדיר לנציג להציג רשימה של מדריכי ה-PDF העדכניים בקטגוריית
compliance-docsולקרוא אותם כדי לענות על שאילתות של משתמשים לגבי מדיניות החברה. - סינתזה של כמה אובייקטים: אתם יכולים ליצור נציג שיאחזר וישלב מידע מכמה אובייקטים באחסון כדי ליצור סיכום מאוחד.
שמירה והעברה לארכיון של פריטי מידע שנוצרו על ידי AI
שמירה אמינה של כמויות גדולות של נתונים שנוצרו על ידי נציגים לצורך בדיקה אנושית, מערכות אחרות או ביקורת.
- דיווח אוטומטי: אתם יכולים ליצור נציג שמנתח מדדים של מסד נתונים, יוצר דוח מסכם ומעלה אותו לקטגוריה ב-
reports-archive. - אחסון מדיה שנוצרה: אתם יכולים להגדיר מערכת מרובת סוכנים כך שתשמור אובייקטים של תמונות או אודיו שנוצרו ב-Cloud Storage, ותחזיר רק את ה-URI של האחסון או כתובת URL חתומה.
עיבוד מטען ייעודי (payload) גדול
תכננו את הנציגים כך שישתמשו בכתובות URI של אחסון (נתיבי קבצים) במקום להדביק את תוכן הקובץ המלא בצ'אט. כך אפשר להימנע מהעלות הגבוהה ומהחוסר היעילות של שליחת קובצי CSV או בסיסי קוד גדולים ל-LLM.
- רכיבי handler של פייפליין נתונים: אתם יכולים להגדיר שהסוכן יקבל URI של אחסון במקום לצרוך קובץ CSV גדול. לאחר מכן, הנציג יכול לבצע ניתוח על ידי עיבוד מקטעים או בדיקת מטא-נתונים ולהחזיר לוח בקרה מסכם.
- תהליכי עבודה מנותקים: אתם יכולים לתכנן נציג שיפעל כמפקח ויקבל URI של אחסון לקידומת, לתיקייה או לקטגוריה של Cloud Storage. הסוכן יכול להעביר את ה-URI הזה ל-workers בקצה העורפי כדי לעבד את האובייקטים ולכתוב את התוצאות הסופיות בחזרה לאחסון. התבנית הזו תואמת לשירותים מבוססי-אירועים כמו פונקציות Cloud Run או Cloud Run לעיבוד נתונים באופן אסינכרוני.
ניהול משאבים אוטומטי
הסוכנים יכולים לעזור לכם לבצע אופטימיזציה של נפח האחסון הנדרש, להפוך משימות ניהוליות לאוטומטיות ולאכוף את הממשל בכמה קטגוריות. האפשרות הזו שימושית במיוחד לצוותים שמנהלים תשתית אחסון נרחבת.
- ביקורת תשתית: אתם יכולים ליצור נציג שיסרוק את הגדרות הקטגוריה (כמו מיקום או סוג אחסון), יציע אופטימיזציות או יזהה הגדרות שלא תואמות.
- ניקוי משאבים: אתם יכולים ליצור סוכן שיזהה קטגוריות ריקות או לא עדכניות וינקה אותן באופן אוטומטי בהתאם למדיניות שמירת הנתונים שלכם.
ערכות כלים של ADK ל-Cloud Storage
ADK מספק את ערכות הכלים הבאות ב-Python ל-Cloud Storage. הבנת ההבדלים ביניהם תעזור לכם להגדיר את התפקידים של הנציגים ולהגביל את ההרשאות שלהם.
GCSToolset לניהול נתונים
ערכת הכלים של GCSToolset מאפשרת לסוכן לבצע פעולות בקבצים בתוך קטגוריות קיימות. אפשר להשתמש בו למשימות כמו קריאת מסמכים, העלאת תוצאות או מחיקת אובייקטים זמניים.
- קריאת אובייקטים: אחזור תוכן ישירות באמצעות
get_object_data. - למצוא תוכן: מציגים רשימה של האובייקטים הזמינים באמצעות
list_objects. - בדיקת מאפייני אובייקטים: בודקים את גודל האובייקט או את המטא-נתונים של
Content-Typeבאמצעותget_object_metadata. - העלאה ושמירה: יצירת אובייקטים חדשים באמצעות
create_object. - הסרת אובייקטים: מסירים אובייקטים זמניים באמצעות
delete_objects.
GCSAdminToolset לתשתית
משתמשים בערכת הכלים של GCSAdminToolset כדי לנהל את תשתית האחסון, למשל ליצור קטגוריות או להפוך משימות ניהוליות לאוטומטיות.
- זיהוי התשתית: הצגת רשימה של הקטגוריות בפרויקט באמצעות
list_buckets. - הקצאת נפח אחסון: יצירת קטגוריות חדשות באמצעות
create_bucket. - הגדרה מחדש של האחסון: שינוי ההגדרות באמצעות
update_bucket. - ביטול הקצאת האחסון: מסירים קטגוריות באמצעות
delete_bucket. - בדיקת ההקשר של הקטגוריה: קבלת המטא-נתונים של הקטגוריה באמצעות
get_bucketכדי לבדוק את המיקום, את סוג האחסון או את אמצעי בקרת הגישה של הקטגוריה.
שיטות מומלצות
כדי לשפר את הביצועים והאבטחה של הנציג כשמשלבים אותו עם Cloud Storage, כדאי לפעול לפי השיטות המומלצות הבאות:
- הפרדת מטען ייעודי (payload) גדול מהיסטוריית השיחות: אל תעבירו קבצים גדולים ישירות לנציג. אחסנו אותם ב-Cloud Storage ושלחו במקום זאת הפניות לקבצים (URI). כך אפשר להפחית את עלויות הטוקנים ולמנוע חריגה ממגבלות ההקשר.
- החלת העיקרון של הרשאות מינימליות: נותנים לנציג רק את ההרשאות המינימליות שנדרשות לביצוע המשימות שלו. הימנעו מתפקידים רחבים כמו
roles/storage.admin, אלא אם אתם מנהלים תשתית. לפעולות רגילות על קבצים, השתמשו בתפקידים ממוקדים כמוroles/storage.objectUserאוroles/storage.objectViewerשמוגבלים לקטגוריות ספציפיות. - ניהול הגדרות באופן מרכזי: אל תגדירו באופן קשיח שמות של קטגוריות או נתיבים של שמות אובייקטים בלוגיקה של הנציג. כדי לעבור בין סביבות אחסון של פיתוח, בדיקה וייצור, השתמשו במשתני סביבה או במנהלי הגדרות.
- הטמעת אסטרטגיות יעילות לאחזור: כשמשתמשים ב-Cloud Storage כשכבה לאחזור ידע, לא כדאי לטעון מסמכים גדולים שלמים להקשר של הנציג. עבדו מראש את המסמכים וחלקו אותם לחלקים, או השתמשו בכלי חיפוש ייעודיים כדי לאחזר רק את הקטעים הרלוונטיים.
מגבלות
כשמשלבים את Cloud Storage עם ADK, חשוב לזכור את המגבלות הבאות:
- אובייקטים שלא ניתנים לשינוי: אובייקטים ב-Cloud Storage לא ניתנים לשינוי. אי אפשר להוסיף נתונים לאובייקט קיים. אם הסוכן צריך לתעד אירועים באופן רציף בקובץ אחד, הוא צריך להחליף את האובייקט לחלוטין או ליצור כמה אובייקטים קטנים ולחבר אותם מאוחר יותר.
- זמן אחזור בניהול מצב בתדירות גבוהה: Cloud Storage מתאים לאחסון פריטי מידע שנוצרו בתהליך הפיתוח (Artifact) ולמטענים ייעודיים (payloads) גדולים. עם זאת, שימוש ב-Cloud Storage לעדכוני מצב בתדירות גבוהה ובזמן אחזור קצר עלול לגרום לזמן אחזור. לדוגמה, מעקב אחרי כל תפנית בשיחה מהירה יכול להיות איטי יותר משימוש במטמון הזיכרון או במסדי נתונים.
- חוסר באטומיות של אובייקטים מרובים: פעולות ב-Cloud Storage חלות על אובייקטים בודדים. אם הנציג שלכם דורש עדכונים אטומיים בכמה קבצים בו-זמנית, אתם צריכים להטמיע לוגיקת תיאום באפליקציה.
המאמרים הבאים
- במדריך לשילוב ADK מופיעות דוגמאות קוד מפורטות, הוראות הגדרה והפניות לפרמטרים להפעלת ערכות הכלים של Cloud Storage באפליקציית Python.
- כדי להשתמש במיומנויות של סוכנים מוכנים מראש עם סוכני ADK או עוזרי AI לעזרה בתכנות, קראו את המאמר מיומנויות של סוכני Cloud Storage.