חזרה לבלוג

סוכנים ותשתיות פרטיותפורסם: · עודכן: · כ־7 דקות קריאה

מאת נתנאל סיבוני

OpenClaw על שרת פרטי: שליטה בתשתית אינה שליטה אוטומטית בסוכן

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

בקצרה

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

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

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

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

ה־Gateway הוא מרכז המערכת, לא המודל עצמו

בתיעוד OpenClaw, ה־Gateway הוא שירות מתמשך שמנהל חיבורי ערוצים ומספק ממשק ללקוחות ולמכשירים. ממשק רשת, כלי ניהול ומכשירי Node מתחברים אליו, בעוד שהסוכן משתמש במודלים ובכלים שהוגדרו.

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

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

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

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

ערוץ הודעות הוא גם שער כניסה

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

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

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

חשוב להפריד גם בין הרשאת שיחה להרשאת פעולה. אדם יכול להיות רשאי לקבל תשובה בלי להיות רשאי לשלוח הודעה בשם העסק או לשנות קובץ.

גבול אמון אחד אינו בידוד בין לקוחות מתחרים

תיעוד האבטחה של OpenClaw מגדיר במפורש הנחה של גבול אמון אחד לכל Gateway: מפעיל יחיד או צוות שחבריו נותנים אמון זה בזה.

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

נדרשת ארכיטקטורת הפרדה מתאימה: זהויות, נתונים, פרטי גישה וסביבות. בחלק מהתרחישים המשמעות היא Gateways נפרדים ואף משתמשי מערכת או מארחים נפרדים.

שיחה נפרדת היא יחידת חוויה; היא אינה בהכרח יחידת בידוד. הבלבול בין השתיים עלול להוביל לתכנון שאינו מתאים למטרת השירות.

Sandbox צריך לבדוק, לא להניח

לפי התיעוד הנוכחי, OpenClaw יכולה להריץ ביצוע כלים בתוך סביבת Sandbox, אך היכולת כבויה כברירת מחדל אלא אם הוגדרה מדיניות שמפעילה או מחייבת אותה. ה־Gateway עצמו נשאר על המארח.

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

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

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

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

דפדפן מחובר הוא יותר מחלון לאינטרנט

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

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

גם תוכן הדפים אינו הוראה מורשית. סוכן שגולש קורא מידע שגורמים אחרים שולטים בו. Prompt Injection מסביר מדוע אסור לתת למידע הזה לשנות בשקט את מטרת המשימה.

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

זיכרון מקומי דורש מדיניות

אחד היתרונות של סוכן מתמשך הוא היכולת לשמור החלטות והעדפות. אבל זיכרון אינו צריך להפוך לאוסף בלתי מוגבל של כל מה שנאמר.

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

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

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

פרטי גישה אינם חומר לשיחה

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

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

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

שרת פרטי מאפשר לכם לקבוע מדיניות כזאת. הוא גם מעביר אליכם את האחריות לתחזוקה שלה.

אוטומציה מתוזמנת צריכה להסתיים בראיה

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

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

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

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

תחזוקה היא חלק מהמחיר

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

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

גם הגיבוי צריך תרגיל שחזור. מערכת שעולה בלי מצב השיחות או בלי לדעת מה כבר בוצע יכולה ליצור עבודה כפולה.

עלות אמיתית של סוכני AI כוללת את התפעול הזה. שרת פרטי יכול להיות בחירה טובה בשל שליטה וגמישות, אך אינו תמיד האפשרות הזולה או הפשוטה ביותר.

איך מתחילים בלי לחבר את כל החיים ביום הראשון

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

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

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

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

השורה התחתונה

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

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

שאלות נפוצות

האם שרת פרטי אומר שהמודל מקומי?

לא. אפשר להפעיל Gateway מקומי ולשלוח בקשות למודל חיצוני. צריך לבדוק בנפרד את ספק ההסקה ואת מסלול הנתונים.

האם Sandbox מופעל תמיד?

לא לפי התיעוד הנוכחי. יש לבדוק את המדיניות ואת הכלים שנכללים בבידוד בתצורה שלכם.

האם שיחות נפרדות מספיקות לשירות לכמה לקוחות?

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

מה כדאי לחבר ראשון?

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