מבוא לאקוסיסטם: מה יש מסביב ל-LLM

מ-LLM גולמי לאפליקציית AI

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

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

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

Agent — מודל בתוך לולאה

Agent (סוכן) הוא LLM שרץ בתוך לולאה: במקום לענות פעם אחת, הוא מבקש לבצע פעולה, רואה את התוצאה ומחליט מה הצעד הבא — עד שהמטרה הושגה. את סדר הצעדים קובע המודל תוך כדי עבודה, לא קוד שנכתב מראש. זה ההבדל בין סוכן לבין פונקציה שקוראת למודל.

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

Harness — מי שמבצע בפועל

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

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

Tools ו-Skills — מאיפה מגיעות היכולות

Tool (כלי) הוא פעולה בודדת עם שם, תיאור וסכמת פרמטרים — "קרא קובץ", "הרץ שאילתת SQL", "שלח הודעה". המודל מבקש להפעיל כלי, וה-harness מבצע אותו ומחזיר את התוצאה כטקסט, כפי שראינו בפרק ה-Tool Use בנושא ה-LLM. MCP הוא פרוטוקול סטנדרטי שמאפשר לחבר כלים לכל סוכן בלי לכתוב אינטגרציה ייעודית לכל אחד מהם.

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

המפה המלאה — מה מחכה בהמשך

הנושא בנוי מ-14 פרקים, בארבעה חלקים:

הלולאה (פרקים 2–3): איך עובדת הלולאה האגנטית, ומתי עדיף בכלל workflow עם מסלול קבוע בקוד על פני סוכן שמחליט בעצמו.

התשתית (פרקים 4–8): Subagents, ה-Harness, Skills, Tools ו-MCP, ואיך מתכננים כלים שהמודל יודע להשתמש בהם היטב.

משימות ארוכות (פרקים 9–11): ניהול הקונטקסט תוך כדי עבודה, זיכרון שנשמר בין sessions, ותזמור של כמה סוכנים יחד.

אמינות ובטיחות (פרקים 12–14): איך מודדים אם סוכן באמת עובד, מה זה prompt injection ולמה הוא הסיכון המרכזי בסוכנים, ואיך בונים הגנה בכמה שכבות.

שאלות נפוצות

האם כל צ'טבוט הוא סוכן?

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

האם צריך framework כדי לבנות סוכן?

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

אם המודלים משתפרים כל הזמן, האם עדיין צריך harness שאוכף גבולות?

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