סוכני AI הם עובדים חרוצים, אבל הם סובלים מאמנזיה קשה בכל פעם שמכבים להם את המחשב. מי שבונה סוכנים אוטומטיים מכיר את הרוטינה המעיקה: הסוכן מתעורר בתוך מכונה וירטואלית מבודדת, מוריד שוב מאגר קוד שלם, מושך ספריות כבדות, מייצר תוצרים, וכשהמשימה נגמרת הכל נמחק. חברת Vercel הכריזה על Vercel Drives, שירות אחסון קבצים מתמשך שמיועד בדיוק לפתור את הניתוק הזה.
הפתרון שמוצג בהודעה הרשמית על Vercel Drives מפריד בין סביבת ההרצה של הסוכן לבין הקבצים עצמם. במקום להסתמך על מערכת הקבצים הזמנית של Vercel Sandbox, הכונן ממופה כספרייה קבועה בתוך המכונה הווירטואלית. ברגע שההרצה מסתיימת, ה-microVM נסגרת, אבל כל מה שנכתב בנתיב הממופה נשאר בדיוק במקום. סוכן אחר יכול להתחבר לאותו הכונן, לדלג על משימות סרק, ולהמשיך לעבוד מאותה נקודה.
סוף למחיקת הזיכרון בכל ריצה
הרעיון של כונן נפרד פותר בעיה פרקטית של עלויות וזמני ריצה. כשסוכן קוד צריך לנתח פרויקט, הורדת התלויות לבדה עשויה לקחת דקות ארוכות. אם הסביבה נסגרת בסוף כל שלב, החשבון מתנפח בגלל זמני מעבד שמבוזבזים על הורדות חוזרות ונשנות. עם כוננים מתמשכים, פעולת התקנה אחת משמשת את כל הריצות הבאות.
בנינו את Vercel Drives כדי לשמור על קובצי הסוכן עצמאיים מסביבת ההרצה שלו.ההכרזה הרשמית של Vercel
החיבור מתבצע דרך שורת הפקודה או ב-SDK.
החיבור למערכת מתבצע בקלות דרך שורת הפקודה או בספריית ה-SDK בשפת TypeScript. המפתח מגדיר נתיב מוחלט, כמו תיקיית עבודה ייעודית, וממפה אליו את הכונן. המערכת תומכת במיפוי של עד 4 כוננים שונים בו-זמנית לכל סביבת עבודה, מה שמאפשר להפריד בין קובצי מקור, מטמון של חבילות ונתוני פלט.
רק עט אחד על השולחן
כאן מגיעה האות הקטנה שמשנה את כל התמונה: כונן Vercel תומך בכותב בודד בלבד בכל רגע נתון. אי אפשר להריץ עשרה סוכנים במקביל שכותבים יחד לאותה ספרייה משותפת. המערכת נועלת את אפשרות הכתיבה לסביבה אחת בלבד. אם תנסו לחבר סביבה שנייה עם הרשאות כתיבה לאותו כונן פעיל, תקבלו שגיאה.
כדי להתמודד עם הצורך בקריאה מקבילית, החברה מאפשרת חיבור של עותקי קריאה בלבד באמצעות תמונות מצב של הכונן. עשרות סוכנים יכולים לקרוא נתונים מקובץ משותף בו-זמנית, בתנאי שהם לא מנסים לשנות אותו.
אם אתם צריכים שסוכנים מקבילים ישנו קבצים בו-זמנית, פקודת drive.fork היא הדרך היחידה לעשות זאת ללא נעילות.
אם אתם בכל זאת צריכים שסוכנים מקבילים יבצעו שינויים בקוד או בנתונים, Vercel מציעה את מנגנון הפיצול באמצעות פקודת drive.fork. פקודה זו יוצרת כונן עצמאי לחלוטין שמתחיל עם תוכן המקור, ומאפשר לסוכן החדש מרחב כתיבה פרטי משלו. המגבלה המשמעותית היא שהפיצולים האלה אינם מתמזגים בחזרה לכונן המקורי, מה שמחייב תכנון ארכיטקטוני קפדני לניהול התוצרים.
ההבדל בין כונן לתמונת מצב
עד עכשיו, הכלי העיקרי לשימור עבודה ב-Sandbox היה תמונות מצב של הסביבה כולה. תמונת מצב מקפיאה את כל מערכת ההפעלה, החבילות והקבצים, ושומרת עותק מלא בגודל של עד 64 גיגה-בייט. תמונות מצב אלה נמחקות כברירת מחדל אחרי 30 יום אם לא מאריכים את תוקפן, בעוד שכונן רגיל נשמר עד למחיקה יזומה.
השילוב היעיל ביותר לפי החברה הוא להשתמש בשני המנגנונים יחד. יוצרים תמונת מצב אחת שמכילה את כלי הפיתוח וההרצה הבסיסיים של הסוכן, ואליה ממפים כונן שמחזיק רק את הנתונים המשתנים. בדוקומנטציה מוסבר שהכונן משמש לספרייה בודדת שממשיכה בין ריצות, במקום לשכפל את כל מערכת ההפעלה.
למפתחים שעובדים מישראל, אין ל-Vercel אזור שרתים מקומי עבור כוננים. כונן שנוצר משויך לאזור ספציפי, כמו החוף המזרחי בארצות הברית כברירת מחדל, ואי אפשר להעביר אותו לאזור אחר אחרי ההקמה. המשמעות היא השהיית רשת קבועה בעבודה מול הסביבות.
המחיר האמיתי על הדיסק
מבחינת עלויות נפח, כונן Vercel נראה זול יותר מתמונת מצב רגילה. אחסון כונן עולה 0.05 דולר לגיגה-בייט בחודש, לעומת 0.08 דולר לגיגה-בייט בחודש עבור תמונת מצב. אולם לפי דוקומנטציית האחסון, המחיר של כוננים כולל גם תשלום נוסף על פעולות קריאה וכתיבה. בנוסף, קריאות שלא פוגעות במטמון סובלות מביצועים איטיים יותר לעומת מהירות ה-NVMe המלאה שמובטחת בכתיבה.
מגבלות הנפח שונות לחלוטין בין התוכניות. בחשבון חינמי הנפח מוגבל לגיגה-בייט יחיד, שמתמלא במהירות כמעט מיידית. בחשבונות בתשלום ברירת המחדל עומדת על 1 טרה-בייט ומכסת ברירת המחדל המקסימלית היא 16 טרה-בייט, עם אפשרות לבקש מכסה גבוהה יותר. לא הייתי ממהר להעביר את כל תשתיות הנתונים לשם בלי לבדוק קודם את קצב פעולות הכתיבה של הסוכן שלכם.
| מאפיין | Vercel Drive | Sandbox Snapshot |
|---|---|---|
| סוג אחסון | ספרייה בודדת הממופה לסביבה | מערכת קבצים מלאה של הסביבה |
| הרשאות כתיבה | כותב יחיד, קוראים מרובים בתמונת מצב | עותק כתיבה עצמאי לכל סביבה |
| ביצועים | כתיבה במהירות NVMe, קריאה אטית בהחמצת מטמון | מהירות NVMe בקריאה ובכתיבה |
| נפח ברירת מחדל | 1 טרה-בייט (1 גיגה-בייט בחשבון חינמי) | עד 64 גיגה-בייט |
| תוקף שמירה | נשמר עד למחיקה יזומה | 30 יום כברירת מחדל |
| מחיר אחסון חודשי | 0.05 דולר לגיגה-בייט בתוספת קריאות וכתיבות | 0.08 דולר לגיגה-בייט |
הכוננים החדשים מספקים מענה מצוין לניהול מצב מתמשך, כל עוד זוכרים שהם כונן עבודה ולא מסד נתונים מבוזר. בינתיים, אם רציתם ששני סוכנים יכתבו יחד לאותו קובץ, תצטרכו להמשיך להשתמש בנעילות משלכם.
מקורות
- Introducing Vercel Drives: persistent storage for agentshttps://vercel.com/blog/introducing-vercel-drives-persistent-storage-for-agents
- Driveshttps://vercel.com/docs/sandbox/concepts/drives
- Vercel Sandboxhttps://vercel.com/docs/sandbox
- How Vercel Drives work and how to use them | Vercel Knowledge Basehttps://vercel.com/kb/guide/vercel-drives
- Vercelhttps://weba.co.il/tools/vercel/
- TypeScripthttps://weba.co.il/glossary/typescript/
הידיעה נכתבה מהמקורות שלמעלה בתאריך הפרסום, וכל טענה בה נבדקה מולם. מצאתם טעות? כתבו.