ניתוח תוצאות ההערכה וקבוצות של כשלים

לפני שמתחילים

כדי לראות ולנתח את תוצאות ההערכה, צריך לוודא שיש לכם:

  • מריצים לפחות הערכה אחת כמו שמתואר במאמרים הערכת סוכנים או הרצת הערכות אופליין.
  • הגדרתם קטגוריה ב-Cloud Storage לפלט של הבדיקה, אם אתם מריצים בדיקות אופליין.
  • (אופציונלי) אם משתמשים ב-SDK כדי לאחזר תוצאות, צריך לוודא שהסביבה מאומתת.

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

לוח הבקרה של הבדיקה לניטור באינטרנט

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

  1. במסוף Google Cloud , עוברים לדף Agent Platform > Agents.
  2. בתפריט הניווט הימני, לוחצים על פריסות.
  3. בוחרים את הסוכן.

    מעבר לדף Deployments

  4. לוחצים על הכרטיסייה מרכז בקרה ובוחרים באפשרות הערכה.

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

הצגת תוצאות ההערכה באמצעות ה-SDK

אפשר לגשת לתוצאות ההערכה באופן פרוגרמטי באמצעות Agent Platform SDK. ערכת ה-SDK מספקת הדמיות אינטראקטיביות מובנות לסביבות Colab ו-Jupyter notebook, שמציגות גם מדדי סיכום מצטברים וגם תוצאות מפורטות לכל מקרה.

אחרי שמריצים הערכה, מתקשרים אל .show() באובייקט התוצאה כדי להציג דוח אינטראקטיבי ישירות במחברת:

from vertexai import evals, types

# Run an evaluation
result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[
        types.RubricMetric.FINAL_RESPONSE_QUALITY,
        types.RubricMetric.TOOL_USE_QUALITY,
        types.RubricMetric.HALLUCINATION,
        types.RubricMetric.SAFETY,
    ],
)

# Visualize aggregate and per-case results in your notebook
result.show()

התצוגה החזותית כוללת:

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

בדוגמה הבאה מוצגים מדדי הסיכום מ-result.show():

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

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

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

פירוש תוצאות הבדיקה

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

  • מדדים של קריטריונים דינמיים יוצרים באופן אוטומטי קריטריונים להערכה על סמך ההגדרות של הסוכן וההנחיה של המשתמש. כל קריטריון מקבל פסק דין נפרד של עבר או נכשל, עם הסבר בשפה טבעית שמפרט את הנימוקים של מודל ה-LLM השופט. הציון הכולל מייצג את שיעור ההצלחה – החלק של קריטריוני ההערכה שקיבלו את התוצאה עבר.
  • מדדים סטטיים של קריטריונים להערכה משתמשים בקבוצה קבועה של קריטריונים להערכה. לדוגמה, Hallucination מפלח את התשובה לטענות אטומיות ובודק כל אחת מהן מול ראיות לשימוש בכלי. בדיקות בטיחות לפרטים אישיים מזהים (PII), דברי שטנה, תוכן מסוכן והפרות אחרות של המדיניות. המדדים האלה מחזירים ציון מספרי יחיד (0 עד 1).

זיהוי כשלים ותעדוף שלהם

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

גישה לאשכולות של כשלים במסוף

  1. עוברים לדף Agent Platform > Agents > Evaluation (פלטפורמת סוכנים > סוכנים > הערכה).
  2. לוחצים על הכרטיסייה הערכות.
  3. לוחצים על השם של הרצת הערכה שהסתיימה כדי לפתוח את הדוח.
  4. אם ההערכה זיהתה אשכולות, הם מוצגים בקטע Failure Clusters (אשכולות של כשלים) בדוח.

יצירת אשכולות של כשלים באמצעות ה-SDK

אפשר גם ליצור אשכולות של כשלים באופן פרוגרמטי באמצעות ה-method‏ generate_loss_clusters:

# Generate failure clusters from evaluation results
loss_clusters = client.evals.generate_loss_clusters(
    eval_result=result,
)

# Visualize the loss pattern analysis in your notebook
loss_clusters.show()

בדוגמה הבאה אפשר לראות את ניתוח דפוסי האובדן מ-loss_clusters.show():

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

טקסונומיות של דפוסי הסרה

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

יש שתי טקסונומיות מוגדרות מראש, שכל אחת מהן מותאמת למדד ספציפי:

טקסונומיה (סיווג) של הצלחת משימות של סוכנים

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

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

טקסונומיה של איכות השימוש בכלי

הטקסונומיה הזו משמשת למדד איכות השימוש בכלי של סוכן רב-שלבי (multi_turn_tool_use_quality_v1). היא מתמקדת באופן ספציפי בנכונות של קריאות לכלים ובטיפול בתשובות של כלים:

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

כדי לטפל בשיטתיות בבעיות שקשורות להערכה, אפשר להשתמש בתהליך העבודה הבא:

  1. מתחילים עם מדדי סיכום כדי לזהות את המדדים עם הניקוד הכי נמוך במערך נתוני ההערכה.
  2. התעמקות בנתונים בתוצאות של כל מקרה כדי למצוא מקרים ספציפיים של הערכה שנכשלו.
  3. יצירת אשכולות של כשלים כדי לזהות דפוסי הפסד מערכתיים בכשלים.
  4. התעמקות בנתוני מעקב כדי למצוא את התור המדויק או את קריאת הכלי שבהם התרחשה השגיאה. במסוף, עוברים אל Agent Platform > Agents > Deployments, בוחרים את הסוכן ופותחים את הכרטיסייה Traces. בוחרים מעקב כדי לראות את היסטוריית השיחות המלאה ואת הרצף המדויק של קלט המודל, קריאות לכלים ותשובות.
  5. זיהוי שורש הבעיה – אפשר להשתמש בקטגוריית דפוס האובדן כדי לקבוע אם הבעיה היא בעיה בהנחיה, בעיה בהגדרת הכלי או בעיה בנתונים.
  6. להחיל תיקון ממוקד על הוראות המערכת של הסוכן, על הגדרות הכלים או על דוגמאות של פרומפט עם כמה דוגמאות (few-shot).
  7. מריצים מחדש את ההערכה ומשווים את הציונים כדי לוודא שהיה שיפור.