אורן עובד כתיבה

הארנס

מה זה AI Harness Engineer, ולמה סוכנים נשברים בפרודקשן

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

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

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

ממה הארנס בנוי

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

איך זה נשבר בפועל

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

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

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

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

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

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

המערכת במספרים

כדי שזה לא יישמע תיאורטי, הנה מה שרץ אצלי. המספרים נמדדו ישירות מהריפו ב-31/10/2026, קוד במעקב git בלבד.

1.2M+
שורות Python במעקב, ב-6,800+ קבצים
1,589
קומיטים מאז 8 במאי 2026, מתוכם 264 ב-30 הימים האחרונים
139
משימות מתוזמנות שרצות בלי אדם, ועוד 72 שמושבתות בכוונה
821
לקחים מתועדים בזיכרון הסוכנים

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

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

מה הארנס לא פותר

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

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

אורן עובד
אורן עובד

מייסד OpticoAI ו-Gevurah, AI Harness Engineer עם 15+ שנה באיקומרס. בונה מערכות סוכני AI שרצות בפרודקשן על עסקים אמיתיים, כולל חנות אונליין משלו.