סביבת ביצוע הסוכן
סביבת הביצוע של הסוכן היא יכולת הפיתוח העצמי של 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 מעל סף סיווג
- רשימת פקודות אסורות מותאמת מעבר לרשימת פקודות מסוכנות ברירת מחדל
