
Αξιολόγηση LLM πολλαπλών γύρων: 5 μετρικές, 3 frameworks, 1 workflow
Η αξιολόγηση LLM πολλαπλών γύρων είναι ο μόνος τρόπος να πιάσετε το σφάλμα αμνησίας του 8ου γύρου: ο χρήστης έδωσε τον αριθμό παραγγελίας του στον 3ο γύρο και το bot τον ξαναζητά. Κάθε μεμονωμένος γύρος πέρασε επιτυχώς· η συνομιλία απέτυχε παρ' όλα αυτά. Το DeepEval 4.0 και το RAGAS 0.4 κυκλοφόρησαν ειδικά conversational eval APIs ακριβώς γι' αυτό, και μετά από δύο eval incidents στη δική μας pipeline στο Techsy, ακολουθούν οι πέντε μετρικές, τα τρία frameworks και ένα workflow για να ξεκινήσετε.
Βασικά συμπεράσματα
- Η αξιολόγηση πολλαπλών γύρων βαθμολογεί ολόκληρες συνομιλίες, όχι μεμονωμένα ζεύγη εισόδου-εξόδου.
- Μοντέλα που πρωτεύουν σε single-turn benchmarks υποβαθμίζονται μετρήσιμα κατά τη διάρκεια των γύρων.
- Ξεκινήστε με τέσσερις μετρικές: πληρότητα, διατήρηση γνώσης, τήρηση ρόλου, συνάφεια γύρου.
- Τα DeepEval, RAGAS και Langfuse λύνουν το multi-turn eval διαφορετικά· ο παρακάτω πίνακας τα συγκρίνει.
Γιατί τα single-turn scores σας λένε ψέματα;
Τα single-turn evals βαθμολογούν ένα ζεύγος εισόδου-εξόδου κάθε φορά, άρα δεν βλέπουν σφάλματα που εμφανίζονται μόνο διαμέσου των γύρων: λήσμονη, αντίφαση, παρέκκλιση. Ένα μοντέλο μπορεί να πετύχει υψηλή βαθμολογία σε benchmark και πάλι να χάσει το νήμα μιας ζωντανής συνομιλίας. Οι Laban et al. το τεκμηριώνουν στο LLMs Get Lost In Multi-Turn Conversation, 353 αναφορές: η απόδοση πέφτει σε ρυθμίσεις πολλαπλών γύρων ακόμα και όταν τα single-turn αποτελέσματα δείχνουν υγιή.
Το βασικό πρόβλημα είναι ο μη ντετερμινισμός: η n-οστή απάντηση εξαρτάται από όλους τους n-1 προηγούμενους γύρους, άρα ίδια prompts συμπεριφέρονται διαφορετικά ανάλογα με το ιστορικό. Ένα dataset μεμονωμένων ζευγών δεν ασκεί ποτέ αυτή την εξάρτηση. Η ανασκόπηση του arXiv Evaluating LLM-based Agents for Multi-Turn Conversations, μια ανασκόπηση PRISMA περίπου 250 πηγών, χωρίζει τον κλάδο στο τι αξιολογείται (διαχείριση πλαισίου, σχεδιασμός, συνοχή) και στο πώς (μετρικές, κριτές LLM, ανθρώπινη αναθεώρηση). Και οι δύο άξονες απουσιάζουν από μια single-turn σουίτα.
Τίποτα από αυτά δεν καθιστά το single-turn stack σας άχρηστο. Αν τρέχετε μετρικές single-turn όπως BLEU, ROUGE και G-Eval, κρατήστε τις γι' αυτό που μετρούν καλά: συμμόρφωση μορφής, τοξικότητα, ανάκληση γεγονότων σε σταθερό prompt. Απλώς σταματήστε να τις διαβάζετε ως έλεγχο υγείας για τη συνομιλία που αγγίζουν οι χρήστες σας.
| Τύπος σφάλματος | Πώς μοιάζει | Μετρική που το πιάνει | Το βλέπει το single-turn; |
|---|---|---|---|
| Λήσμονη προηγούμενων πληροφοριών | Ξαναζητά τον αριθμό παραγγελίας του 3ου γύρου | Διατήρηση γνώσης | Όχι |
| Αυτοαντίφαση | «Δωρεάν αποστολή» στον 2ο γύρο, «9,99 $» στον 7ο | Διατήρηση γνώσης, προσαρμοσμένη | Όχι |
| Παρέκκλιση θέματος | Η συνομιλία επιστροφής καταλήγει σε upsell | Συνάφεια γύρου | Όχι |
| Παραβίαση ρόλου | Το bot υποστήριξης δίνει νομικές συμβουλές | Τήρηση ρόλου | Σπάνια |
| Πρόωρος τερματισμός | «Κάτι άλλο;» πριν λυθεί το πρόβλημα | Πληρότητα συνομιλίας | Όχι |
| Επανάληψη κύκλου | Η ίδια διευκρινιστική ερώτηση τρεις φορές | Πληρότητα, συνάφεια γύρου | Όχι |
Η δική μας ερμηνεία αυτών των μελετών, σε μία πρόταση:
Τα single-turn evals μετρούν την απάντηση, η αξιολόγηση πολλαπλών γύρων μετρά τη συνομιλία, και ένα μοντέλο που άριστεύει στον πρώτο γύρο μπορεί να έχει χαθεί μέχρι τον πέμπτο.
Τι είναι η αξιολόγηση LLM πολλαπλών γύρων; Οι δύο τρόποι αξιολόγησης
Η αξιολόγηση LLM πολλαπλών γύρων είναι η πρακτική της βαθμολόγησης ολόκληρης συνομιλίας, ή παραθύρων μέσα σε αυτήν, αντί για μεμονωμένα ζεύγη prompt-απάντησης. Εξετάζει αν το μοντέλο κράτησε το πλαίσιο, παρέμεινε στον ρόλο του και έλυσε το πρόβλημα του χρήστη διαμέσου των γύρων. Δύο τρόποι κάνουν τη δουλειά: η βαθμολόγηση επιπέδου συνομιλίας και η βαθμολόγηση επιπέδου γύρου με κυλιόμενο παράθυρο, και οι περισσότερες ομάδες τρέχουν και τους δύο.
Η βαθμολόγηση επιπέδου συνομιλίας δίνει στον κριτή ολόκληρη τη μεταγραφή και θέτει μία ερώτηση: ήταν επιτυχημένη αυτή η συνομιλία; Πιάνει τον πρόωρο τερματισμό και τους άλυτους κύκλους, αφού μόνο ολόκληρο το νήμα αποκαλύπτει ότι ο χρήστης δεν πήρε ποτέ την επιστροφή χρημάτων. Η αδυναμία της είναι η κοκκομετρία: το «απέτυχε» σε ένα νήμα 12 γύρων δεν λέει πού έσπασαν τα πράγματα.
Η βαθμολόγηση επιπέδου γύρου με κυλιόμενο παράθυρο μετακινεί ένα παράθυρο N γύρων κατά μήκος της μεταγραφής, μία ετυμηγορία ανά παράθυρο. Ένα παράθυρο 3 σε μια συνομιλία 10 γύρων δίνει 8 ετυμηγορίες δεμένες με περιοχές της συνομιλίας, άρα το «απέτυχε» έρχεται με συντεταγμένες: το σπάσιμο έγινε στους γύρους 6 έως 8. Το διάγραμμα στην κορυφή αυτού του άρθρου δείχνει και τους δύο τρόπους σε ένα νήμα: μια αγκύλη για την ετυμηγορία συνομιλίας, ένα κυλιόμενο πλαίσιο για τις ετυμηγορίες ανά παράθυρο.
Χρησιμοποιήστε τη βαθμολόγηση επιπέδου συνομιλίας ως πύλη, και τη βαθμολόγηση με παράθυρα για να εντοπίσετε σφάλματα όταν αυτή αποτυγχάνει. Ο οδηγός αξιολόγησης πολλαπλών γύρων του DeepEval ορίζει τη μονάδα εργασίας ως σενάριο και όχι ως ζεύγος εισόδου-εξόδου (ο τύπος ConversationalGolden): τεστάρετε μια κατάσταση, όχι μια ερώτηση.
Παράδειγμα επίδειξης (συνθετικό· δείχνει τη μηχανική, όχι πραγματική εκτέλεση): ένα κυλιόμενο παράθυρο 3 σε μια συνομιλία αίτησης επιστροφής 8 γύρων.
Turn 1 user: I want to return an order that arrived damaged.
Turn 2 assistant: Sorry about that. Can you share the order number?
Turn 3 user: It's #4471.
Turn 4 assistant: Got it. Damaged on arrival, or after use?
Turn 5 user: On arrival. The screen was cracked.
Turn 6 assistant: Understood. Replacement or refund?
Turn 7 user: Refund. How long does that take?
Turn 8 assistant: 3-5 business days. Can you share the order number again?| Παράθυρο | Γύροι | Ετυμηγορία | Αιτιολογία |
|---|---|---|---|
| W1 | 1-3 | Pass | Ζητήθηκαν και δόθηκαν οι σωστές πληροφορίες |
| W2 | 2-4 | Pass | Η διευκρινιστική ερώτηση ταιριάζει σε αίτημα ζημίας |
| W3 | 3-5 | Pass | Το πλαίσιο της ζημίας διατηρήθηκε |
| W4 | 4-6 | Pass | Προτάθηκαν επιλογές επίλυσης εγκαίρως |
| W5 | 5-7 | Pass | Επιβεβαιώθηκε επιστροφή με χρονοδιάγραμμα |
| W6 | 6-8 | Fail | Ξαναζητά τον αριθμό παραγγελίας που δόθηκε στον γύρο 3 |
Ετυμηγορία επιπέδου συνομιλίας: αποτυχία. Πέντε από τα έξι παράθυρα πέρασαν, και το νήμα πάλι έσπασε στη διατήρηση γνώσης, ακριβώς το σφάλμα που μια single-turn σουίτα δεν εμφανίζει ποτέ.
Ποιες μετρικές πολλαπλών γύρων μετρούν; Οι 5 που μετρούν
Τρέξτε πρώτα τέσσερις μετρικές: πληρότητα συνομιλίας, διατήρηση γνώσης, τήρηση ρόλου και συνάφεια γύρου. Προσθέστε μια πέμπτη, ένα προσαρμοσμένο κριτήριο (G-Eval στο DeepEval, AspectCritic στο RAGAS), για ό,τι δεν επιτρέπεται να πάει στραβά στο προϊόν σας. Οι πρώτες τέσσερις μεταφέρονται μεταξύ έργων· η πέμπτη είναι εκεί που ζουν οι δικοί σας τρόποι αποτυχίας.
- Πληρότητα συνομιλίας. Επιτεύχθηκε ο στόχος του χρήστη ή το bot κήρυξε νίκη πρόωρα; Ο ανιχνευτής σας για τον πρόωρο τερματισμό.
- Διατήρηση γνώσης. Θυμάται το μοντέλο γεγονότα που ειπώθηκαν νωρίτερα στο νήμα; Το σφάλμα αμνησίας του 8ου γύρου είναι αποτυχία διατήρησης γνώσης.
- Τήρηση ρόλου. Μένει ο βοηθός μέσα στο πρόσωπό του και αρνείται αιτήματα εκτός πεδίου; Κρίσιμο όταν υπάρχει όριο συμμόρφωσης.
- Συνάφεια γύρου. Είναι κάθε απάντηση εντός θέματος δεδομένων των προηγούμενων γύρων; Πιάνει την παρέκκλιση και τους κύκλους.
- Προσαρμοσμένο κριτήριο. Ένας κανόνας σε απλή γλώσσα για τον τομέα σας: «μην παραθέτεις ποτέ τιμή που διαφέρει από τον τιμοκατάλογο». Το DeepEval το υλοποιεί ως
ConversationalGEval· το RAGAS ωςAspectCritic.
| Μετρική | Τι πιάνει | Ξεκινήστε εδώ αν... | Έξοδος |
|---|---|---|---|
| Πληρότητα συνομιλίας | Άλυτοι στόχοι, πρόωρος τερματισμός | Ροή υποστήριξης ή κρατήσεων | Βαθμολογία (0-1) |
| Διατήρηση γνώσης | Λήσμονη, αυτοαντίφαση | Οι συνομιλίες ξεπερνούν τους 5 γύρους | Βαθμολογία (0-1) |
| Τήρηση ρόλου | Σπασίματα προσώπου, απαντήσεις εκτός πεδίου | Το bot έχει όριο συμμόρφωσης | Βαθμολογία (0-1) |
| Συνάφεια γύρου | Παρέκκλιση θέματος, κύκλοι | Οι χρήστες λένε «σταμάτησε να ακούει» | Βαθμολογία (0-1) |
| Προσαρμοσμένη (G-Eval / AspectCritic) | Το ακριβό σφάλμα του τομέα σας | Μπορείτε να κατονομάσετε τι δεν πρέπει να συμβεί | Και τα δύο |
Ο οδηγός μετρικών του DeepEval ορίζει καθεμία με εκτελέσιμες κλάσεις, αλλά οι έννοιες είναι ανεξάρτητες framework: ο πίνακας ισχύει ακόμα κι αν φτιάξετε τον κριτή σας από την αρχή.
Ένα προσαρμοσμένο κριτήριο διαβάζεται σαν πρόταση:
criterion "price_accuracy":
question: Does the assistant quote prices matching the official
list, and self-correct when the user flags a mismatch?
scale: 0 (wrong, no correction) to 1 (correct throughout)
verdict: pass if score >= 0.5Ο ίδιος κανόνας ως πραγματικός κώδικας DeepEval:
from deepeval.metrics import ConversationalGEval
from deepeval.test_case import LLMTestCaseParams
price_accuracy = ConversationalGEval(
name="Price Accuracy",
criteria=(
"Does the assistant quote prices that match the official "
"price list, and correct itself immediately when the user "
"points out a discrepancy?"
),
evaluation_params=[
LLMTestCaseParams.INPUT,
LLMTestCaseParams.ACTUAL_OUTPUT,
],
threshold=0.5,
)DeepEval vs RAGAS vs Langfuse: Ποιο framework ταιριάζει;
Και τα τρία αξιολογούν συνομιλίες πολλαπλών γύρων, αλλά η μονάδα αξιολόγησης διαφέρει: το DeepEval προσομοιώνει σενάρια offline, το RAGAS βαθμολογεί πτυχές συνομιλιών που ήδη έχετε, και το Langfuse αξιολογεί πραγματικά production traces. Επιλέξτε με βάση το πού προέρχονται οι συνομιλίες σας, όχι με τον αριθμό των δυνατοτήτων.
| DeepEval | RAGAS | Langfuse | |
|---|---|---|---|
| Μονάδα αξιολόγησης | ConversationalTestCase (προσομοιωμένο σενάριο) | MultiTurnSample (καταγεγραμμένη συνομιλία) | N+1: ένα trace ανά γύρο, ομαδοποιημένα ανά νήμα |
| Προσομοίωση σεναρίων | Ναι, ενσωματωμένος simulator | Όχι (φέρτε τις δικές σας μεταγραφές) | Ναι (ξεχωριστό cookbook) |
| Δυαδική ή βαθμολογική | Και τα δύο (G-Eval βαθμολογική· ολοκλήρωση εργασίας δυαδική) | Και τα δύο (το AspectCritic είναι δυαδικό εξ ορισμού) | Και τα δύο, μέσω προσαρμοσμένων evaluators |
| Production threading | Μέσω της πλατφόρμας Confident AI | Μέσω integrations | Εγγενές (tracer πρώτα) |
| Άδεια | Apache 2.0 | Apache 2.0 | MIT (server source-available) |
| Διαλέξτε το όταν | Offline regression tests πριν το deploy | Ροή ανάλυσης σφαλμάτων σε πραγματικές συνομιλίες | Evals σε ζωντανή κίνηση, όχι προσομοιώσεις |
Πρώτα η λογική ανεξάρτητη framework, ώστε ο παρακάτω κώδικας προμηθευτή να είναι φορητός:
for scenario in scenario_set:
transcript = run_chatbot(scenario, max_turns=10)
for window in sliding_windows(transcript, 3):
scores.append(judge(window, criteria))
scores.append(judge(transcript, completeness))
fail_if(mean(scores) < baseline - tolerance)DeepEval: σενάρια και ένας simulator με όλα τα εργαλεία
Το DeepEval είναι το μόνο με simulator συνομιλίας πρώτης κατηγορίας: περιγράψτε ένα σενάριο και ένα persona, και αυτό παίζει τον χρήστη απέναντι στο bot σας. Ο οδηγός πολλαπλών γύρων είναι η κανονική αναφορά για το μοτίβο σενάριο-όχι-ζεύγη. Το Confident AI πουλά τον φιλοξενούμενο πίνακα ελέγχου· η δική μας αξιολόγηση του Confident AI καλύπτει τι προσθέτει το επί πληρωμή επίπεδο.
from deepeval.dataset import ConversationalGolden
from deepeval.synthesizer import ConversationSimulator
from deepeval.metrics import (
ConversationCompletenessMetric,
KnowledgeRetentionMetric,
)
from deepeval import evaluate
scenario = ConversationalGolden(
additional_context="Customer wants to return a damaged order",
user_persona="Impatient customer, second contact this week",
)
simulator = ConversationSimulator(model="gpt-4o-mini", max_turns=10)
test_case = simulator.simulate(scenario, your_chatbot_fn)
evaluate(
test_cases=[test_case],
metrics=[
ConversationCompletenessMetric(threshold=0.7),
KnowledgeRetentionMetric(threshold=0.7),
],
)RAGAS: καθοδηγούμενο από ανάλυση σφαλμάτων, πτυχή προς πτυχή
Το RAGAS ξεκινά από συνομιλίες που ήδη έχετε και τις βαθμολογεί πτυχή προς πτυχή. Το how-to πολλαπλών γύρων συνδυάζεται με χειροκίνητη ανάλυση σφαλμάτων: διαβάστε αποτυχημένες συνομιλίες, γράψτε ένα AspectCritic ανά τρόπο αποτυχίας, βαθμολογήστε.
from ragas.dataset_schema import MultiTurnSample
from ragas.metrics import AspectCritic
from ragas.llms import llm_factory
user_input = [
{"role": "user", "content": "Can I return a damaged order?"},
{"role": "assistant", "content": "Yes, within 30 days."},
{"role": "user", "content": "It arrived broken. Do I pay shipping?"},
{"role": "assistant", "content": "No, we cover it."},
]
sample = MultiTurnSample(user_input=user_input)
critic = AspectCritic(
name="policy_consistency",
definition="Does the assistant stay consistent with the stated return policy across all turns? Answer yes or no.",
llm=llm_factory("gpt-4o-mini"),
)
score = await critic.multi_turn_ascore(sample) # binary 0 or 1Langfuse: αξιολόγηση N+1 σε πραγματικά traces
Το Langfuse παίρνει τον αντίθετο δρόμο: tracer πρώτα. Το cookbook N+1 αξιολογεί το trace κάθε γύρου συν τη συνομιλία ως σύνολο, σε production κίνηση και όχι σε προσομοιώσεις. Αν ακόμα διαλέγετε το επίπεδο παρατηρησιμότητας, η σύγκρισή μας Langfuse vs LangSmith καλύπτει αυτή την απόφαση.
Η ετυμηγορία μας, χωρίς επιφυλάξεις: για ένα νέο έργο chatbot, ξεκινήστε με το DeepEval. Ο simulator σάς επιτρέπει να βάλετε πύλη στα regressions πριν έχετε production κίνηση, τότε που χρειάζεστε περισσότερο τα τεστ. Προσθέστε το Langfuse όταν υπάρξουν πραγματικά νήματα· απευθυνθείτε στο RAGAS όταν η ομάδα σας προτιμά να διαβάζει αποτυχημένες συνομιλίες και να κωδικοποιεί ό,τι βρίσκει.
Πώς περνάτε από την ανάλυση σφαλμάτων στην αυτοματοποίηση;
Το κάνετε με σειρά. Διαβάστε 20-30 πραγματικές συνομιλίες, επισημάνετε τους τρόπους αποτυχίας με το χέρι, γράψτε δυαδικούς ελέγχους pass/fail για τους προφανείς, αυτοματοποιήστε τους, και μόνο τότε προσθέστε μετρικές με κριτή LLM για το υποκειμενικό υπόλοιπο. Ο Hamel Husain υποστηρίζει ακριβώς αυτή τη σειρά: πρώτα χειροκίνητη ανάλυση σφαλμάτων και δυαδικές αποφάσεις, γιατί ένας έλεγχος που μπορείτε να εξηγήσετε νικά μια βαθμολογία που δεν μπορείτε.
Δυαδικά πριν τον κριτή: η σειρά που μας έσωσε
Αυτό δεν είναι benchmark chatbot που τρέξαμε· είναι η δική μας ερμηνεία του ίδιου μοτίβου μέσα στη δική μας content pipeline, η οποία τρέχει regression checks με πύλη eval σε κάθε αλλαγή prompt και εργαλείων. Δύο περιστατικά απέδειξαν τη σειρά για εμάς.
Στις 2026-06-13, ένα σφάλμα επανέκδοσης δημιούργησε νέα τοπικοποιημένα slugs και εξέδωσε 54 διπλά ζωντανά έγγραφα. Τα βρήκαμε και τα αποσύραμε στις 2026-07-05 (αντίγραφο στο techsy.io/seo-reports/2026-07-05/deleted_docs_backup.json). Η διόρθωση δεν ήταν ένα εξυπνότερο μοντέλο· ήταν ένας ντετερμινιστικός έλεγχος πριν τη δημοσίευση: επίλυση του υπάρχοντος εγγράφου ανά κανονικό άρθρο και γλώσσα πριν από κάθε δημιουργία. Μια δυαδική πύλη.
Δεύτερο περιστατικό: τα μεταφραστικά LLM μερικές φορές εκπέμπουν ASCII αντί για Unicode, μετατρέποντας το «karşılaştırma» σε «karsilastirma». Δεν χρειάζεται κριτής· μια πύλη grep το πιάνει:
grep -cP '[çşğüöıİŞÇĞÜÖ]' file.md # must be > 0Και τα δύο πιάστηκαν από ελέγχους που κοστίζουν κλάσματα του λεπτού και εκτυπώνουν ακριβώς γιατί απέτυχαν. Χαρτογραφήστε το στις multi-turn μετρικές: «το bot ξαναζήτησε πεδίο που ο χρήστης ήδη έδωσε;» είναι ταίριασμα συμβολοσειράς στη μεταγραφή, όχι κλήση κριτή. Τρέξτε πρώτα φθηνές ντετερμινιστικές πύλες· πιάνουν τα άσχημα σφάλματα πριν καν τρέξει ο ακριβός κριτής σας.
Πότε ένας κριτής LLM είναι όντως το σωστό εργαλείο
Οι κριτές δικαιολογούν το κόστος token τους σε κριτήρια που δεν ανάγονται σε κανόνα: «ήταν ο τόνος κατάλληλα απολογητικός;», «ταίριαζε η επίλυση στην κατάσταση;». Αν μπορείτε να γράψετε μια assertion, γράψτε μια assertion. Ένα ρουμπρίκ γεμάτο κρίσεις είναι περιοχή κριτή.
Η γραμμή στην οποία επιστρέφουμε συνέχεια:
Ξεκινήστε με δυαδικούς ελέγχους pass/fail που μπορείτε να εξηγήσετε σε συνάδελφο, και μετά προσθέστε κριτές LLM μόνο για ό,τι δεν ανάγεται σε κανόνα.
Πώς προσομοιώνετε συνομιλίες σε κλίμακα και πόσο κοστίζει η κρίση;
Προσομοιώστε από σενάρια, όχι από εξαγόμενα αρχεία καταγραφής. Τα σενάρια τεστάρουν τι θα μπορούσε να συμβεί· τα logs δείχνουν μόνο τι επέτρεψε ήδη το τρέχον σύστημά σας. Η καθοδήγηση του DeepEval προειδοποιεί ότι οι ιστορικές συνομιλίες διαμορφώθηκαν από το σύστημα που τις παρήγαγε, άρα το benchmark εναντίον τους ενσωματώνει το status quo.
Σενάρια, όχι μεταγραφές
Γράψτε κάθε σενάριο ως στόχο συν persona: «ανυπόμονος πελάτης που επιστρέφει κατεστραμμένη παραγγελία», «χρήστης που αλλάζει γνώμη στη μέση της κράτησης». Ορίστε όριο μέγιστων γύρων (το 10 είναι λογικό) και συνθήκη τερματισμού: επετεύχθη ο στόχος, ο χρήστης εγκαταλείπει, ή το όριο. Το DeepEval συνιστά τουλάχιστον 20 ποικίλα σενάρια σε κύριες περιπτώσεις χρήσης, ακραίες περιπτώσεις και καταστάσεις επιρρεπείς σε αποτυχία· κάτω από αυτό, η σουίτα σας μετρά ανέκδοτα.
Αντίπαλα personas
Συμπεριλάβετε personas που προσπαθούν να σπάσουν το bot: ένας θυμωμένος χρήστης που κλιμακώνει, ένας μπερδεμένος χρήστης που αυτοαναιρείται, ένας χρήστης injection που παρεισφρύει οδηγίες στον 4ο γύρο. Το multi-turn injection είναι δικός του κλάδος· ο οδηγός μας για LLM guardrails καλύπτει το αμυντικό επίπεδο που συνδυάζεται με αυτά τα τεστ, και το cookbook προσομοίωσης του Langfuse δείχνει τον βρόχο simulator χρήστη.
Πόσο κοστίζουν 100 αξιολογημένες συνομιλίες
Κάθε νούμερο παρακάτω είναι εκτίμηση από δηλωμένους αριθμούς token και δημόσιες τιμές, όχι μέτρηση που τρέξαμε. Η αριθμητική είναι το θέμα: βάλτε τα δικά σας νούμερα.
| Στοιχείο | Τιμή |
|---|---|
| Στήσιμο | 100 συνομιλίες, 10 γύροι η καθεμία, κυλιόμενο παράθυρο 5 |
| Κλήσεις κριτή ανά συνομιλία | 6 με παράθυρο (10 - 5 + 1) + 1 επιπέδου συνομιλίας = 7 |
| Συνολικές κλήσεις κριτή | 700 |
| Token ανά κλήση (υπόθεση) | ~2.000 είσοδος, ~200 έξοδος |
| Συνολικά token | ~1,4 εκατ. είσοδος, ~140 χιλ. έξοδος |
| Μοντέλο κριτή | GPT-4o-mini: 0,15 $/1 εκατ. είσοδο, 0,60 $/1 εκατ. έξοδο (σελίδα τιμών OpenAI) |
| Εκτιμώμενο κόστος | ~0,21 $ είσοδος + ~0,08 $ έξοδος = περίπου 0,29 $ ανά 100 συνομιλίες |
Κάτω από ένα δολάριο για 100 πλήρως κριθέντες συνομιλίες. Ένας ακριβότερος κριτής το μετακινεί 10-50 φορές, και οι τακτικές στον οδηγό μας για μείωση κόστους LLM API εφαρμόζονται: κάντε cache το κείμενο των κριτηρίων, ομαδοποιήστε τα παράθυρα, χρησιμοποιήστε το φθηνό μοντέλο για τις δυαδικές πύλες.
Workflow 6 βημάτων για multi-turn eval
Ο βρόχος τρέχει έτσι: ορίστε σενάρια από πραγματικές αποτυχίες, διαλέξτε τέσσερις βασικές μετρικές συν μία προσαρμοσμένη, προσομοιώστε τουλάχιστον 20 σενάρια, θέστε γραμμή βάσης για την τρέχουσα έκδοση, βάλτε πύλη regressions στο CI και τροφοδοτήστε τις αποτυχίες παραγωγής πίσω στο σύνολο σεναρίων.
- Ορίστε σενάρια από αποτυχίες. Διαβάστε 20-30 μεταγραφές (ή, πριν την κυκλοφορία, γράψτε τα από εισιτήρια υποστήριξης). Κάθε σενάριο παίρνει στόχο, persona και όριο μέγιστων γύρων. Υπεύθυνος: εσείς και η μέθοδος ανάλυσης σφαλμάτων πρώτα του Hamel.
- Διαλέξτε τέσσερις μετρικές, μία προσαρμοσμένη. Πληρότητα, διατήρηση γνώσης, τήρηση ρόλου, συνάφεια γύρου, και ένα
ConversationalGEvalήAspectCriticγια το ακριβό σφάλμα του τομέα σας. - Προσομοιώστε. Τρέξτε τουλάχιστον 20 σενάρια συμπεριλαμβανομένου του αντίπαλου συνόλου. Υπεύθυνος: ο
ConversationSimulatorτου DeepEval ή το cookbook προσομοίωσης του Langfuse. - Γραμμή βάσης της τρέχουσας έκδοσης. Καταγράψτε μέσους όρους ανά μετρική σε 3 εκτελέσεις, αφού τα μοντέλα είναι μη ντετερμινιστικά και μία εκτέλεση είναι θόρυβος. Υπεύθυνος: το eval script σας, αποτελέσματα commit στο repo.
- Πύλη regressions στο CI. Ορίστε κατώφλι ανά μετρική και αποτύχετε το build σε regression πέρα από την ανοχή:
# ci/multi-turn-eval-gate.sh
set -euo pipefail
python eval/run_multi_turn.py --scenarios eval/scenarios.yaml --out results.json
SCORE=$(jq -r '.aggregate.completeness' results.json)
BASELINE=0.82
TOLERANCE=0.03
if (( $(echo "$SCORE < $BASELINE - $TOLERANCE" | bc -l) )); then
echo "FAIL: completeness $SCORE below baseline $BASELINE"
exit 1
fi- Παρακολουθήστε τα νήματα παραγωγής. Ομαδοποιήστε τα ζωντανά traces ανά νήμα, αξιολογήστε ασύγχρονα και μετατρέψτε κάθε αποτυχημένο νήμα σε νέο σενάριο. Υπεύθυνος: Langfuse ή ο tracer σας· οι οδηγοί μας για αξιολόγηση AI agents στην παραγωγή και παρατηρησιμότητα AI καλύπτουν το μισό της παρακολούθησης.
Η σουίτα δεν τελειώνει ποτέ: το βήμα 6 τροφοδοτεί το βήμα 1, και το σύνολο σεναρίων μεγαλώνει με κάθε αποτυχία παραγωγής που πιάνετε.
Πώς αξιολογείτε τον τόνο σε διάφορες γλώσσες;
Μια μετρική τήρησης ρόλου κουρδισμένη σε αγγλικά δεδομένα θα περάσει μια τουρκική ή ιαπωνική μεταγραφή που ένας φυσικός ομιλητής βρίσκει αγενή, γιατί το υφολογικό επίπεδο ευγένειας είναι γλωσσοειδικό. Το αγγλικό σας ρουμπρίκ δεν έχει λόγια γι' αυτό. Η διόρθωση: ένα κριτήριο πτυχής ανά προσδοκία ύφους, γραμμένο ανά γλώσσα, όχι μία παγκόσμια μετρική τόνου.
Ένα κριτήριο ανά υφολογικό επίπεδο
Η δική μας ερμηνεία του μοτίβου AspectCritic του RAGAS, επεκταμένη από το τρέξιμο μιας pipeline 23 γλωσσών, όχι δημοσιευμένο αποτέλεσμα τεστ:
English: "Is the assistant's tone friendly but professional?"
Turkish: "Does the assistant use formal 'siz' address consistently,
and avoid casual verb forms with an upset customer?"
Japanese: "Does the assistant keep keigo (polite form) throughout,
including the apology at the resolution turn?"Κάθε κριτήριο είναι ένας ξεχωριστός δυαδικός κριτής στην ίδια μεταγραφή. Δεν έχουμε δημοσιεύσει βαθμολογίες τόνου μεταξύ γλωσσών, και δεν θα εμπιστευόμασταν άρθρο που τις εκτυπώνει χωρίς το ρουμπρίκ. Από τη δουλειά στην pipeline: οι αποτυχίες συσσωρεύονται στους γύρους συγγνώμης και κλιμάκωσης, όπου το υφολογικό επίπεδο καταρρέει πρώτο.
Σχετικά με τον συγγραφέα
Ο Mert Batur είναι συνιδρυτής του Techsy.io, όπου η ομάδα παραδίδει AI agents, συστήματα αυτοματισμού και φωνητικά/SDR pipelines για B2B πελάτες. Γράφει για το εργαλείο LLM stack που η ομάδα του Techsy χρησιμοποιεί πραγματικά στην παραγωγή. Διαπιστευτήρια: συνιδρυτής, Techsy.io. Συνδεθείτε στο LinkedIn.
Συχνές ερωτήσεις
Τι είναι ένα LLM συνομιλίας πολλαπλών γύρων;
Ένα γλωσσικό μοντέλο του οποίου η n-οστή απάντηση εξαρτάται από όλους τους προηγούμενους γύρους, όχι μόνο το τελευταίο prompt. Εξαρτάται από ολόκληρο το νήμα, άρα η συμπεριφορά αλλάζει με το ιστορικό της συνομιλίας. Αυτή η εξάρτηση από το πλαίσιο είναι ό,τι δεν μπορούν να ασκήσουν τα single-turn τεστ και υπάρχει η αξιολόγηση πολλαπλών γύρων για να τη βαθμολογήσει.
Τι σημαίνει αξιολόγηση LLM;
Μέτρηση της ποιότητας εξόδου έναντι καθορισμένων κριτηρίων, αυτόματα και επαναλήψιμα, αντί με το αίσθημα. Η αξιολόγηση single-turn βαθμολογεί μεμονωμένα ζεύγη prompt-απάντησης έναντι μετρικών όπως BLEU ή ένας κριτής LLM. Η αξιολόγηση πολλαπλών γύρων το επεκτείνει σε ολόκληρες συνομιλίες, βαθμολογώντας τη διατήρηση πλαισίου και την επίτευξη στόχου διαμέσου γύρων και όχι ανά prompt.
Πώς κάνετε benchmark σε επιδόσεις LLM πολλαπλών γύρων;
Φτιάξτε τουλάχιστον 20 σενάρια με στόχους και personas, προσομοιώστε τα εναντίον του μοντέλου και βαθμολογήστε με μετρικές επιπέδου συνομιλίας συν ελέγχους κυλιόμενου παραθύρου. Καταγράψτε γραμμές βάσης σε πολλαπλές εκτελέσεις για να απορροφήσετε τον μη ντετερμινισμό, μετά συγκρίνετε κάθε νέα έκδοση με τη γραμμή βάσης στο CI. Τα production traces επεκτείνουν το benchmark αργότερα.
Ποιοι είναι οι καλύτεροι τρόποι αξιολόγησης ενός LLM;
Με σειρά: πρώτα χειροκίνητη ανάλυση σφαλμάτων, μετά δυαδικές πύλες pass/fail για ό,τι ανάγεται σε κανόνα, μετά LLM-ως-κριτής για υποκειμενικά κριτήρια όπως τόνος και ποιότητα επίλυσης. Οι δυαδικοί έλεγχοι είναι φθηνότεροι, αποσφαλματώσιμοι και δεν παρεκκλίνουν· οι κριτές ανήκουν σε κριτήρια που όντως απαιτούν κρίση, μετά το πέρασμα των φθηνών πυλών.
Με ποιες μετρικές πολλαπλών γύρων να ξεκινήσω;
Πληρότητα συνομιλίας, συνάφεια γύρου και διατήρηση γνώσης· πιάνουν τις πιο κοινές αποτυχίες (άλυτοι στόχοι, παρέκκλιση, λήσμονη) σε οποιοδήποτε προϊόν συνομιλίας. Προσθέστε τήρηση ρόλου αν το bot σας έχει όριο συμμόρφωσης, μετά ένα προσαρμοσμένο κριτήριο G-Eval ή AspectCritic για το σφάλμα που η επιχείρησή σας δεν αντέχει.
Πόσο κοστίζει το LLM-ως-κριτής ανά συνομιλία;
Με κυλιόμενο παράθυρο 5 σε 10 γύρους συν μία κλήση επιπέδου συνομιλίας, κάνετε 7 κλήσεις κριτή ανά συνομιλία. Με περίπου 2.000 token εισόδου ανά κλήση στο GPT-4o-mini, η εκτίμησή μας με τα μαθηματικά που δείξαμε βγαίνει περίπου 0,29 $ ανά 100 συνομιλίες. Τα premium μοντέλα κριτή το αυξάνουν 10-50 φορές.
DeepEval vs RAGAS για αξιολόγηση πολλαπλών γύρων: ποιο να διαλέξω;
DeepEval αν θέλετε offline regression tests με ενσωματωμένο simulator συνομιλίας, ειδικά πριν έχετε production κίνηση. RAGAS αν η ροή εργασίας σας ξεκινά από διάβασμα πραγματικών αποτυχημένων συνομιλιών και κωδικοποίηση κάθε τρόπου αποτυχίας ως AspectCritic. Ένας κοινός διαχωρισμός: DeepEval στο CI, κριτές τύπου RAGAS σε production logs.
Πόσα σενάρια χρειάζομαι για μια multi-turn eval σουίτα;
Τουλάχιστον 20, που καλύπτουν κύριες περιπτώσεις χρήσης, ακραίες περιπτώσεις και καταστάσεις επιρρεπείς σε αποτυχία· αυτό το κατώφλι προέρχεται από τη δημοσιευμένη καθοδήγηση του DeepEval και ταιριάζει με τη δική μας εμπειρία. Κάτω από 20, τα ποσοστά επιτυχίας ταλαντεύονται ανάλογα με το ποια σενάρια τυχαίνει να συμπεριληφθούν. Μεγαλώστε το σύνολο με κάθε αποτυχία παραγωγής.
Μπορώ να τρέξω αξιολόγηση πολλαπλών γύρων σε CI/CD;
Ναι. Κρατήστε ένα σταθερό σύνολο σεναρίων στο repo, τρέξτε το σε κάθε αλλαγή prompt ή μοντέλου και αποτύχετε το build όταν μια μετρική υποχωρήσει πέρα από την ανοχή έναντι της γραμμής βάσης. Επειδή τα μοντέλα είναι μη ντετερμινιστικά, συγκρίνετε μέσους όρους 3 εκτελέσεων με ανοχή (εμείς χρησιμοποιούμε 0,03), όχι ακριβή κατώφλια.
Πώς αξιολογώ συνομιλίες πολλαπλών γύρων στην παραγωγή;
Ομαδοποιήστε τα traces ανά νήμα συνομιλίας, βαθμολογήστε κάθε νήμα ασύγχρονα ώστε η αξιολόγηση να μην μπλοκάρει ποτέ μια απάντηση, και διοχετεύστε τα αποτυχημένα νήματα σε μια ουρά αναθεώρησης. Κάθε επιβεβαιωμένη αποτυχία γίνεται νέο σενάριο στην offline σουίτα σας, κλείνοντας τον βρόχο μεταξύ παρακολούθησης και regression tests.
Η σύντομη εκδοχή
- Τα single-turn scores δεν βλέπουν συνομιλιακές αποτυχίες· η έρευνα δείχνει μοντέλα να υποβαθμίζονται διαμέσου γύρων παρά τα υγιή benchmarks.
- Τρέξτε βαθμολόγηση επιπέδου συνομιλίας ως πύλη και βαθμολόγηση κυλιόμενου παραθύρου για να εντοπίσετε σπασίματα.
- Τέσσερις βασικές μετρικές συν ένα προσαρμοσμένο κριτήριο καλύπτουν τα περισσότερα προϊόντα συνομιλίας· δυαδικοί έλεγχοι πριν τους κριτές, πάντα.
- DeepEval για προσομοιωμένα regression tests, RAGAS για κριτές καθοδηγούμενους από ανάλυση σφαλμάτων, Langfuse για production traces.
- Το κόστος κριτή είναι μικρό (κάτω από ένα δολάριο ανά 100 συνομιλίες σε mini μοντέλο)· το κόστος σπάνια είναι το εμπόδιο.
Για το ευρύτερο τοπίο εργαλείων, κατατάξαμε ολόκληρο τον κλάδο στη συλλογή μας με τα καλύτερα εργαλεία αξιολόγησης LLM. Και αν προτιμάτε να φτιάξετε την pipeline eval με κάποιον, κλείστε μια δωρεάν συμβουλευτική συνεδρία με την ομάδα του Techsy.