Αν το σύστημά σας RAG δεν έχει eval set, κάθε αλλαγή prompt είναι μια vibes-based κυκλοφορία. Τα καλά νέα: μπορείτε να χτίσετε ένα χρήσιμο eval set σε μία εβδομάδα. Όχι τέλειο — χρήσιμο. Το τέλειο είναι η παγίδα που εμποδίζει τις ομάδες να έχουν καθόλου evals.
Ακολουθεί η συνταγή που χρησιμοποιούμε σε engagements όπου ο πελάτης έχει 0–5 evals την πρώτη μέρα και χρειάζεται 200 μέχρι το τέλος της εβδομάδας.
Η μορφή
Θέλετε τρία πράγματα:
- Ένα παγωμένο corpus — τα πραγματικά έγγραφα στα οποία το σύστημά σας κάνει retrieval, με snapshot σε ένα χρονικό σημείο.
- 200 ερωτήσεις που ένας πραγματικός χρήστης θα μπορούσε να ρωτήσει, με ground-truth απαντήσεις και citations.
- Ένα held-out set — 30 από αυτές τις 200, κλειδωμένες, ποτέ μη χρησιμοποιημένες για να ρυθμίσετε οτιδήποτε.
Το held-out set είναι το πιο σημαντικό και αυτό που παραλείπεται πιο συχνά. Θα επανέλθουμε σε αυτό.
Ημέρες 1–2: Εξορύξτε πραγματικές ερωτήσεις
Παραλείψτε τα workshops «τι θα ρωτούσαν οι χρήστες;». Παράγουν ερωτήσεις που κανένας χρήστης δεν έκανε ποτέ στην πραγματικότητα. Πηγαίνετε στις πηγές σας:
- Support tickets που αναφέρουν οποιοδήποτε θέμα καλύπτει το RAG.
- Search logs από την υπάρχουσα μπάρα αναζήτησης, αν έχετε.
- Slack channels όπου οι άνθρωποι κάνουν την ερώτηση εσωτερικά.
- Τα chat logs από το τρέχον σας LLM σύστημα, αν τρέχει κάποιο.
Στοχεύστε 250 ακατέργαστες ερωτήσεις. Κάντε dedupe, ομαλοποιήστε τη διατύπωση, πετάξτε τις προφανώς εκτός σκοπού. Θα προσγειωθείτε στις ~200.
Ημέρα 3: Tag για δυσκολία και θέμα
Κατατάξτε κάθε ερώτηση:
- Δυσκολία: trivial (η απάντηση είναι σε μία παράγραφο), medium (η απάντηση απαιτεί σύνθεση 2–3 εγγράφων), hard (απαιτεί κατανόηση διαδικασίας ή κανόνα).
- Θεματική περιοχή — συνήθως 5–15 buckets, ανάλογα με τον τομέα σας.
- Adversarial flag — ερωτήσεις σχεδιασμένες να ενεργοποιούν γνωστά failure modes (εκτός σκοπού, αντιφατικές πληροφορίες, πρόσφατα ενημερωμένες πληροφορίες).
Θέλετε μείγμα. Μια σουίτα που είναι 90% trivial ερωτήσεις θα σας πει ότι το σύστημά σας είναι υπέροχο, και θα κάνετε deploy ένα regression επειδή τα medium και hard cases έσπασαν.
Ημέρα 4: Ground truth
Για κάθε ερώτηση χρειάζεστε:
- Την αναμενόμενη απάντηση — γραπτή, 1–3 προτάσεις, την απάντηση που θα έδινε ένας domain expert.
- Τα υποστηρικτικά passages — δείκτες (doc IDs, line ranges, chunk IDs) στα μέρη του corpus που θα έπρεπε να ανακτηθούν για να απαντηθεί η ερώτηση.
Αυτό είναι το αργό κομμάτι. Σχεδιάστε ~3 λεπτά ανά ερώτηση = ~10 ώρες για 200 ερωτήσεις. Δύο άνθρωποι παράλληλα, μισή εβδομάδα. Χρησιμοποιήστε domain expert.
Αξίζει τον κόπο. Αυτό είναι το κομμάτι που μετατρέπει το «το LLM είπε κάτι αληθοφανές» σε «το LLM παρέθεσε τη σωστή πηγή και έδωσε τη σωστή απάντηση».
Ημέρα 5: Baselines + μετρικές
Τρέξτε το τρέχον σύστημά σας (ή ένα stub αν δεν έχετε) έναντι των 170 ορατών ερωτήσεων. Καταγράψτε:
- Retrieval@k: τα top-k retrieved chunks περιλάμβαναν τα αναμενόμενα υποστηρικτικά passages;
- Answer correctness: αξιολογημένη από έναν LLM judge έναντι της αναμενόμενης απάντησης, με την held-out αναφορά. Καλιμπράρετε τον judge έναντι ~30 ανθρώπινων αξιολογήσεων για να βεβαιωθείτε ότι δεν απλώς σφραγίζει.
- Citation precision: από τα citations που επιστράφηκαν, ποιο κλάσμα υποστηρίζει πραγματικά τον ισχυρισμό;
Έχετε τώρα baselines. Κάθε μελλοντική αλλαγή prompt ή retrieval εμφανίζεται ως delta από αυτά.
Το σύνολο «μην το βελτιστοποιείτε»
Οι 30 held-out ερωτήσεις υπάρχουν για έναν λόγο: για να εντοπίζετε τον εαυτό σας.
Κάθε ομάδα που χτίζει ένα eval set τελικά αρχίζει να ρυθμίζει το σύστημα έναντι του eval set. Νέα έκδοση prompt, τρέξιμο evals, το score ανέβηκε, ship. Τρεις μήνες μέσα, το in-suite score σας είναι 95% και η ικανοποίηση των χρηστών είναι αμετάβλητη επειδή κάνετε overfitting.
Οι held-out 30 ερωτήσεις τρέχουν μόνο κατά τα τριμηνιαία health checks. Αν κάνουν regress ενώ η υπόλοιπη σουίτα βελτιώνεται, αυτό είναι ο συναγερμός για overfitting. Είναι ένας έλεγχος στον έλεγχο.
Μην τις κοιτάτε. Μην προσθέτετε. Μην αντικαθιστάτε με αντίστοιχες. Κλειδώστε τις σε θησαυροφυλάκιο.
Τι σας προσφέρει αυτό
- Ένα αναπαραγώγιμο σήμα που κάνει gate τις αλλαγές prompt και retrieval.
- Ένα baseline με το οποίο μπορείτε να συγκρίνετε όταν αξιολογείτε νέες εκδόσεις LLM.
- Μια υπερασπίσιμη απάντηση στο «πώς ξέρετε ότι το RAG σας είναι καλό;»
Χτίστε το v1 σε μία εβδομάδα. Επαναλάβετε τις ερωτήσεις μηνιαίως. Αντικαταστήστε το held-out set μία φορά τον χρόνο.
Δεν θα έχετε ποτέ χρόνο να χτίσετε το τέλειο eval set. Έχετε σίγουρα χρόνο να χτίσετε το χρήσιμο.