אתם יכולים לקשר סוכנים של הערכה לפיתוח סוכנים (ADK) ל-Cloud Storage כדי לתת לעומסי עבודה של סוכנים גישה לנתונים שמאוחסנים ולערכות הכלים המובנות של ADK. השילוב הזה מאפשר לשמר מצב, זיכרון ונקודות ביקורת למשימות ארוכות, ולשתף קובצי ביניים בין Agentic Workflows.
הוראות להגדרה ודוגמאות לקוד מפורטות במדריך לשילוב ADK.
היתרונות של שילוב Cloud Storage עם ADK
כשמשלבים את Cloud Storage עם הנציגים, הם יכולים לטפל בקבצים גדולים, לשמור את היסטוריית השיחות ולהשתמש שוב בתשתית האחסון הקיימת.
- הרחבת הקשר דינמית: מאפשרת לנציגים לגשת למערכי נתונים גדולים, למדריכים או לקובצי מדיה בלי להגיע למגבלות על כמות הנתונים שמודל שפה גדול (LLM) יכול לקרוא בבת אחת.
- שמירה עמידה של פריטי מידע: אחסון קבצים זמניים, יומנים או פריטים שנוצרו (כמו דוחות או תמונות) באופן מהימן מחוץ להיסטוריית השיחות.
- תמיכה בכל סוג של פריט מידע שנוצר בתהליך הפיתוח (Artifact): עיבוד ויצירה של פורמטים שונים, כולל טקסט, תמונות, אודיו ווידאו, באמצעות Cloud Storage כנפח אחסון משותף.
- בקרת גישה פרטנית: שליטה בגישה של הסוכן ל-Cloud Storage באמצעות תפקידי IAM. כדי לוודא שלסוכנים יש רק את ההרשאות המינימליות שנדרשות כדי לגשת לנתונים או לבצע משימה, ADK משתמש באימות Google Cloud סטנדרטי.
תרחישים לדוגמה
אם תציידו את הנציגים שלכם ביכולות של 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.
- <!--Data pipeline handlers: You can have your agent receive a storage URI instead of consuming a large CSV.-->רכיבי 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.