Alex Chernysh
AI systems / retrieval / evals / architecture
לדבר על מערכת
מערכותכתיבהעוזר
חזרה לכתיבה

הערה

איך מריצים LLM evals בפרודקשן

איך להפעיל LLM evals בפרודקשן עם gold sets, graders, בדיקות trace, סיגנלים תפעוליים ושערי ריליז.

3 בפברואר 20265 דק׳ קריאהמאת Alex Chernysh
EvalsReliability
לקפוץ לחלק
1. evals הם לא תחביב benchmark2. להתחיל מסט קטן שאפשר לסמוך עליוTrusted setMonitoring set3. לדרג את מה שבאמת נכשל4. LLM judges מועילים, לא כל-יודעים5. סיגנלים תפעוליים שייכים לשיחת ה-evals6. שערי ריליז צריכים להיות משעממים7. incidents צריכים להיכנס מהר ל-suite8. לתוכנית ה-evals צריך owner9. גרסה ראשונה טובה היא קטנהקריאה קשורהמקורות והמשך קריאה

צריך קודם מעבר קצר?

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

ברירת מחדל לפרודקשן

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

חבילת evals מינימלית

  • סט קטן ואמין לשערים קשיחים
  • סט רגרסיה רחב יותר לזיהוי drift
  • graders לפי משימה, לא ציון איכות כללי אחד
  • latency, cost, abstention ו-escalation ליד איכות התשובה
לולאת evals
הדפוס הבריא פשוט: מגדירים הצלחה, מודדים, משחררים בזהירות, ואז מחזירים כשלי פרודקשן בחזרה לסט.

1. evals הם לא תחביב benchmark

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

זה לא נסבל כשיש במוצר:

  • retrieval
  • כלים
  • policies
  • פורמטים שונים של תשובה
  • כמה מחלקות כשל
  • אנשים שישימו לב כשהכול נשבר

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

2. להתחיל מסט קטן שאפשר לסמוך עליו

הדאטהסט הכי שימושי ל-evals בדרך כלל קטן יותר ממה שנדמה, ובדוק יותר ממה שנוח לצוות.

אני אוהב להפריד בין שני סוגי נתונים:

Trusted set

זה הסט שאיתו מוכנים לקבל החלטות ריליז.

הוא צריך להיות:

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

Monitoring set

הסט הזה רחב ורועש יותר, וקרוב יותר לתנועה אמיתית.

הוא טוב ל:

  • זיהוי drift
  • מציאת מחלקות כשל חדשות
  • תפיסת side effects של פרומפטים או routing
  • הערכת מה באמת השתנה בשטח

הוא לא בהכרח מספיק נקי כדי לעצור ריליזים לבדו.

3. לדרג את מה שבאמת נכשל

ציון אחד הוא דבר מסודר. והוא גם לעיתים קרובות לא מאוד מועיל.

עדיף לבנות graders לפי משימה.

במערכת RAG או legal QA, למשל, אני רוצה סיגנלים נפרדים עבור:

  • נכונות התשובה
  • איכות התמיכה
  • שלמות provenance או ציטוט
  • abstention
  • עמידה בפורמט
  • latency

ב-agent, גם OpenAI וגם Anthropic מצביעים על אותו כיוון: אם הכשל קורה באמצע ה-trace, לא מספיק לדרג רק את התשובה הסופית.

צריך לשאול:

  • האם נבחר הכלי הנכון?
  • האם הופעלו יותר מדי כלים?
  • האם נחצה גבול approval בצורה שגויה?
  • האם נשלפו ראיות נכונות אבל נעשה בהן שימוש שגוי?

4. LLM judges מועילים, לא כל-יודעים

judge models מועילים כשיש משימה פתוחה יחסית ורובריקה שאפשר לכתוב באופן ברור.

הם חלשים יותר כאשר:

  • הרובריקה עמומה
  • הפורמט היה אמור להיות דטרמיניסטי מלכתחילה
  • מספיק להחליק בעובדה אחת בתוך פרוזה טובה כדי להטעות את המערכת

הכלל המעשי פשוט:

להשתמש בבדיקות קוד כשאפשר. להשתמש ב-model grading כשצריך. ולכוון את השכבה השנייה מול הראשונה ומול בדיקה אנושית תקופתית.

5. סיגנלים תפעוליים שייכים לשיחת ה-evals

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

שינוי מודל ששומר לכאורה על איכות התשובה אבל מכפיל latency, מוריד abstention או מגדיל tool churn — שינה את המוצר.

לכן חבילת ה-production evals צריכה לעקוב גם אחרי:

  • TTFT
  • end-to-end latency
  • עלות טוקנים
  • שיעור refusal
  • שיעור escalation
  • מספר קריאות לכלים
  • אורך trace
  • שיעור retry

לא צריך לסגוד לכל metric. כן צריך לדעת מה השתנה.

6. שערי ריליז צריכים להיות משעממים

שער ריליז טוב לא צריך להיות מרשים פילוסופית. הוא צריך להיות ברור.

בפועל זה לרוב נראה כך:

  1. כישלון קשיח אם trusted-set accuracy יורד מתחת לסף
  2. כישלון קשיח אם פורמט נשבר
  3. כישלון קשיח אם מקרי refusal רגישים הידרדרו
  4. אזהרה אם latency או cost חצו את התקציב
  5. בדיקה ידנית של trace deltas כשהתנהגות ה-agent זזה מהותית

זה מספיק כדי לשמור על יושר בלי להקים דת סביב דשבורדים.

7. incidents צריכים להיכנס מהר ל-suite

הדרך המהירה ביותר לבנות תוכנית evals מיושנת היא להתייחס לדאטהסט כמו למוזיאון.

הלולאה הבריאה יותר היא:

  • משתמש או monitoring מוצאים כשל
  • הכשל הופך למקרה eval
  • המערכת המתוקנת חייבת לעבור אותו מאז והלאה

שם נמצא הערך המצטבר. harness טוב נהיה שווה יותר עם כל באג מביך שהוא סופג.

8. לתוכנית ה-evals צריך owner

דשבורד משותף הוא לא בעלות.

מישהו צריך להחליט:

  • אילו evals אמינים מספיק כדי לעצור ריליז
  • איזה כשל הוא אות ואיזה רעש
  • מתי משימה חדשה נכנסת ל-suite
  • מי מאשר שינוי ברובריקה

9. גרסה ראשונה טובה היא קטנה

אם הייתי צריך להעמיד evals למערכת פרודקשן מחר בבוקר, הייתי עושה קודם את זה:

  1. אוסף 30–50 דוגמאות trusted
  2. מפריד אותן לפי מחלקות כשל
  3. מגדיר grader מבוסס קוד או מודל לכל מחלקה
  4. עוקב אחרי latency ו-refusal ליד האיכות
  5. עוצר ריליזים על הסט הקטן לפני שמנסים להרתיח את האוקיינוס

המערכת הראשונה לא צריכה להיראות מרשימה. היא צריכה לתפוס את הכשלים שאתם באמת משחררים.

קריאה קשורה

קריאה קשורה

  • לבנות מערכות agentic שמחזיקות מעמד
  • פרומפטים כהנדסה, לא כקסם
מקורות

מקורות והמשך קריאה

  • OpenAI: Evaluation best practices
  • OpenAI: Agent evals
  • OpenAI: Trace grading
  • Anthropic: Demystifying evals for AI agents

קריאה נוספת

חלק מההערות הציבוריות על מערכות AI עם grounding, retrieval, evals ומשלוח תחת מגבלות אמיתיות.

איך בונים מערכות Legal QA שאפשר לסמוך עליהןאיך מצמצמים hallucinations בלי לעבוד על עצמנובטיחות למוצרי LLM בלי תיאטרון
בעמוד הזה
1. evals הם לא תחביב benchmark2. להתחיל מסט קטן שאפשר לסמוך עליוTrusted setMonitoring set3. לדרג את מה שבאמת נכשל4. LLM judges מועילים, לא כל-יודעים5. סיגנלים תפעוליים שייכים לשיחת ה-evals6. שערי ריליז צריכים להיות משעממים7. incidents צריכים להיכנס מהר ל-suite8. לתוכנית ה-evals צריך owner9. גרסה ראשונה טובה היא קטנהקריאה קשורהמקורות והמשך קריאה