
تقييم نماذج LLM متعددة الجولات: 5 مقاييس و3 أطر عمل وسير عمل واحد
تقييم نماذج LLM متعددة الجولات هو الطريقة الوحيدة لرصد خلل فقدان الذاكرة في الجولة الثامنة: المستخدم قدّم رقم طلبه في الجولة الثالثة، والروبوت يطلبه مرة أخرى. كل جولة على حدة اجتازت الاختبار، لكن المحادثة فشلت. أصدرت DeepEval 4.0 وRAGAS 0.4 واجهات برمجة مخصصة للتقييم المحادثي لهذا الغرض تحديدًا، وبعد حادثتي تقييم في خط الإنتاج الخاص بنا في Techsy، إليك المقاييس الخمسة وأطر العمل الثلاثة وسير العمل الواحد للبدء.
أبرز النقاط
- التقييم متعدد الجولات يقيّم المحادثات الكاملة، لا أزواج الإدخال والإخراج المعزولة.
- النماذج التي تتصدر معايير الجولة الواحدة تتدهور بشكل قابل للقياس عبر جولات المحادثة.
- ابدأ بأربعة مقاييس: الاكتمال، والاحتفاظ بالمعرفة، والالتزام بالدور، وملاءمة الجولة.
- DeepEval وRAGAS وLangfuse تحل التقييم متعدد الجولات بطرق مختلفة؛ جدول أطر العمل أدناه يقارن بينها.
لماذا تخدعك نتائج الجولة الواحدة؟
تقييمات الجولة الواحدة تمنح درجة لكل زوج إدخال وإخراج على حدة، لذا لا تستطيع رصد الإخفاقات التي لا تظهر إلا عبر الجولات: النسيان، والتناقض، والانحراف. يمكن لنموذج أن يحقق درجة معيارية قوية ويفقد خيط المحادثة الحية. وثّق Laban وزملاؤه ذلك في ورقة LLMs Get Lost In Multi-Turn Conversation بـ 353 استشهادًا: الأداء يتدهور في البيئات متعددة الجولات حتى عندما تبدو نتائج الجولة الواحدة سليمة.
المشكلة الجوهرية هي عدم الحتمية: الاستجابة رقم ن تعتمد على جميع الجولات السابقة (ن-1)، لذا تتصرف التعليمات المتطابقة بشكل مختلف بناءً على السجل. مجموعة بيانات من الأزواج المعزولة لا تختبر هذا الاعتماد أبدًا. مسح arXiv بعنوان Evaluating LLM-based Agents for Multi-Turn Conversations، وهو مراجعة PRISMA لنحو 250 مصدرًا، يقسّم المجال إلى ما يجب تقييمه (إدارة السياق، والتخطيط، والتماسك) وكيف (المقاييس، ومحكّمو LLM، والمراجعة البشرية). كلا المحورين غائب عن مجموعة اختبارات الجولة الواحدة.
لا شيء من هذا يجعل مجموعة اختبارات الجولة الواحدة عديمة الفائدة. إذا كنت تشغّل مقاييس الجولة الواحدة مثل BLEU وROUGE وG-Eval، احتفظ بها لما تقيسه جيدًا: الامتثال للتنسيق، والسمية، والاستدعاء الواقعي على تعليمات ثابتة. فقط توقّف عن قراءتها كفحص صحي للمحادثة التي يلمسها مستخدموك.
| نوع الإخفاق | كيف يبدو | المقياس الذي يرصده | هل تراه الجولة الواحدة؟ |
|---|---|---|---|
| نسيان معلومات سابقة | يعيد طلب رقم الطلب من الجولة 3 | الاحتفاظ بالمعرفة | لا |
| التناقض الذاتي | "شحن مجاني" في الجولة 2، "9.99$" في الجولة 7 | الاحتفاظ بالمعرفة، مخصص | لا |
| انحراف الموضوع | محادثة استرداد تنتهي إلى بيع إضافي | ملاءمة الجولة | لا |
| انتهاك الدور | روبوت دعم يقدم مشورة قانونية | الالتزام بالدور | نادرًا |
| الإغلاق المبكر | "هل من شيء آخر؟" قبل حل المشكلة | اكتمال المحادثة | لا |
| التكرار الحلقي | السؤال التوضيحي نفسه ثلاث مرات | الاكتمال، ملاءمة الجولة | لا |
تفسيرنا لتلك الدراسات في سطر واحد:
تقييمات الجولة الواحدة تقيس الإجابة، والتقييم متعدد الجولات يقيس المحادثة، ونموذج يتفوق في الجولة الأولى قد يضيع بحلول الجولة الخامسة.
ما هو تقييم LLM متعدد الجولات؟ وضعَا التقييم
تقييم LLM متعدد الجولات هو ممارسة تقييم المحادثة كاملة، أو نوافذ داخلها، بدلاً من أزواج التعليمات والاستجابة المعزولة. يسأل ما إذا كان النموذج حافظ على السياق، وبقي في دوره، وحلّ مشكلة المستخدم عبر الجولات. وضعان ينجزان المهمة: التقييم على مستوى المحادثة والتقييم المنزلق على مستوى الجولات، ومعظم الفرق تشغّل كليهما.
التقييم على مستوى المحادثة يسلّم المحكّم النص الكامل ويسأل سؤالاً واحدًا: هل نجحت هذه المحادثة؟ يرصد الإغلاق المبكر والحلقات غير المحلولة، لأن النص الكامل وحده يكشف أن المستخدم لم يحصل على استرداده. نقطة ضعفه هي الدقة: "فشل" في نص من 12 جولة لا يحدد أين انكسر الأمر.
التقييم المنزلق على مستوى الجولات يحرّك نافذة من ن جولات عبر النص، حكم واحد لكل نافذة. نافذة من 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 | نجاح | طُلبت المعلومات الصحيحة وقُدّمت |
| W2 | 2-4 | نجاح | السؤال التوضيحي يناسب مطالبة تلف |
| W3 | 3-5 | نجاح | سياق التلف محفوظ |
| W4 | 4-6 | نجاح | خيارات الحل عُرضت في الوقت المناسب |
| W5 | 5-7 | نجاح | تأكيد الاسترداد مع جدول زمني |
| W6 | 6-8 | فشل | يعيد طلب رقم الطلب المقدم في الجولة 3 |
حكم مستوى المحادثة: فشل. خمس من ست نوافذ نجحت، والنص انكسر على الاحتفاظ بالمعرفة، وهو الإخفاق الذي لا تكشفه مجموعة اختبارات الجولة الواحدة أبدًا.
ما المقاييس متعددة الجولات المهمة؟ الخمسة الأساسية
شغّل أربعة مقاييس أولاً: اكتمال المحادثة، والاحتفاظ بالمعرفة، والالتزام بالدور، وملاءمة الجولة. أضف خامسًا، معيارًا مخصصًا (G-Eval في DeepEval، AspectCritic في RAGAS)، لما لا يمكن لمنتجك أن يخطئ فيه. الأربعة الأولى تنتقل بين المشاريع؛ الخامس هو حيث تعيش أنماط إخفاقك.
- اكتمال المحادثة. هل حُلّ هدف المستخدم، أم أعلن الروبوت النصر مبكرًا؟ كاشف الإغلاق المبكر.
- الاحتفاظ بالمعرفة. هل يتذكر النموذج الحقائق المذكورة سابقًا في النص؟ خلل فقدان الذاكرة في الجولة الثامنة هو إخفاق احتفاظ بالمعرفة.
- الالتزام بالدور. هل يبقى المساعد ضمن شخصيته ويرفض الطلبات خارج النطاق؟ حاسم مع حدود الامتثال.
- ملاءمة الجولة. هل كل استجابة في موضوعها بالنظر إلى الجولات السابقة؟ يرصد الانحراف والحلقات.
- معيار مخصص. قاعدة واحدة بلغة واضحة لمجالك: "لا تذكر سعرًا يختلف عن قائمة الأسعار." DeepEval تطبق هذا كـ
ConversationalGEval؛ وRAGAS كـAspectCritic.
| المقياس | ما يرصده | ابدأ هنا إذا... | المخرج |
|---|---|---|---|
| اكتمال المحادثة | أهداف غير محلولة، إغلاق مبكر | تدفق دعم أو حجز | درجة (0-1) |
| الاحتفاظ بالمعرفة | نسيان، تناقض ذاتي | المحادثات تتجاوز 5 جولات | درجة (0-1) |
| الالتزام بالدور | كسر الشخصية، إجابات خارج النطاق | الروبوت له حدود امتثال | درجة (0-1) |
| ملاءمة الجولة | انحراف الموضوع، حلقات | المستخدمون يقولون "توقف عن الاستماع" | درجة (0-1) |
| مخصص (G-Eval / AspectCritic) | الخطأ المكلف في مجالك | تستطيع تسمية ما يجب ألا يحدث | أي منهما |
دليل مقاييس DeepEval يعرّف كل مقياس بفئات قابلة للتشغيل، لكن المفاهيم محايدة تجاه الإطار: الجدول يصح حتى لو بنيت محكّمك يدويًا.
المعيار المخصص يُقرأ كجملة:
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 مقابل RAGAS مقابل Langfuse: أي إطار يناسبك؟
الثلاثة يقيّمون المحادثات متعددة الجولات، لكن وحدة التقييم تختلف: DeepEval يحاكي السيناريوهات دون اتصال، وRAGAS يقيّم جوانب محادثات تملكها بالفعل، وLangfuse يقيّم آثار الإنتاج الحقيقية. اختر بناءً على مصدر محادثاتك، لا عدد الميزات.
| DeepEval | RAGAS | Langfuse | |
|---|---|---|---|
| وحدة التقييم | ConversationalTestCase (سيناريو محاكى) | MultiTurnSample (محادثة مسجلة) | ن+1: أثر لكل جولة، مجمعة بالخيط |
| محاكاة السيناريو | نعم، محاكٍ مدمج | لا (أحضر نصوصك) | نعم (cookbook منفصل) |
| ثنائي مقابل درجة | كلاهما (G-Eval درجة؛ إتمام المهمة ثنائي) | كلاهما (AspectCritic ثنائي بالتعريف) | كلاهما، عبر مقيّمات مخصصة |
| خيوط الإنتاج | عبر منصة Confident AI | عبر تكاملات | أصلي (الأثر أولاً) |
| الترخيص | Apache 2.0 | Apache 2.0 | MIT (مصدر الخادم متاح) |
| اختره عندما | اختبارات انحدار دون اتصال قبل النشر | سير تحليل الأخطاء على محادثات حقيقية | تقييمات على حركة حية، لا محاكاة |
المنطق المحايد تجاه الإطار أولاً، حتى يكون كود المورد أدناه قابلاً للنقل:
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: سيناريوهات ومحاكٍ شامل
DeepEval هو الوحيد الذي يملك محاكي محادثة من الدرجة الأولى: صف سيناريو وشخصية، وهو يلعب دور المستخدم ضد روبوتك. دليله متعدد الجولات هو المرجع الأساسي لنمط السيناريو لا الأزواج. 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 يبدأ من محادثات تملكها بالفعل ويقيّمها جانبًا بجانب. دليله التطبيقي متعدد الجولات يتزاوج مع تحليل الأخطاء اليدوي: اقرأ المحادثات الفاشلة، واكتب 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: تقييم ن+1 على الآثار الحقيقية
Langfuse يسلك الطريق المعاكس: الأثر أولاً. cookbook الخاص به لن+1 يقيّم أثر كل جولة بالإضافة إلى المحادثة ككل، على حركة الإنتاج بدلاً من المحاكاة. إذا كنت لا تزال تختار طبقة المراقبة، فإن مقارنتنا بين Langfuse وLangSmith تغطي ذلك القرار.
حكمنا، بلا تردد: لمشروع روبوت محادثة جديد، ابدأ بـ DeepEval. المحاكي يتيح لك صدّ التراجعات قبل أن تملك حركة إنتاج، عندما تكون أشد حاجة للاختبارات. أضف Langfuse عندما توجد خيوط حقيقية؛ واللجوء إلى RAGAS عندما يفضّل فريقك قراءة المحادثات الفاشلة وتدوين ما يجدونه.
كيف تنتقل من تحليل الأخطاء إلى الأتمتة؟
تسلسله. اقرأ 20-30 محادثة حقيقية، وصنّف أنماط الإخفاق يدويًا، واكتب فحوص نجاح/فشل ثنائية للواضحة منها، وأتمت تلك، وعندها فقط أضف مقاييس محكّمة بـ LLM للبقية الذاتية. Hamel Husain يجادل بهذا الترتيب تحديدًا: تحليل الأخطاء اليدوي والقرارات الثنائية أولاً، لأن فحصًا تستطيع شرحه يتفوق على درجة لا تستطيع.
الثنائي قبل المحكّم: التسلسل الذي أنقذنا
هذا ليس معيار روبوت محادثة شغّلناه؛ بل تفسيرنا للنمط نفسه داخل خط إنتاج المحتوى الخاص بنا، الذي يشغّل فحوص انحدار محكومة بالتقييم على كل تغيير في التعليمات والأدوات. حادثتان أثبتتا التسلسل لنا.
في 2026-06-13، خلل إعادة نشر أنتج سلاغات محلية جديدة وشحن 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كلاهما رُصد بفحوص تكلفتها أجزاء من السنت وتطبع سبب الفشل بدقة. اسقط ذلك على التقييمات متعددة الجولات: "هل أعاد الروبوت طلب حقل قدّمه المستخدم بالفعل؟" هي مطابقة نصية ضد النص، لا استدعاء محكّم. شغّل البوابات الحتمية الرخيصة أولاً؛ فهي ترصد الإخفاقات القبيحة قبل أن يعمل محكّمك المكلف.
متى يكون محكّم LLM هو الأداة الصحيحة فعلًا
المحكّمون يستحقون تكلفة الرموز على المعايير التي لا تستطيع اختزالها في قاعدة: "هل كانت النبرة معتذرة بشكل مناسب؟"، "هل ناسب الحل الموقف؟" إذا استطعت كتابة تأكيد، اكتب تأكيدًا. المسطرة المليئة بأحكام تقديرية هي أرض المحكّم.
الخط الذي نعود إليه دائمًا:
ابدأ بفحوص نجاح/فشل ثنائية تستطيع شرحها لزميل، ثم أضف محكّمي LLM فقط لما لا تستطيع اختزاله في قاعدة.
كيف تحاكي المحادثات على نطاق واسع، وكم يكلّف التحكيم؟
حاكِ من سيناريوهات، لا من سجلات مصدّرة. السيناريوهات تختبر ما قد يحدث؛ السجلات تظهر فقط ما سمح به نظامك الحالي بالفعل. إرشادات DeepEval تحذّر من أن المحادثات التاريخية شكّلها النظام الذي أنتجها، لذا فإن القياس عليها يثبّت الوضع الراهن.
سيناريوهات، لا نصوص
اكتب كل سيناريو كهدف زائد شخصية: "عميل نافد الصبر يرجع طلبًا تالفًا"، "مستخدم يغيّر رأيه أثناء الحجز". ضع حدًا أقصى للجولات (10 معقول) وشرط توقف: تحقيق الهدف، أو تخلي المستخدم، أو الحد الأقصى. DeepEval توصي بـ 20 سيناريو متنوعًا على الأقل عبر حالات الاستخدام الأساسية، والحالات الحدية، والمواقف المعرضة للإخفاق؛ دون ذلك، مجموعتك تقيس حكايات.
شخصيات عدائية
أدرج شخصيات تحاول كسر الروبوت: مستخدم غاضب يصعّد، ومستخدم مرتبك يناقض نفسه، ومستخدم حقن يدس تعليمات في الجولة الرابعة. الحقن متعدد الجولات تخصص قائم بذاته؛ دليلنا لحواجز حماية LLM يغطي الطبقة الدفاعية التي تتزاوج مع هذه الاختبارات، وcookbook المحاكاة من Langfuse يظهر حلقة محاكي المستخدم.
كم تكلّف 100 محادثة مقيّمة
كل رقم أدناه تقدير من أعداد الرموز المعلنة والأسعار العامة، لا قياس شغّلناه. الحساب هو النقطة: استبدل أرقامك.
| البند | القيمة |
|---|---|
| الإعداد | 100 محادثة، 10 جولات لكل، نافذة منزلقة من 5 |
| استدعاءات المحكّم لكل محادثة | 6 نوافذ (10 - 5 + 1) + 1 على مستوى المحادثة = 7 |
| إجمالي استدعاءات المحكّم | 700 |
| الرموز لكل استدعاء (افتراض) | ~2,000 إدخال، ~200 إخراج |
| إجمالي الرموز | ~1.4 مليون إدخال، ~140 ألف إخراج |
| نموذج المحكّم | GPT-4o-mini: 0.15$/مليون إدخال، 0.60$/مليون إخراج (صفحة أسعار OpenAI) |
| التكلفة المقدرة | ~0.21$ إدخال + ~0.08$ إخراج = نحو 0.29$ لكل 100 محادثة |
أقل من دولار لـ 100 محادثة محكّمة بالكامل. محكّم أغلى يرفع هذا 10-50 ضعفًا، وتكتيكات دليلنا لتخفيض تكاليف API الخاصة بـ LLM تنطبق: خبّئ نص المعايير، وادفع النوافذ، واستخدم النموذج الرخيص للبوابات الثنائية.
سير عمل من 6 خطوات للتقييم متعدد الجولات
الحلقة تعمل هكذا: عرّف سيناريوهات من إخفاقات حقيقية، واختر أربعة مقاييس أساسية زائد واحد مخصص، وحاكِ 20 سيناريو على الأقل، وخطّ الأساس للنسخة الحالية، وصدّ التراجعات في CI، وأعد إخفاقات الإنتاج إلى مجموعة السيناريوهات.
- عرّف سيناريوهات من الإخفاقات. اقرأ 20-30 نصًا (أو، قبل الإطلاق، اكتبها من تذاكر الدعم). كل سيناريو يأخذ هدفًا وشخصية وحدًا أقصى للجولات. المسؤول: أنت ومنهج Hamel لتحليل الأخطاء أولاً.
- اختر أربعة مقاييس، وواحدًا مخصصًا. الاكتمال، والاحتفاظ بالمعرفة، والالتزام بالدور، وملاءمة الجولة، وواحد
ConversationalGEvalأوAspectCriticللخطأ المكلف في مجالك. - حاكِ. شغّل 20 سيناريو على الأقل بما فيها المجموعة العدائية. المسؤول:
ConversationSimulatorمن DeepEval، أو cookbook المحاكاة من Langfuse. - خطّ الأساس للنسخة الحالية. سجّل متوسطات كل مقياس على 3 تشغيلات، لأن النماذج غير حتمية والتشغيل الواحد ضجيج. المسؤول: نص التقييم الخاص بك، والنتائج ملتزمة في المستودع.
- صدّ التراجعات في CI. ضع عتبة لكل مقياس وأفشل البناء عند انحدار يتجاوز التسامح:
# 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- راقب خيوط الإنتاج. جمّع الآثار الحية بالخيط، وقسّمها بشكل غير متزامن، وحوّل كل خيط فاشل إلى سيناريو جديد. المسؤول: Langfuse أو أداة التتبع الخاصة بك؛ أدلتنا حول تقييم وكلاء الذكاء الاصطناعي في الإنتاج ومراقبة الذكاء الاصطناعي تغطي نصف المراقبة.
المجموعة لا تنتهي أبدًا: الخطوة 6 تغذي الخطوة 1، ومجموعة السيناريوهات تنمو مع كل إخفاق إنتاج ترصده.
كيف تقيّم النبرة عبر اللغات؟
مقياس الالتزام بالدور المضبوط على بيانات إنجليزية سيجتاز نصًا تركيًا أو يابانيًا يجده متحدث أصلي فظًا، لأن سجل الأدب خاص بكل لغة. مسطرتك الإنجليزية لا تملك كلمات لذلك. الحل: معيار جانب واحد لكل توقع سجل، مكتوب لكل لغة، لا مقياس نبرة عالمي واحد.
معيار واحد لكل سجل
تفسيرنا لنمط AspectCritic من RAGAS، موسّع من تشغيل خط إنتاج بـ 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?"كل معيار هو ناقد ثنائي منفصل على النص نفسه. لم ننشر درجات نبرة عبر اللغات، ولن نثق بمقال يطبعها بدون المسطرة. من عمل خط الإنتاج: الإخفاقات تتجمع في جولات الاعتذار والتصعيد، حيث ينهار السجل أولاً.
عن المؤلف
مرت باتور هو المؤسس المشارك لـ Techsy.io، حيث يشحن الفريق وكلاء ذكاء اصطناعي وأنظمة أتمتة وخطوط صوت/SDR لعملاء B2B. يكتب عن مجموعة أدوات LLM التي يستخدمها فريق Techsy فعليًا في الإنتاج. المؤهلات: مؤسس مشارك، Techsy.io. تواصل عبر LinkedIn.
الأسئلة الشائعة
ما هو نموذج LLM متعدد الجولات؟
نموذج لغوي تعتمد استجابته رقم ن على جميع الجولات السابقة، لا على آخر تعليمات فقط. يتكيّف مع النص الكامل، فيتغير السلوك مع تاريخ المحادثة. هذا الاعتماد على السياق هو ما لا تستطيع اختبارات الجولة الواحدة ممارسته ويوجد التقييم متعدد الجولات لقياسه.
ماذا يعني تقييم LLM؟
قياس جودة المخرجات مقابل معايير محددة، تلقائيًا وقابلاً للتكرار، بدلاً من الاعتماد على الشعور. تقييم الجولة الواحدة يقيّم أزواج التعليمات والاستجابة المعزولة مقابل مقاييس مثل BLEU أو محكّم LLM. التقييم متعدد الجولات يوسّع ذلك إلى المحادثات الكاملة، مقيّمًا الاحتفاظ بالسياق وإتمام الهدف عبر الجولات بدلاً من كل تعليمات.
كيف تقيس أداء LLM متعدد الجولات؟
ابنِ 20 سيناريو على الأقل بأهداف وشخصيات، وحاكها ضد النموذج، وقس بمقاييس مستوى المحادثة زائد فحوص النوافذ المنزلقة. سجّل خطوط الأساس على تشغيلات متعددة لامتصاص عدم الحتمية، ثم قارن كل نسخة جديدة بخط الأساس في CI. آثار الإنتاج توسّع المعيار لاحقًا.
ما أفضل طرق تقييم LLM؟
سلسلها: تحليل الأخطاء اليدوي أولاً، ثم بوابات نجاح/فشل ثنائية لكل ما يمكن اختزاله في قاعدة، ثم LLM كمحكّم للمعايير الذاتية مثل النبرة وجودة الحل. الفحوص الثنائية أرخص وقابلة للتصحيح ولا تنحرف؛ المحكّمون ينتمون للمعايير التي تتطلب تقديرًا فعلًا، بعد اجتياز البوابات الرخيصة.
ما المقاييس متعددة الجولات التي أبدأ بها؟
اكتمال المحادثة، وملاءمة الجولة، والاحتفاظ بالمعرفة؛ فهي ترصد أكثر الإخفاقات شيوعًا (أهداف غير محلولة، انحراف، نسيان) في أي منتج محادثة. أضف الالتزام بالدور إذا كان لروبوتك حدود امتثال، ثم معيار G-Eval أو AspectCritic مخصص واحد للخطأ الذي لا يتحمله عملك.
كم يكلّف LLM كمحكّم لكل محادثة؟
بنافذة منزلقة من 5 على 10 جولات زائد استدعاء واحد على مستوى المحادثة، تجري 7 استدعاءات محكّم لكل محادثة. بنحو 2,000 رمز إدخال لكل استدعاء على GPT-4o-mini، تقديرنا الحسابي المعروض يصل إلى نحو 0.29$ لكل 100 محادثة. نماذج المحكّم المميزة ترفع ذلك 10-50 ضعفًا.
DeepEval مقابل RAGAS للتقييم متعدد الجولات: أيهما أختار؟
DeepEval إذا كنت تريد اختبارات انحدار دون اتصال بمحاكي محادثة مدمج، خصوصًا قبل أن تملك حركة إنتاج. RAGAS إذا كان سير عملك يبدأ بقراءة محادثات فاشلة حقيقية وتدوين كل نمط إخفاق كـ AspectCritic. تقسيم شائع: DeepEval في CI، ونقاد بأسلوب RAGAS على سجلات الإنتاج.
كم سيناريو أحتاج لمجموعة تقييم متعددة الجولات؟
20 على الأقل، تغطي حالات الاستخدام الأساسية والحالات الحدية والمواقف المعرضة للإخفاق؛ هذه العتبة تأتي من إرشادات DeepEval المنشورة وتطابق خبرتنا. دون 20، معدلات النجاح تتأرجح حسب السيناريوهات التي صودف إدراجها. وسّع المجموعة مع كل إخفاق إنتاج.
هل أستطيع تشغيل التقييم متعدد الجولات في CI/CD؟
نعم. احتفظ بمجموعة سيناريوهات ثابتة في المستودع، وشغّلها على كل تغيير في التعليمات أو النموذج، وأفشل البناء عندما ينحدر مقياس بما يتجاوز التسامح مقابل خط الأساس. لأن النماذج غير حتمية، قارن المتوسطات على 3 تشغيلات بتسامح (نستخدم 0.03)، لا عتبات دقيقة.
كيف أقيّم المحادثات متعددة الجولات في الإنتاج؟
جمّع الآثار بخيط المحادثة، وقسّم كل خيط بشكل غير متزامن حتى لا يحجب التقييم استجابة أبدًا، ووجّه الخيوط الفاشلة إلى طابور مراجعة. كل إخفاق مؤكد يصبح سيناريو جديدًا في مجموعتك دون الاتصال، مغلقًا الحلقة بين المراقبة واختبارات الانحدار.
الخلاصة
- نتائج الجولة الواحدة لا تستطيع رؤية الإخفاقات المحادثية؛ الأبحاث تظهر نماذج تتدهور عبر الجولات رغم معايير سليمة.
- شغّل التقييم على مستوى المحادثة كبوابة والتقييم بالنوافذ المنزلقة لتحديد مواقع الكسر.
- أربعة مقاييس أساسية زائد معيار مخصص واحد تغطي معظم منتجات المحادثة؛ الفحوص الثنائية قبل المحكّمين، دائمًا.
- DeepEval لاختبارات الانحدار المحاكاة، وRAGAS لنقاد تحليل الأخطاء، وLangfuse لآثار الإنتاج.
- تكاليف المحكّم صغيرة (أقل من دولار لكل 100 محادثة على نموذج مصغر)؛ التكلفة نادرًا ما تكون العائق.
لمشهد الأدوات الأوسع، صنّفنا المجال كاملاً في جولة أفضل أدوات تقييم LLM. وإذا كنت تفضّل بناء خط التقييم مع شخص ما، احصل على استشارة مجانية مع فريق Techsy.