סוגי סוכני AI: מדריך מקיף לטקסונומיה של סוכנים
הכירו את סוגי סוכני ה-AI: מרפלקסיביים פשוטים ועד מבוססי תועלת ולמידה. המדריך מסביר אילו סוכנים מתאימים לצרכים שלכם ואילו מהם ניתן להריץ באופן עצמאי ב-self-hosting.
סוגי סוכני AI
סוגי סוכני ה-AI נגזרים מטקסונומיה אחת: סוכנים רפלקסיביים פשוטים, סוכנים רפלקסיביים מבוססי מודל, סוכנים מבוססי מטרה, סוכנים מבוססי תועלת, וסוכנים לומדים. כל שם מתאר דבר אחד: כמה הסוכן זוכר וכמה רחוק הוא מתכנן קדימה לפני שהוא פועל. שני מונחים נוספים, רב-סוכנים (multi-agent) והיררכיים, מתארים כיצד כמה סוכנים מחוברים יחד, ולא כיצד סוכן בודד מקבל החלטות.
רשימה זו עתיקה יותר מכל מודל שבו השתמשת. היא מגיעה מספרי הלימוד הסטנדרטיים של תחום ה-AI, והיא שרדה את הגעתם של מודלי שפה גדולים (LLMs) כיוון שהיא שואלת את השאלה שעדיין קובעת את התכנון שלך: מה הדבר הזה צריך לדעת לפני שהוא פועל? אם אתה עדיין מנסה להבין היכן מסתיים סוכן והיכן מתחיל עוזר צ'אט, קרא תחילה את ההבדל בין סוכן AI לבין ה-LLM שעליו הוא רץ. דף זה מתחיל לאחר נקודה זו.
סוכנים רפלקסיביים פשוטים: תנאי אחד, פעולה אחת
סוכן רפלקסיבי פשוט ממפה את הקלט הנוכחי לפעולה ואינו שומר זיכרון של אירועים קודמים. אם הטמפרטורה גבוהה מ-25, הפעל את המאוורר. זהו כל המנגנון.
כמעט בוודאות הפעלתם סוכן כזה בעבר. Webhook שמפעיל workflow ב-n8n, שקורא נתונים מטופס וכותב שורה למסד נתונים, הוא סוכן רפלקסיבי פשוט. הוא נשאר כזה גם כאשר מודל שפה מתווך ביניהם ובוחר קטגוריה לאותה שורה. אם תשאלו אותו מה הוא עשה לפני שעה, הוא לא יוכל להשיב, כיוון ששום דבר לא שמר את התשובה.
סוג זה נכון לעיתים קרובות יותר ממה שאנשים מצפים. עלות ההרצה שלו נמוכה, והכשל שלו ברור: התנאי התקיים, או שלא. כאשר המשימה היא באמת "כאשר X מגיע, בצע את Y", הוספת זיכרון רק מייצרת דרכים נוספות לטעות מבלי להוסיף תועלת. סוכן n8n המופעל על ידי webhook הוא שורה זו בטקסונומיה עם ממשק משתמש מעליה.
הוא נכשל ברגע שהפעולה הנכונה תלויה בהיסטוריה. בוט מענה ללא מצב של שרשור (thread state) יסתור את עצמו בהודעה השלישית, כיוון ששתי ההודעות הראשונות מעולם לא היו חלק מהקלט שלו.
סוכנים רפלקסיביים מבוססי מודל: שמירת מצב בין אירועים
סוכן רפלקסיבי מבוסס מודל מחזיק תמונה פנימית של הסביבה שלו ומעדכן אותה עם הגעת קלט חדש. המילה "מודל" בהקשר זה מתייחסת למודל של העולם, ולא לרשת נוירונים. המונח קדם למשמעות הנוכחית שלו בכארבעים שנה, והוא מבלבל כמעט כל אדם בקריאה ראשונה.
כלל באוטומציה ביתית שמכבה אורות לאחר עשרים דקות ללא תנועה הוא מבוסס מודל. הוא חייב להיות כזה. "אין תנועה כרגע" ו"אין תנועה מאז 21:40" הם אותו קלט עבור סוכן רפלקסיבי פשוט, לכן רק מצב שמור מאפשר להבדיל ביניהם.
הגרסה של LLM היא כל סוכן שיש מאחוריו מאגר זיכרון: סיכום שיחה מתגלגל, או קובץ markdown פשוט שהסוכן קורא בתחילת כל הרצה. שירות זיכרון מקומי עבור סוכן הוא הרעיון הזה באריזה מוכנה. המנגנון אינו משתנה. התמונה של הסוכן על העולם מאריכה ימים מעבר לאירוע שיצר אותה.
למצב יש מחיר. עובדה מיושנת גרועה יותר מחוסר עובדה, כיוון שהסוכן פועל לפיה בביטחון מלא וללא אזהרה. כל דבר שאתם שומרים זקוק לדרך לפוג או לדרך להיבדק מחדש, אחרת הסוכן ימשיך להסיק מסקנות לגבי שרת שהוצאתם משימוש במרץ.
סוכנים מבוססי מטרה: תכנון לעבר מצב שניתן לאימות
סוכן מבוסס מטרה מקבל מצב יעד ומחפש רצף פעולות שיוביל אליו. הוא פועל לאחור מהנקודה שבה הוא אמור לסיים, לכן המסלול אינו כתוב מראש.
סוכן תכנות הוא הדוגמה הברורה ביותר שניתן להריץ באופן עצמאי. ההוראה "גרום לבדיקה שנכשלה לעבור" אינה מציינת קבצים או שלבים ספציפיים. הסוכן קורא את הבדיקה, מגבש תוכנית, עורך שינוי כלשהו, מריץ את הבדיקה, קורא את השגיאה ומנסה שוב. הלולאה מסתיימת בבדיקה שהסוכן מסוגל לבצע בפועל; זו הסיבה שהוראה כזו עובדת, בעוד שהוראה כמו "שפר את הקוד הזה" אינה עובדת. מטרה שהסוכן יכול להעריך היא מטרה שהסוכן יכול להשיג. מטרה שהוא אינו יכול להעריך הופכת ללולאה אינסופית עם חשבונית מצורפת. הרצת סוכן תכנות על ה-VPS שלך מציבה את הלולאה הזו במקום שבו היא יכולה לעבוד מבלי להעמיס על המחשב האישי שלך.
העלות טמונה בשורה הזו. כל שלב בתכנון הוא קריאה נוספת למודל הנושאת את ההיסטוריה עד כה, לכן משימה של עשרה שלבים אינה עולה פי עשרה ממשימה של שלב אחד, אלא יותר מכך. ההנדסה שקובעת היא צורת הלולאה והתנאי שעוצר אותה, וזהו הנושא של הנדסת לולאות.
סוכנים מבוססי תועלת: בחירה בין כמה תשובות טובות
יעד הוא בינארי. תועלת היא ציון. סוכן מבוסס תועלת ניצב בפני כמה תוצאות קבילות ובוחר את זו שמקבלת את הציון הגבוה ביותר לפי פונקציה שכתבת.
משימת גיבוי שחייבת להסתיים לפני תחילת יום העבודה מבלי להעמיס על ה-uplink היא בעיית תועלת. אין תשובה אחת נכונה, אלא רק פשרה. נתב שמחליט איזה מודל יטפל באיזו בקשה, תוך שקלול מחיר מול איכות התשובה, פועל באותו אופן.
האלגוריתם אינו החלק הקשה. כתיבת פונקציית תועלת כנה היא החלק הקשה. אם תתנו ציון רק על בסיס עלות, תקבלו את המודל הזול ביותר בכל בקשה, כולל הבקשה היחידה שהייתה זקוקה למודל היקר. המערכת מבצעת אופטימיזציה בדיוק למה שמדדתם, וזו בעיה כאשר מה שמדדתם נבחר רק כי היה קל למדוד אותו.
סוכני למידה: הסוג שרוב האנשים מניחים שכבר יש להם
סוכן למידה משנה את התנהגותו על סמך משוב מתוצאות עבר. הוא זקוק למנגנון שמעריך את התוצאה ומנגנון שמשנה את המדיניות בתגובה.
מעט מאוד מערכות באירוח עצמי עומדות בהגדרה זו. סוכן שקורא הערות שכתב בשבוע שעבר הוא סוכן מבוסס-מודל עם קובץ זיכרון. המשקולות שלו זהות. המדיניות שלו זהה. שליפת מידע אינה למידה, וההבחנה הזו היא מעשית: מערכת מבוססת-זיכרון תחזור על טעות לנצח אלא אם כן משהו יערוך את הזיכרון, בעוד שמערכת למידה אמורה להפסיק לבצע אותה.
אם אתם מעוניינים בחלק של הלמידה, בנו תחילה את מנגנון ההערכה. קבוצת מבחן עם ניקוד, הרצה של השינוי שלכם מולו, והחלטה אם לשמור או לבטל את השינוי – כל אלו מהווים לולאה סגורה שבה אתם מהווים את רכיב הלמידה. זה איטי יותר מכפי שזה נשמע, וזו הגרסה היחידה שעובדת כיום על רכיבים באירוח עצמי. אירוח עצמי של תשתית הערכה הוא המקום שבו זה מתחיל.
מערכות מרובות סוכנים ומערכות היררכיות: סידורים, לא סוגים
אלו אינם סוג שישי וסוג שביעי. הם מתארים כיצד סוכנים מסודרים.
מערכת מרובת סוכנים מריצה כמה סוכנים בו-זמנית בתוך סביבה משותפת, כגון תור או מאגר git. מכיוון שהסביבה משותפת, הם מתנגשים בה. שני סוכנים העורכים קובץ אחד הם כשל סטנדרטי, והפתרון הוא נעילה או תור עבודה. שום prompt לא פותר זאת.
מערכת היררכית מציבה מפקח מעל עובדים. המפקח מפצל משימה, מחלק את החלקים, וממזג את מה שחוזר. היא פופולרית מכיוון שהיא תואמת את הדרך שבה אנשים מחלקים עבודה, והיא יקרה מכיוון שההקשר של המפקח גדל עם כל דוח שהוא קורא. רתמת ריבוי סוכנים מציגה את החיווט הזה בפועל.
סוכן אחד שעובד עדיף על ארבעה שעובדים ברוב הזמן.
כל העברת אחריות היא מקום שבו מידע עלול ללכת לאיבוד. התחילו עם לולאה אחת. פצלו אותה רק כאשר אתם יכולים לנקוב בשם השלב המהווה צוואר בקבוק.
מדוע כמעט כל מערכת אמיתית היא היברידית
שקלו סוכן פריסה שאתם עשויים להריץ בעצמכם. Webhook מפעיל אותו, וזו פעולה רפלקסיבית (reflex). הוא קורא את מצב הגרסה הנוכחי, וזו פעולה מבוססת מודל (model-based). הוא מתכנן את השלבים מהגרסה הרצה לגרסת היעד, וזו פעולה מבוססת מטרה (goal-based). הוא בוחר חלון פריסה על סמך העומס הנוכחי, וזו פעולה מבוססת תועלת (utility-based). הוא לעולם אינו עורך את המדיניות של עצמו, לכן הוא אינו לומד.
מערכת אחת, ארבע שורות בטקסונומיה בו-זמנית. הטקסונומיה מוכיחה את ערכה כרשימת תיוג לתכנון, ולא כתווית למוצר המוגמר. כאשר המערכת מתנהגת בצורה לא תקינה, השאלה המועילה היא איזו שכבה שגויה. טריגר שהופעל באירוע הלא נכון, מצב שהתיישן, בדיקת מטרה שלעולם לא תוכל לעבור, וציון שמתגמל תוצאה שגויה — אלו ארבעה באגים שונים עם ארבעה תיקונים שונים.
איזה סוג מתאים לאיזו משימה
- טריגר קבוע, תגובה קבועה, ללא צורך בהיסטוריה: רפלקס פשוט.
- התגובה הנכונה תלויה במה שקרה קודם לכן: רפלקס מבוסס מודל.
- מצב הסיום ניתן לבדיקה אך הדרך אליו אינה ידועה מראש: מבוסס מטרה.
- מספר תוצאות קבילות עם פשרה ממשית ביניהן: מבוסס תועלת.
- נדרש שיפור בתוצאות לאורך זמן: בנו לולאת הערכה, וקבלו את העובדה שאתם המרכיב הלומד.
האם ניתן לארח סוכנים אלו באופן עצמאי, ומה העלות?
כן, והעלות מתחלקת לשניים. התיזמור (orchestration) זול. מופע (instance) של n8n או לולאת סוכן ב-Python מבלה את רוב זמנו בהמתנה לקריאות רשת, לכן 2 vCPU ו-4 GB של RAM מספיקים עבורו. המודל הוא המקום שבו הכסף מושקע.
אם הסוכן קורא ל-API מאוחסן, השרת כמעט אינו זקוק למשאבים והחשבון גדל בהתאם לכמות ה-tokens. עבור סוכן מבוסס-מטרה, המשמעות היא שהעלות גדלה לפי מספר שלבי התכנון שאתם מאפשרים, לכן הגבילו את הלולאה.
אם אתם מריצים את המודל על חומרה משלכם, ה-RAM קובע מה בכלל ניתן להריץ. הנתונים להלן הם גדלי קבצים טיפוסיים שפורסמו עבור משקולות (weights) בקוונטיזציה של 4-bit נכון לאוגוסט 2026, לצד נתון תכנון עבור סך ה-RAM הנדרש, כיוון שחלון ההקשר (context window) וזמן הריצה זקוקים למקום מעבר למשקולות עצמן.
The data behind this chart
[
{
"label": "3B model",
"weights_gb": 2,
"ram_needed_gb": 6
},
{
"label": "8B model",
"weights_gb": 4.9,
"ram_needed_gb": 10
},
{
"label": "14B model",
"weights_gb": 9,
"ram_needed_gb": 16
},
{
"label": "32B model",
"weights_gb": 20,
"ram_needed_gb": 32
},
{
"label": "70B model",
"weights_gb": 43,
"ram_needed_gb": 64
}
]מודל 8B ב-4-bit הוא כ-4.9 GB של משקולות, ומכונה עם 10 GB של RAM תריץ אותו ללא שימוש ב-swap. מודל 70B באותה קוונטיזציה הוא 43 GB של משקולות ודורש סביב 64 GB. שימו לב למה שהמספרים האלו מחסירים: מהירות. ב-VPS ללא GPU, מודל 8B ב-4-bit מייצר מספר חד-ספרתי של tokens בשנייה. זה תקין עבור סוכן שעובד על תור במהלך הלילה, אך מתסכל עבור כל דבר שאדם ממתין לו. שמרו את ה-inference המקומי לעבודה באצוות (batch), והשתמשו ב-GPU או ב-API עבור החלקים האינטראקטיביים. הרשימה המקוצרת של סוכני AI לאירוח עצמי מפרטת אילו פרויקטים שווים את שטח הדיסק, ו-מסלול למידה לסוכנים ב-2026 מכסה מה ללמוד ובאיזה סדר.
היכן שהטקסונומיה מפסיקה להועיל
היא אינה אומרת דבר על כלים או על הרשאות. סוכנים בספרי לימוד תופסים את הסביבה ופועלים בה. איש ממי שכתב את הפרק הזה לא דאג מכך שסוכן יחזיק ב־API token של סביבת ייצור. סוכן מבוסס-מטרה עם גישת shell וסוכן מבוסס-מטרה עם חיבור לקריאה בלבד למסד נתונים נמצאים באותה שורה בטבלה, אך טומנים בחובם סיכון שונה לחלוטין. החליטו למה סוכן רשאי לגשת לפני שתחליטו עד כמה הוא אמור להיות חכם, וקראו את כיצד להרחיק סודות מסוכן AI לפני שאתם מוסרים לו פרטי הזדהות.
היא גם אינה אומרת דבר על מה שקורה כאשר שלב מסוים נכשל. סוכנים אמיתיים מבלים את רוב זמן הריצה שלהם בטיפול בשגיאות: חריגה ממכסת קריאות (rate limit), או כלי שהחזיר תוצאה שהמודל לא ציפה לה. הקוד הזה הוא שקובע אם המערכת שלכם שמישה, ואף שורה בטקסונומיה אינה מתארת זאת.
FAQ
מהם חמשת הסוגים של סוכני AI?
סוכני רפלקס פשוטים, סוכני רפלקס מבוססי מודל, סוכנים מבוססי מטרה, סוכנים מבוססי תועלת, וסוכנים לומדים. הם מדורגים לפי כמות המידע שיש לסוכן לפני ביצוע פעולה. סוכן רפלקס פשוט רואה רק את הקלט הנוכחי. סוכן מבוסס מודל שומר מצב (state) של הסביבה שלו. סוכן מבוסס מטרה מתכנן פעולות כדי להגיע למצב יעד. סוכן מבוסס תועלת מדרג כמה תוצאות אפשריות ובוחר את הטובה ביותר. סוכן לומד משנה את המדיניות שלו בהתבסס על משוב, דבר שכמעט אף מערכת באירוח עצמי לא מבצעת בפועל.
באיזה סוג של סוכן AI כדאי להשתמש עבור אוטומציה פשוטה?
סוכן רפלקס פשוט, שבפועל משמעותו webhook או תזמון שמפעיל רצף קבוע. אם התגובה הנכונה תלויה רק בקלט שהתקבל כרגע, הוספת זיכרון רק תיצור נקודות כשל ללא תוספת יכולת. עברו לתכנון מבוסס מודל רק כאשר אתם יכולים להצביע על החלטה אחת שחייבת לדעת מה קרה קודם לכן.
האם אני יכול להריץ סוכני AI משלי על VPS?
כן. שכבת הניהול (orchestration) קלה, לכן 2 vCPU ו-4 GB של RAM יריצו מנוע workflow או לולאת סוכן בנוחות. ההחלטה האמיתית היא היכן המודל רץ. שימוש ב-API חיצוני שומר על השרת קטן ומעביר את העלות לתשלום לפי tokens. מודל מקומי דורש RAM ביחס לכמות הפרמטרים שלו, ובלי GPU הוא יפיק מספר חד-ספרתי של tokens בשנייה, מה שמתאים לעיבוד אצווה (batch) בתור ולא לחלון צ'אט.
האם מודל שפה גדול (LLM) הוא סוכן AI בפני עצמו?
לא. מודל ממפה טקסט קלט לטקסט פלט ועוצר. הוא הופך לסוכן כאשר עוטפים אותו בלולאה שיכולה לפעול בעולם ולהזין את התוצאה בחזרה פנימה, מה שדורש כלים שהוא יכול להפעיל ותנאי שמורה ללולאה מתי לעצור. המעטפת היא הסוכן. המודל הוא רכיב אחד בתוכו.
האם אני זקוק למערכת מרובת סוכנים (multi-agent)?
בדרך כלל לא. לולאה בודדת עם כמה כלים מטפלת ברוב המשימות והרבה יותר קל לנפות בה שגיאות. סוכנים מרובים עוזרים כאשר חלקים מהמשימה הם עצמאיים לחלוטין ויכולים לרוץ במקביל, או כאשר חלק אחד דורש מודל שונה. העלות היא בתיאום: מצב משותף (shared state), ומפקח שהקונטקסט שלו גדל עם כל דוח של עובד שהוא קורא. הוסיפו סוכן שני רק כאשר אתם יכולים להצביע על השלב האיטי בתהליך.