llm agents: טכניקות לשיפור עקביות (Consistency) בין ריצות
כש־ai agent מתנהג אחרת בכל פעם: איך משפרים עקביות ב־LLM Agents בלי לחנוק את היצירתיות
יש רגע כזה, שכל מי ששיחק ברצינות עם מודלים גדולים – LLM – מכיר היטב. אתה מריץ את אותו פרומפט פעמיים, שלוש, חמש. בפעם הראשונה ה־ai agent עונה לך כמו יועץ מנוסה, רגוע, מסודר. בפעם השנייה – כאילו התחלף לו האופי, כאילו הגיע סטאז'ר ביום הראשון. בפעם השלישית הוא כבר מבריק, אבל מדלג על חצי מהדרישות. לכאורה, זה "נורמלי" כשעובדים עם מודלים הסתברותיים. בפועל, כשמנסים לבנות על זה מערכת אמיתית, מוצר, תהליך עסקי – זה פשוט כאב ראש.
כתבה זו לא באה "להסביר מה זה צ'אטGPT", אלא לצלול לרבדים היותר מעצבנים והיותר קריטיים של עבודה עם ai agent מבוסס LLM: איך משפרים Consistency בין ריצות, מה בכלל אפשר לצפות ממנו, ואיפה צריך לעצור ולומר: "עד כאן, היתרון ביצירתיות לא שווה את חוסר היציבות".
הפרדוקס של ה־ai agent המודרני: גמיש, חכם, לא צפוי
אחד הדברים המוזרים בשיח על בינה מלאכותית היום הוא הפער בין האשליה ליום־יום. בשיווק מדברים על ai agent "כמו עובד חדש", "כמו אנליסט זמין 24/7". בפועל, אם עובד חדש היה עונה תשובה אחת ביום ראשון ותשובה שונה לגמרי – למרות אותה בקשה בדיוק – כנראה שהוא לא היה עובר את החודש הראשון. אבל כשזה קורה עם מודל שפה גדול, אנחנו נוטים לסלוח, לקרוא לזה "סטוכסטי", "יצירתי".
הסיבה עמוקה למדי. LLM הוא לא תוכנה דטרמיניסטית במובן הקלאסי. גם אם נוריד לו את ה־temperature ל־0, גם אם נעשה כל תעלול ידוע, עדיין יש אלמנטים של אי־ודאות. תוסיפו לזה את שכבת ה־ai agent – אותו סוכן שמנהל פעולות, קורא ל־API‑ים, משרשר פרומפטים, אולי מתייעץ עם כמה מודלים – וקיבלתם מערכת עם הרבה מאוד נקודות בהן דברים יכולים "לברוח" לכיוונים שונים.
אבל למה אכפת לנו מעקביות בכלל?
בואו נשים את הרגש בצד. עקביות (Consistency) היא לא עניין אסתטי, היא תנאי לשני דברים בסיסיים:
מצד אחד, אמון משתמשים. אם מנהל מוצר מחליט לבנות כלי פנימי שמסייע לצוות מכירות, והוא מגלה שהai agent מפיק הצעות מחיר שונות לגמרי על סמך אותן הנחות – אין כאן כלי, יש כאן לוטו. מצד שני, יכולת בדיקה ואימות. איך בודקים איכות מערכת כשכל ריצה נותנת תוצאה אחרת? איך משווים וריאנטים? איך מוודאים שתיקון שביצענו לא גרם לנזק במקום אחר?
וזה עוד לפני שנגענו ברגולציה, בדיווחיות, במערכות שבהן תיעוד הוא קריטי. כאן בדיוק נכנסות טכניקות של שיפור עקביות בין ריצות בעולמות של LLM agents.
מה בכלל נחשב "עקביות" בעידן של מודלים הסתברותיים?
לפני שרצים לפתרונות, צריך להגדיר – אפילו לעצמנו, על מפית – מה זה Consistency בהקשר של ai agent. זה לא תמיד אומר שהתשובה המילולית תהיה זהה ביט־ל־ביט. עולם השפה טבעי מדי בשביל זה.
עקביות ברמת התוצאה, לא בהכרח ברמת הטקסט
כשאנחנו מדברים על עקביות, בדרך כלל יש לפחות שלוש שכבות:
1. עקביות לוגית
אם ai agent נדרש לענות על שאלה עובדתית – למשל "כמה אחוזי מע"מ יש בישראל כרגע?" – אנחנו מצפים לקבל את אותו מספר (בהנחה שלא השתנה כלום בעולם האמיתי) בכל פעם. אם פעם אחת המודל עונה 17% ופעם אחרת 18%, יש לנו בעיה.
2. עקביות פרוצדורלית
כאן מדובר בתהליך: איך ה־ai agent מחליט לפעול. כשאנחנו משתמשים ב־LLM agent שמתוכנן כ"סוכן" – אחד שבוחר כלים, קורא למערכות, מפעיל שרשראות מחשבה – אנחנו רוצים שהמסלול הבסיסי יהיה דומה: אותם כלים לאותם תרחישים, אותו מבנה תשובה, פחות או יותר. גם אם הניסוח משתנה.
3. עקביות סגנונית והיקפית
זה כבר עניין חווייתי. משתמשים מתרגלים לסגנון של ai agent – אורך תשובה, כמות דוגמאות, מידת הזהירות. אם בכל ריצה המודל פתאום "מחליט" לדבר באריכות שונה או בטון אחר, התחושה היא שאין פה מוצר מלוטש, אלא דמו מתמשך.
המטרה שלנו, כשאנחנו מתכננים llm agents רציניים, היא ליצור מערכת ששומרת על עקביות בשלושת הרבדים – אבל בלי להפוך את המודל לרובוט יבש שלא מסוגל לאלתור במקומות הנכונים.
הטקטיקות הבסיסיות: פרומפטים זה לא קסם, זה חוזה עבודה
נתחיל מהאזור הכי ידוע – פרומפטינג – אבל ננסה לדבר עליו פחות כטריק שיווקי ויותר ככלי הנדסי. מי שבנה ai agent פרודקשני יודע: פרומפט טוב הוא סוג של חוזה עבודה בין המערכת למודל.
איפוס זהות וסגנון: "תזכור מי אתה" בכל ריצה
לא מעט חוסר עקביות נולד מזה שהמודל "שוכח" מי הוא ומה ציפו ממנו. כן, גם אם זה נשמע אנושי־מדי. הפתרון הפשוט יחסית – אבל קריטי – הוא System prompt יציב, שחוזר על עקרונות הזהות, המטרה והגבולות של ה־ai agent בכל אינטראקציה.
לדוגמה (בתרגום חופשי, בלי יומרה לסגנון מושלם): "אתה ai agent שעוזר למנהלי כספים בחברות קטנות בישראל. אתה תמיד נותן תשובות ממוקדות, עם מספרים. אם אין לך מידע מספיק, אתה אומר זאת במפורש ולא מנחש".
נשמע טריוויאלי? בפועל, הרבה מערכות נשברות כאן. כל שינוי פתאומי ב־system prompt, כל "ניסוי קטן" בפרודקשן – יכול להפוך עקביות לחלום רחוק. לכן אחד הטריקים הבסיסיים הוא להתייחס לפרומפט הראשי כקוד – עם בקרת גרסאות, בדיקות A/B, ותיעוד שינויים.
שמירה על תבנית תשובה קבועה – במיוחד ל־ai agent מרובה כלים
כשמדובר ב־LLM agents שמחזירים תשובות למערכות אחרות (ולא ישירות למשתמש), עקביות במבנה התשובה חשובה אפילו יותר מהתוכן. שינוי קטן במבנה JSON, שדה שנעלם, שדה שהפך לרשימה – ופתאום חצי פייפליין מתפוצץ.
לכן, טכניקה מאוד אפקטיבית היא לעבוד עם פורמט קשיח:
- לדרוש תמיד שדות קבועים (status, reasoning, actions, final_answer).
- להזכיר בכל פרומפט מחדש את מבנה התשובה המצופה.
- לעתים – להוסיף שכבת ולידציה שמתקנת או מזינה מחדש פרומפט אם התשובה לא עומדת בפורמט.
כל זה אולי נשמע טרחני, אבל ai agent שעובד מול מערכות סליקה, CRM או BI פשוט חייב רמת עקביות כזו כדי שלא נבלה לילות בדיבוג במקום בבנייה.
שליטה במקריות: temperature זה לא צעצוע
יש נטייה להתייחס לפרמטרים כמו temperature, top_p ושות’ כאילו הם כפתורי סגנון. "בוא נעלה קצת ל־0.9, נעשה תשובות יותר יצירתיות". בפועל, למי שמחפש Consistency, זה אחד המקומות הראשונים להסתכל עליהם ברצינות.
מתי להקפיא, מתי לשחרר
מבחינה פרקטית, כשבונים ai agent שיש לו חלקים "יצירתיים" וחלקים "רגולטוריים", אפשר – ואפילו מומלץ – לשחק בערכי ה־temperature בתוך הזרימה:
- לוגיקה, חישובים, בחירת כלים → temperature נמוך מאוד (0 עד 0.2).
- ניסוח טקסט שיווקי, רעיונות, סיעור מוחות → temperature בינוני (0.5–0.7).
אותו LLM agent יכול בתוך אותה שיחה לעבור בין "מצבי תודעה" שונים – דיכוי מקריות כשצריך דיוק, שחרור יחסי כשצריך השראה. מי שלא מנצל את זה, בדרך כלל או חונק את המערכת, או מקבל חוסר עקביות בצמתים הכי קריטיים.
Seed ורנדומיזציה נשלטת
יש פלטפורמות שמאפשרות להגדיר seed לריצת המודל, כדי לנסות לשחזר תשובות. זה נשמע מפתה – "נגדיר seed קבוע, נקבל תמיד את אותה תשובה" – אבל בעולם האמיתי זה קצת יותר מורכב: שינוי קטן בפרומפט, בשדה נסתר, בגרסת המודל – שוברים את האשליה.
ועדיין, במערכות בדיקה ופיתוח, שימוש ב־seed יכול לעזור מאוד להבין אם שינוי בקוד המעטפת של ה־ai agent משפיע על ההתנהגות, או שהשינוי נובע מהמודל עצמו. זה כלי דיבוג חשוב, גם אם לא פיתרון קסם לעקביות בפרודקשן.
שרשראות מחשבה, זיכרון, ומתי זה דווקא מפריע לעקביות
אחד הטרנדים הברורים בתחום ai agent הוא לאפשר למודל "לחשוב בקול" – Chain of Thought, ReAct, כל השמות היפים. המודל כותב לעצמו reasoning, מחליט על פעולות, בודק תוצאות, וכך הלאה. זה מדהים, כשזה עובד. זה גם מקור עצום לחוסר עקביות.
Chain of Thought: אלגוריתם שממציא לעצמו את הדרך מחדש
כשאנחנו נותנים ל־LLM לנסח לעצמו את הדרך לפתרון, הוא לא בהכרח יבחר בדיוק באותה דרך בריצות שונות. לפעמים זה טוב – כי הוא יכול למצוא פתרון חכם יותר – אבל כשמדובר על מערכת שצריכה להיראות יציבה, יש לזה מחיר.
אחת הטכניקות לקבל "הטוב משני העולמות" היא לשמור סוג של לוגיקת תבנית. לדוגמה, לאפשר ל־ai agent לחשוב בקול, אבל לדרוש ממנו לעקוב אחרי שלבים קבועים:
- הבנת השאלה והקשר.
- בדיקת מידע רלוונטי (כולל קריאה ל־API מתועד).
- סינתזה של המידע.
- גיבוש תשובה סופית בפורמט שסוכם.
גם אם התוכן של ה־reasoning משתנה, עצם זה שהמודל "חושב" בתבנית עקבית משפר מאוד את ה־Consistency ברמת התהליך.
זיכרון ארוך טווח: ברכה או קללה לעקביות?
עוד שכבת מורכבות נולדת כשמוסיפים ל־ai agent זיכרון ארוך טווח – בין שיחות, בין ריצות, בין משתמשים. בסצנה הישראלית, יותר ויותר סטארטאפים מנסים לבנות סוכנים "קבועים", כאלה שנזכרים בשיחות קודמות, במסמכים שנטענו, בשגרת העבודה של הלקוח.
לכאורה, זיכרון אמור לשפר עקביות – כי המערכת לומדת את המשתמש. בפועל, אם הזיכרון לא מנוהל נכון, הוא גורם לאפקט הפוך: אותה בקשה מקבלת מענה שונה כי פעם אחת הוזכר פרט מסוים לפני חודש, ופעם אחרת לא.
הפתרון? לאחסן זיכרון בצורה מובנית, עם מדיניות ברורה:
- מה נחשב "עובדה קבועה" שנכנסת תמיד לפרומפט.
- מה נחשב "העדפה" שמשקללים, אבל לא נותנים לה לשנות לוגיקה עסקית.
- איך מוחקים או מעדכנים זיכרון כשטעו.
במילים אחרות: זיכרון צריך להיות מנוהל כמו מסד נתונים, לא כמו מחברת פתוחה.
ניהול מצב (State) ב־LLM Agents: מאחורי הקלעים של עקביות
בעולם הישן, לפני שהתחלנו לדבר על ai agent, "מצב" היה עניין ברור: משתנים, אובייקטים, session. היום, חלק מהמצב חי בפרומפט, חלק בקוד, חלק בדאטהבייס, וחלק – בשרירות הלשונית של המודל.
הפרדה בין State אפליקטיבי לבין State לשוני
אחת הטעויות הנפוצות היא לערבב הכל: גם ההגדרות העסקיות, גם ההקשר השיחתי, גם הגדרות הכלים – כולם נדחסים לתוך אותו פרומפט. זה אולי עובד בהתחלה, אבל כמעט בהכרח מוביל לחוסר עקביות ברגע שהמערכת גדלה.
טכניקה יעילה היא להפריד:
- State עסקי – נשמר במערכת חיצונית (DB, Redis, מה שלא יהיה), ומוזרק לפרומפט באופן סלקטיבי.
- State לשוני – ההיסטוריה השיחית עצמה, שנשמרת בפורמט צנוע, אולי מסוכמת.
- מטה־State – החלטות על מצב המערכת, כמו "האם המשתמש בהרשאה מתקדמת", "האם זה ניסוי A/B".
כשההפרדה הזו נעשית טוב, אפשר להבטיח שה־ai agent מקבל בכל ריצה אותה תשתית עובדתית לאותה בקשה, וזה כבר צעד ענק לכיוון Consistency.
איפה זה פוגש את ישראל: בין סטארטאפ ניישן ללקוח שמצפה ליציבות
בישראל יש סוג מיוחד של דיסוננס. מצד אחד, אנחנו מדינה שחוגגת ניסויים, MVP, "יאללה נעלה ונראה". מצד שני, הרבה מהשימושים החמים ביותר ל־ai agent מגיעים מעולמות מאוד לא סלחניים: פינטק, בריאות דיגיטלית, GovTech, שירותים משפטיים.
יצא לי לשמוע מיזם ישראלי צעיר, שעובד על LLM agent עבור מחלקות כספים בארגונים. הם התחילו בקטן – כלי פנימי שעוזר לנתח קבצי אקסל ולענות על שאלות. אחרי כמה פיילוטים, הלקוח הראשי אמר להם בפשטות: "אני מוכן לסבול 10% פחות דיוק, אבל לא מוכן שבפעם אחת תקפוץ שגיאה ובפעם אחרת לא". במילים אחרות: עדיף פחות חכם אבל יותר עקבי.
זו אולי התובנה הכי ישראלית – והכי פרקטית – סביב llm agents: בסוף, מנהלים רוצים לדעת איפה התקרה. לא כולם מתרגשים מזה שהמערכת "מפתיעה אותם לטובה" אם לפעמים היא גם מפתיעה לרעה. עקביות נתפסת לא כפרמטר טכני אלא כמאפיין אופי של המוצר.
AI Agent כאורח קבוע בארגון: תהליכי עבודה סביב עקביות
עד עכשיו דיברנו בעיקר על הצד הטכני. אבל Consistency במערכות ai agent תלויה לא פחות בתהליכים הארגוניים. הדרך שבה מנהלים את השינויים, את הציפיות, את התקשורת עם המשתמשים.
בקרת גרסאות לא רק לקוד – גם לפרומפטים ולמודלים
אם יש משפט אחד שמפתחי LLM agents צריכים לתלות מולם, אולי זה: "פרומפט הוא קוד". כל שינוי בטקסט שמזינים למודל – אפילו שינוי ניסוח קטן – יכול להשפיע. לפעמים לטובה, לפעמים לרעה, ולעיתים קרובות פשוט לשבור עקביות.
לכן, תהליך מקצועי יכלול:
- שמירת כל גרסאות ה־system prompt וה־tool prompts.
- ריצה של סט בדיקות קבוע (פרומפטים מבחן) אחרי כל שינוי.
- תיעוד מסודר של "מה השתנה ולמה".
מי שעובד ככה מגלה שפתאום יש לו שפה לדבר בה על Consistency – לא רק תחושת בטן.
שקיפות למשתמשים: "זה לא בוט קשיח, זו מערכת לומדת"
עוד נקודה שכדאי להעלות – במיוחד בשוק הישראלי, הישיר – היא רמת השקיפות. אולי לא בכל מוצר צרכני, אבל במערכות B2B מתקדמות יש ערך אמיתי בלהסביר למשתמשים איך ה־ai agent עובד, מה הגבולות שלו, ומה מצופה ממנו.
כשמציבים ציפייה ריאלית – "התשובות יכולות להשתנות מעט בין ריצות, אבל התוצאה העסקית אמורה להיות זהה" – הרבה יותר קל לנהל את השיח על Consistency. בלי זה, כל סטייה קטנה מרגישה כמו בגידה בהבטחה המקורית.
שאלות ותשובות נפוצות על עקביות ב־ai agent
האם אפשר לגרום ל־ai agent לענות תמיד בדיוק אותו דבר?
ברוב המקרים – לא באופן מלא, ולא כדאי לנסות בכוח. אפשר לקרב את המערכת לשם באמצעות הורדת temperature, הקשחת פורמטים וניהול State, אבל מודלי שפה נועדו להיות גמישים. המטרה הריאלית היא עקביות ברמת הלוגיקה והתוצאה, לא בהכרח ברמת המילים המדויקות.
למה לפעמים ai agent "שוכח" הנחיות מפורשות שנתנו לו?
בדרך כלל זה קורה מסיבה טכנית לגמרי: ההיסטוריה השיחית מתארכת, חלקים מהפרומפט נחתכים, או שההנחיות הקשיחות הוטבעו עמוק מדי בטקסט ולא קיבלו עדיפות. שימוש נכון ב־system prompt, יחד עם הפחתת רעש ומבנה פרומפט ברור, מצמצם את התופעה משמעותית.
האם שימוש בכמה מודלים במקביל פוגע בעקביות?
יכול לפגוע – אבל לא חייב. אם מגדירים בבירור איזה מודל אחראי על מה (לוגיקה, מידע, ניסוח), ושומרים על גבולות ברורים בין הסוכנים, אפשר להשיג מערכת שבה הריבוי דווקא מחזק עקביות – למשל על־ידי cross‑check בין שני ai agents. בלי משמעת כזו, זה הופך מהר מאוד לקרקס בלתי צפוי.
איך מודדים Consistency בצורה מעשית?
אחד הכלים הפשוטים הוא לבנות אוסף של "פרומפטי בדיקה" יציבים, להריץ אותם שוב ושוב (גם אחרי שדרוג מודל, גם אחרי שינוי פרומפט), ולבדוק סטיות – בתוצאה, במבנה התשובה, בשימוש בכלים. אפשר למדוד אחוז סטיות, לדרג את חומרתן, ולגדיר סף קבלה.
מה הסיכון הגדול ביותר מחוסר עקביות ב־LLM agents?
מעבר לפגיעה באמון, הסיכון המרכזי הוא בקבלת החלטות שגויה – במיוחד בתחומים רגישים. אם פעם אחת ai agent ממליץ לפעול בדרך אחת ופעם אחרת בדרך אחרת, בלי שקוף שינוי בתנאי הרקע, אנשי המקצוע עלולים לאבד תחושת כיוון. לכן, בכל תחום שבו יש השלכות כספיות, משפטיות או רפואיות – Consistency הוא לא "בונוס", הוא דרישה יסוד.
טבלה מסכמת: עיקרי הטכניקות לשיפור עקביות ב־LLM Agents
| היבט | בעיה נפוצה | טכניקות לשיפור Consistency | הערות יישומיות |
|---|---|---|---|
| פרומפטים וזהות ה־ai agent | שינויי התנהגות פתאומיים בין ריצות | System prompt יציב, תיעוד שינויים, הגדרת "חוזה" ברור עם המודל | להתייחס לפרומפט כמו לקוד: בקרת גרסאות ובדיקות |
| מבנה תשובה | JSON משתנה, שדות חסרים, שבירת אינטגרציות | דרישת פורמט קשיח, ולידציה אוטומטית, רי־פרומפט במקרה כשל | קריטי במיוחד ב־ai agent שמדבר עם מערכות אחרות |
| הסתברותיות (temperature וכו') | תשובות שונות מדי על אותה שאלה | הורדת temperature במשימות לוגיות, שימוש דינמי בערכים לפי שלב | אפשר להשאיר יצירתיות רק היכן שהיא מוסיפה ערך אמיתי |
| Chain of Thought ו־Reasoning | דרכי פתרון משתנות, קושי לשחזר | הגדרת שלבים קבועים, שמירה על תבנית reasoning עקבית | מאפשר גם דיבוג נוח יותר, לא רק עקביות |
| זיכרון ו־State | תשובות שונות בגלל "זיכרון ישן" או חסר | הפרדת State עסקי מלשוני, ניהול זיכרון מובנה, עדכון ומחיקה | לחשוב על זיכרון כמו על DB, לא כמו על יומן אישי |
| שילוב כמה מודלים / סוכנים | התנהגות לא צפויה עקב ריבוי מקורות | הגדרה ברורה של אחריות כל ai agent, שימוש ב־orchestration | אפשר להרוויח בדיקה הדדית, אבל צריך לתחום היטב |
| תהליכים ארגוניים | חוסר עקביות בעקבות "שינויים שקטים" בפרודקשן | תהליכי Release מסודרים לפרומפטים ולמודלים, regression tests | יותר DevOps, פחות "ננסה על הלקוח ונראה" |
לאן זה הולך: מ"צ'אטבוט חמוד" ל־ai agent שהוא חלק מהצוות
אם רגע נעצור ונחשוב קדימה, נראה שעולם ה־LLM agents הולך לכיוון די ברור: פחות גאדג'ט, יותר תשתית. כש־ai agent הופך להיות חלק אינטגרלי מצוות – בין אם הוא "עוזר משפטי" במשרד עורכי דין, "מסייע קליני" לרופא משפחה, או "אנליסט צל" במחלקת כספים – השאלה המרכזית לא תהיה רק "כמה הוא חכם", אלא "כמה אנחנו יכולים לסמוך עליו".
Consistent behavior – התנהגות צפויה, שקופה, ניתנת להסבר – הוא הבסיס לסמכות הזאת. זה לא אומר שנהפוך את המודלים לקושרי עניבה בלי חוש הומור, אבל זה כן אומר שנלמד למתוח גבול: איפה לתת ל־ai agent לשוטט, ואיפה לעגן אותו ברצפה.
הדרך לשם עוברת גם בטכניקה – כל מה שדיברנו עליו סביב פרומפטים, State, הסתברות – וגם בתפיסת עולם. להבין שמודל שפה הוא שותף קצת משונה: חכם מאוד, אבל לא דטרמיניסטי. כדי לחיות איתו בשלום, צריך להציב לו מסגרות. לא מתוך פחד, אלא מתוך אחריות.
מילה לסיום: אם אתם בונים ai agent רציני – אל תישארו עם זה לבד
אם הגעתם עד כאן, סביר שאתם לא מחפשים עוד צ'אטבוט לשעשוע, אלא מנסים להכניס ai agent לתהליכים אמיתיים – בארגון, במוצר, בסטארטאפ שאמור לעמוד במבחן המציאות. במצב כזה, השאלות על Consistency הן לא שוליות, הן לב העניין.
כל ארגון, כל תחום, וכל סוג של LLM agent דורש שילוב קצת אחר של הטכניקות שפרסנו כאן. לפעמים הפתרון הוא פשוט הורדת temperature והקשחת פרומפטים, לפעמים צריך לתכנן מחדש את כל זרימת ה־State והזיכרון, ולפעמים – להודות שהשימוש הנוכחי לא מתאים למודל הסתברותי בלי שכבת בקרה נוספת.
אם אתם מתלבטים איך לגשת לזה – איך לבנות ai agent עקבי, אמין, שלא מפיל אתכם עם תשובה "יצירתית" ברגע הכי רגיש – נשמח לסייע בייעוץ ראשוני ללא עלות, פשוט כדי לעזור למקד את השאלות הנכונות ולחסוך כמה מהמוקשים הידועים מראש.