pass^k ואמינות לאורך רצף ניסיונות: למה בנצ'מרק לא מבטיח פרודקשן
pass^k הוא מדד לאמינות לאורך רצף ניסיונות: ההסתברות שמערכת תצליח להשלים משימה לפחות פעם אחת כאשר מריצים אותה שוב בתנאים מוגדרים. האות k מייצגת את כמות הניסיונות. המדד מועיל רק אם כל ניסיון מתחיל מאותה נקודת פתיחה, מקבל קריטריון הצלחה זהה ואינו נהנה ממידע שנוצר בניסיון קודם. בלי התנאים האלה, רצף ריצות נראה מדעי אך מערבב למידה, תיקון והתערבות אנושית.
זו הסיבה שציון מרשים בבנצ'מרק אינו עובר אוטומטית לעבודה עסקית. פרודקשן מוסיף הרשאות, קבצים חיים, תורים, לקוחות ופעולות שצריך לדעת לבטל. מערכת ההפעלה האגנטית שלנו סיפקה תיק היסטורי גדול, אבל צורת הריצה שלו לא התאימה לחישוב רצף ניסיונות. ההחלטה המקצועית הייתה לעצור את הטענה ולבנות מדידה נפרדת.
- ניסיון חוזר חייב להתחיל מסביבת עבודה נקייה, אחרת הוא מודד גם את המידע שהשאיר הניסיון הקודם.
- 833 מתוך 839 המשימות שנמדדו רצו פעם אחת בלבד, ולכן התיק ההיסטורי אינו בסיס לציון רצף.
- ששת הניסיונות החוזרים כבר כללו מידע מהריצה הראשונה, ולכן גם הם אינם ניסויים עצמאיים.
- הארנס אמין דורש קריטריון הצלחה, בקרת שלילה ואישור שהפעולה הפיכה לפני כל ניסיון.
המלכודת של ניסיון אחד שנראה טוב
מה נחשב ניסיון עצמאי? תוצאת ריצה אחת עונה על שאלה צרה: האם המערכת הצליחה הפעם. היא אינה מספרת מה יקרה כאשר הניסוח ישתנה מעט, כאשר כלי יחזיר שדה חסר או כאשר סביבת העבודה תכיל שארית מריצה קודמת. בארגון, הטעות מופיעה בתנאים האלה. לכן צריך להבדיל בין הדגמת יכולת לבין מדידת יציבות לאורך וריאציות.
גם חזרה על אותה משימה אינה מספיקה. אם הניסיון הראשון יצר קובץ, הוסיף הערה או גרם לאדם לתקן את ההוראה, הניסיון השני קיבל מסלול קל יותר. התוצאה עשויה להשתפר, אך אי אפשר לייחס את השיפור למערכת לבדה. הוא שייך למערכת יחד עם ההיסטוריה שנצברה.
מה התיק ההיסטורי שלנו כן הראה
בסיס המדידה כלל 839 משימות עם תוצר מקושר. מתוך הבסיס הזה, 833 רצו פעם אחת בלבד. שש משימות קיבלו ניסיון שני, והריצה הנוספת כבר כללה מידע מהניסיון הראשון. הנתונים סיפקו תמונה עשירה על תוצאות, תוצרים וחסרים. הם לא סיפקו סדרת ניסיונות עצמאיים.
כאן היה קל ליפול. אפשר לקחת את שיעור המשימות שסומנו נקיות, להניח שכל ריצה חוזרת דומה לקודמת ולבנות עקומה יפה. העקומה הייתה נשענת על הנחה שלא נבדקה. לכן הניסוח שנקבע הוא חד: אי אפשר לגזור pass^k מהתיק ההיסטורי, ולכן בנינו הארנס.
העצירה הזאת היא חלק מהאמינות. מדידה רצינית אינה רק דרך לקבל מספר. היא גם מנגנון שאומר מתי אין מספר תקף. המאמר על מדידת סוכני AI בעבודה אמיתית משתמש בתיק ההיסטורי לשאלות שהוא כן יכול לענות עליהן: כמה הזמנות קיבלו תוצר, איזה טווח השלמה מתקבל ואיפה נדרשת ביקורת חיצונית.
סביבה נקייה משנה את משמעות התוצאה
הארנס החדש מתחיל כל ניסיון מסביבת עבודה נקייה. פירוש הדבר שקבצי הפלט, מצב הביניים והערות מהניסיון הקודם אינם זמינים לריצה החדשה. הקלט נשמר לפי מפרט קבוע, והבודק מחפש אותה תוצאה נדרשת. אם המערכת נכשלת, הכשל נשמר כראיה אך אינו נשאר בתוך סביבת הניסיון הבא.
הניקיון חשוב במיוחד במשימות קוד ותפעול. קובץ חלקי יכול לגרום לניסיון הבא לחשוב שעבודה כבר התחילה. שינוי קטן בקונפיגורציה יכול לפתור את המשימה בלי שהסוכן יבין למה. אפילו לוג מפורט יכול להפוך לרמז. כשמאפסים את הסביבה, התוצאה מתקרבת לשאלה שרצינו לשאול: האם המערכת מסוגלת לפתור את המשימה מחדש.
בקרת שלילה: הבדיקה שמונעת הצלחה מזויפת
קריטריון חיובי בודק שהתוצר הרצוי קיים. בקרת שלילה בודקת שהמערכת לא השיגה אותו בדרך אסורה. אם המשימה היא לתקן קובץ, עצם קיום המחרוזת המבוקשת אינו מספיק. צריך לבדוק שקובץ אחר לא נדרס, שהבדיקות לא הושתקו ושהפתרון לא עקף את החוזה. בפרודקשן, הצלחה שמסתירה נזק היא כשל.
לכן ההארנס דורש גם בדיקה של מה שלא אמור להשתנות. רשימת היעדים המוגנים נקבעת מראש. משימה שעוברת את הקריטריון החיובי ופוגעת ביעד מוגן אינה עוברת. הכלל הזה מקשה על הסוכן לקבל ציון טוב דרך קיצור דרך, והוא גם הופך את הבדיקה לשימושית לארגון.
- התוצר הנדרש קיים ובפורמט שנקבע.
- הבדיקות הרלוונטיות רצות בלי השתקה או דילוג חדש.
- יעדים מוגנים נשארו ללא שינוי.
- אין יציאה חיצונית שהמפרט לא אישר.
- הראיה מאפשרת לבודק אחר לשחזר את ההכרעה.
הפיכות לפני הרצה
מדידת ניסיונות חוזרים דורשת חופש להריץ שוב. החופש הזה מסוכן אם כל ניסיון יכול לשלוח הודעה, לשנות נתון חי או להוציא כסף. לכן ההארנס דורש אישור הפיכות לפני ההפעלה. סביבת בדיקה, עותק מבודד או פעולה עם דרך שחזור ידועה יכולים לקבל אישור. יעד חי ללא דרך שחזור עוצר את המדידה.
הכלל נשמע תפעולי, אך הוא משפיע ישירות על איכות המספר. אם חלק מהניסיונות נעצרים ידנית בגלל פחד מנזק, המדגם מקבל הטיה. אם מריצים בכל זאת, הניסוי עלול לפגוע בעסק. אישור הפיכות יוצר תנאי אחיד: כל ניסיון מותר באותה מידה, וכל כשל נשאר בתוך גבול שהוגדר.
המאגר הציבורי של ההארנס זמין ב-github.com/oreno334/passk. פרסום הקוד אינו מחליף תוצאות. הוא מאפשר לראות את כללי הניקיון, הבקרה וההפיכות לפני שציון כלשהו מוצג. התוצאות יפורסמו רק אחרי ריצות המדידה המוגדרות ואישורן.
איך מדווחים תוצאה בלי לנפח אותה
אז מה מדווחים? דוח טוב מפריד בין יכולת, יציבות והחלמה. יכולת אומרת שהמערכת הצליחה לפחות בניסיון כלשהו. יציבות מתארת מה קורה לאורך סדרת ניסיונות נקיים. החלמה מתארת אם כשל משאיר מצב שאפשר להמשיך ממנו בבטחה. שלושתן מעניינות, אבל ערבוב ביניהן מייצר מספר שאינו מסביר דבר.
כדאי לפרסם לצד התוצאה את מפרט המשימה, מספר הניסיונות, קריטריון ההצלחה, בקרת השלילה וסוג הסביבה. בנוסף מציינים אם הייתה התערבות אנושית. בלי הפרטים האלה הקורא לא יודע אם ריצה שנייה הייתה עצמאית או תיקון מודרך. מספר בודד יכול להיות נוח לשיווק, אך הוא חלש להחלטת רכש.
בפועל, המסמך החשוב ביותר הוא רשימת הכשלים. היא מגלה אם הטעויות מתפזרות או חוזרות סביב אותו כלי, אותו סוג הקשר או אותו שער. רצף כשל דומה מצביע על בעיית מערכת. רצף כשלים שונים עשוי להצביע על משימה רחבה מדי. בשני המקרים יש פעולה הנדסית ברורה יותר מציון כללי.
מה ארגון צריך לבקש מספק
כאשר ספק מציג בנצ'מרק, בקשו את יחידת המדידה. האם נמדדת תשובה, משימה שלמה או תוצאה עסקית? שאלו אם הניסיונות התחילו מסביבה נקייה ואם אותו בודק הגדיר הצלחה לכל הריצות. חפשו גם תוצאות שליליות ויעדים מוגנים. אם אין דרך לדעת מה אסור היה להשתנות, חסרה מחצית מהבדיקה.
שאלו מה קורה אחרי כשל. האם נשאר קובץ חלקי, האם פעולה נשלחה, האם הניסיון הבא רואה את השאריות ומי מאשר הרצה חוזרת. אלה שאלות פרודקשן. הן מחברות את המדד למערכת שהארגון יצטרך להפעיל ביום שני בבוקר, כשמשימה אמיתית נתקעת באמצע.
בסוף, בנצ'מרק הוא דלת כניסה. הוא עוזר לבחור מה לבדוק לעומק. אמינות נבנית כאשר המדידה עצמה מכבדת בידוד, הרשאות, הפיכות ועקיבות. אם התנאים האלה חסרים, עוד ספרה אחרי הנקודה אינה מוסיפה ביטחון.
המספרים כאן אינם תרגיל תיאורטי. הם נמדדו על מערכת שרצה בייצור, והם מתפרסמים במלואם יחד עם הסייגים שלהם, כולל הטענה שנפסלה לפני הפרסום.
אפשר לקרוא את רשומת הראיות של גבורה, או לראות את ההסבר המלא בעברית על מערכת ההפעלה האגנטית.
שאלות נפוצות
למה אי אפשר לחשב מדד רצף מתיק של ריצה אחת לכל משימה?
ריצה אחת מספרת אם המשימה הצליחה באותו ניסיון. היא אינה מראה איך ההסתברות משתנה כאשר מריצים שוב. כדי למדוד רצף צריך כמה ניסיונות עצמאיים עם אותה נקודת פתיחה וקריטריון זהה.
מה הופך ניסיון שני ללא עצמאי?
קובץ, לוג, תיקון הוראה או ידע שנוצרו בריצה הראשונה יכולים להקל על הריצה השנייה. אם המידע הזה נשאר, המדידה כוללת גם למידה בין ניסיונות. זה שימושי לשיפור, אך אינו אותו ניסוי.
מהי בקרת שלילה בהארנס לסוכנים?
זו בדיקה שמחפשת נזק או קיצור דרך לצד התוצר הרצוי. היא מוודאת שיעדים מוגנים לא השתנו, שבדיקות לא הושתקו ושלא בוצעה יציאה שהמפרט אסר.
מתי אפשר לפרסם ציון אמינות?
אחרי שהוגדרו משימות, מספר ניסיונות, סביבת איפוס, קריטריון הצלחה ובקרת שלילה. צריך גם לתעד התערבות אנושית ואישור הפיכות. בלי החבילה הזאת עדיף לפרסם ממצאים איכותניים ולומר שאין ציון תקף.
נגדיר משימה, סביבת איפוס, תוצאה רצויה ובקרת שלילה. לפני כל הרצה נוודא שהפעולה הפיכה, ובסוף תקבלו ראיות שאפשר לבדוק ולא ציון מנותק מהעבודה.
רוצים ש-OpticoAI יעשה את זה בשבילכם?







