WEBA

Vercel Drives מוסיף אחסון קבוע לסוכני AI אבל נועל כותבים

כונני האחסון החדשים של Vercel מונעים אובדן קבצים בריצות סוכנים, אך הגבלת כותב יחיד וחישובי הקריאה מחייבים תכנון זהיר.

654 מילים30 עובדות אומתו

סוכני 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
מאפייןVercel DriveSandbox Snapshot
סוג אחסוןספרייה בודדת הממופה לסביבהמערכת קבצים מלאה של הסביבה
הרשאות כתיבהכותב יחיד, קוראים מרובים בתמונת מצבעותק כתיבה עצמאי לכל סביבה
ביצועיםכתיבה במהירות NVMe, קריאה אטית בהחמצת מטמוןמהירות NVMe בקריאה ובכתיבה
נפח ברירת מחדל1 טרה-בייט (1 גיגה-בייט בחשבון חינמי)עד 64 גיגה-בייט
תוקף שמירהנשמר עד למחיקה יזומה30 יום כברירת מחדל
מחיר אחסון חודשי0.05 דולר לגיגה-בייט בתוספת קריאות וכתיבות0.08 דולר לגיגה-בייט

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

מה לעשות עכשיולפני שמתחילים להריץ סוכנים מקבילים, תכננו את השימוש בפקודת הפיצול drive.fork והגדירו מראש מכסות גודל כדי להימנע מנעילות כתיבה וחיובים עודפים.

מקורות

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

מה שואלים על זה

האם מספר סוכנים יכולים לכתוב לאותו כונן במקביל?

לא. Vercel Drives תומך בחיבור כותב יחיד בלבד בכל רגע נתון. כדי לאפשר עבודה מקבילית יש לפצל את הכונן או להשתמש בעותקי קריאה בלבד.

מה קורה לקבצים שנשמרו בכונן כשה-Sandbox נעצר?

הקבצים שנשמרו בתוך נתיב המיפוי של הכונן נשארים שלמים וזמינים להרצה הבאה, גם אם הסביבה הווירטואלית נסגרת לחלוטין.

האם אפשר להעביר כונן קיים בין אזורי שרתים שונים?

לא. האזור נקבע בעת יצירת הכונן ואינו ניתן לשינוי לאחר מכן, והסביבה שממפה אותו חייבת לפעול באותו אזור שרתים.

מה ההבדל בין Snapshot של כונן לבין Sandbox Snapshot?

תמונת מצב של כונן מספקת מבט קריאה בלבד על ספריית האחסון בלבד, בעוד שתמונת מצב של Sandbox שומרת את מערכת ההפעלה והסביבה כולה.