Skip to content

סביבת ביצוע הסוכן

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

לא ארגז החול לתוספים

סביבת הביצוע שונה מהותית מארגז החול לתוספים. הבנת ההבחנה חשובה:

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

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

היבטארגז חול לתוספיםסביבת ביצוע הסוכן
מטרההגנה על המערכת מפני קוד לא מהימןהעצמת הסוכן לבנות דברים
מערכת קבציםללא (מבודד לחלוטין)ספריית מרחב עבודה בלבד
רשתנקודות קצה מוצהרות בלבדרשימות היתר/חסום לפי מדיניות
התקנת חבילותלא מותרמותר (npm, pip, deno add)
זמן ביצועtimeout מחמירtimeout נדיב (ניתן להגדרה)
איטרציההרצה בודדתלולאות כתיבה/הרצה/תיקון ללא הגבלה
שמירהארעימרחב עבודה נשמר בין סשנים

לולאת המשוב

המבדל האיכותי המרכזי. זהו אותו דפוס שהופך כלים כמו Claude Code לאפקטיביים -- מחזור כתיבה/הרצה/תיקון צמוד שבו הסוכן רואה בדיוק מה שמפתח אנושי היה רואה.

שלב 1: כתיבה

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

שלב 2: ביצוע

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

שלב 3: צפייה

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

שלב 4: תיקון

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

שלב 5: חזרה

הסוכן מריץ שוב. לולאה זו ממשיכה עד שהקוד עובד.

שלב 6: שמירה

ברגע שעובד, הסוכן יכול לשמור את עבודתו כמיומנות (SKILL.md + קבצי תמיכה), לרשום אותה כאינטגרציה, לחבר אותה למשימת cron, או להפוך אותה לזמינה ככלי.

שלב השמירה הוא מה שהופך את סביבת הביצוע ליותר מגיליון שרטוטים.

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

כלים זמינים

כליתיאורפלט
write_fileכתיבה או דריסה של קובץ במרחב העבודהנתיב קובץ, בתים שנכתבו
read_fileקריאת תוכן קובץ ממרחב העבודהתוכן קובץ כמחרוזת
edit_fileהחלת עריכות ממוקדות לקובץתוכן קובץ מעודכן
run_commandביצוע פקודת shell במרחב העבודהstdout, stderr, קוד יציאה, משך
list_directoryרשימת קבצים במרחב העבודה (רקורסיבי אופציונלי)רשימת קבצים עם גדלים
search_filesחיפוש תוכן קבצים (דמוי grep)שורות תואמות עם הפניות קובץ:שורה

מבנה מרחב עבודה

כל סוכן מקבל ספריית מרחב עבודה מבודדת הנשמרת בין סשנים:

~/.triggerfish/workspace/
  <agent-id>/                     # מרחב עבודה לכל סוכן
    scratch/                      # קבצי עבודה זמניים
    integrations/                 # קוד אינטגרציה בפיתוח
      notion-sync/
        index.ts
        index_test.ts
        package.json
    skills/                       # מיומנויות בכתיבה
      morning-briefing/
        SKILL.md
        briefing.ts
    .exec_history                 # יומן ביצוע לביקורת
  background/
    <session-id>/                 # מרחב עבודה זמני למשימות רקע

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

גבולות אבטחה

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

גבולות מוחלטים

גבולות אלו לעולם אינם נחצים, ללא קשר לתצורה:

  • אינו יכול לכתוב מחוץ לספריית מרחב העבודה
  • אינו יכול לבצע פקודות ברשימת האיסור (rm -rf /, sudo, וכו')
  • אינו יכול לגשת למרחבי עבודה של סוכנים אחרים
  • כל קריאות הרשת נשלטות על ידי ווי מדיניות
  • כל הפלט מסווג ותורם לזיהום הסשן
  • מגבלות משאבים נאכפות: שטח דיסק, זמן CPU לביצוע, זיכרון

אבטחה כל פקודה שהסוכן מריץ עוברת דרך הוו PRE_TOOL_CALL.

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

בקרות ארגוניות

למנהלי ארגונים יש בקרות נוספות על סביבת הביצוע:

  • השבתת exec לחלוטין לסוכנים או תפקידים ספציפיים
  • הגבלת סביבות ריצה זמינות (למשל, אפשרו רק Deno, חסמו Python ו-shell)
  • הגדרת מגבלות משאבים לכל סוכן (מכסת דיסק, זמן CPU, תקרת זיכרון)
  • דרישת אישור לכל פעולות exec מעל סף סיווג
  • רשימת פקודות אסורות מותאמת מעבר לרשימת פקודות מסוכנות ברירת מחדל