مشاركة عبر


مقيمو الوكلاء

مهم

العناصر التي تم وضع علامة عليها (إصدار أولي) في هذه المقالة موجودة حالياً في الإصدار الأولي العام. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام Supplemental لمعاينات Microsoft Azure.

الذكاء الاصطناعي الوكلاء هم مساعدون فعالون للإنتاجية يمكنهم إنشاء مهام سير عمل لاحتياجات الأعمال. ومع ذلك، يمكن أن تكون إمكانية الملاحظة تحديا بسبب أنماط التفاعل المعقدة الخاصة بها. يوفر المقيمون العاملون إمكانية المراقبة المنتظمة في مهام سير العمل الوكيلة من خلال قياس الجودة والسلامة والأداء.

يتضمن سير عمل العامل عادة المنطق من خلال أهداف المستخدم، واستدعاء الأدوات ذات الصلة، واستخدام نتائج الأدوات لإكمال مهام مثل تحديث قاعدة بيانات أو صياغة تقرير. لإنشاء تطبيقات عاملية جاهزة للإنتاج، تحتاج إلى تقييم ليس فقط الإخراج النهائي، ولكن أيضا جودة وكفاءة كل خطوة في سير العمل.

يوفر Foundry مقيمي الوكلاء المضمنين الذين يعملون مثل اختبارات الوحدة للأنظمة الوكيلة - فهم يأخذون رسائل العامل كدرجات تمرير/فشل ثنائية للإدخال والإخراج (أو درجات متدرجة تم تحويلها إلى درجات ثنائية استنادا إلى الحدود). يدعم هؤلاء المقيمون اثنتين من أفضل الممارسات لتقييم العامل:

  • تقييم النظام - لفحص النتائج الشاملة للنظام العامل.
  • تقييم العملية - للتحقق من التنفيذ خطوة بخطوة لتحقيق النتائج.
Evaluator أفضل ممارسات استخدم عندما الغرض الإخرَاج
إكمال المهمة (معاينة) تقييم النظام تقييم نجاح المهمة الشاملة في أتمتة سير العمل أو التفاعلات الذكاء الاصطناعي الموجهة نحو الهدف أو أي سيناريو يكون فيه إكمال المهمة الكاملة أمرا بالغ الأهمية مقاييس إذا أكمل العامل المهمة المطلوبة مع تسليم قابل للاستخدام يلبي جميع متطلبات المستخدم ثنائي: تمرير/فشل
الالتزام بالمهمة (المعاينة) تقييم النظام ضمان اتباع الوكلاء لإرشادات النظام، والتحقق من التوافق في البيئات المنظمة التدابير إذا التزمت إجراءات العامل بالمهام المعينة له وفقا للقواعد والإجراءات وقيود النهج، استنادا إلى رسالة النظام والخطوات السابقة ثنائي: تمرير/فشل
كفاءة التنقل في المهام تقييم النظام تحسين مهام سير عمل العامل، وتقليل الخطوات غير الضرورية، والتحقق من صحة المسارات المثلى المعروفة (يتطلب حقيقة أرضية) يقيس ما إذا كان العامل قد أجرى استدعاءات الأداة بكفاءة لإكمال مهمة من خلال مقارنتها بتسلسلات الأدوات المتوقعة ثنائي: تمرير/فشل
حل النية (معاينة) تقييم النظام سيناريوهات دعم العملاء، الذكاء الاصطناعي المحادثة، وأنظمة الأسئلة المتداولة حيث يعد فهم هدف المستخدم أمرا ضروريا يقيس ما إذا كان العامل يحدد هدف المستخدم بشكل صحيح ثنائي: تمرير/فشل استنادا إلى الحد (مقياس 1-5)
دقة استدعاء الأداة تقييم العملية تقييم جودة استدعاء الأداة بشكل عام في أنظمة الوكلاء مع تكامل الأدوات وتفاعلات واجهة برمجة التطبيقات لإكمال مهامها يقيس ما إذا كان العامل قد أجرى استدعاءات الأداة الصحيحة مع المعلمات الصحيحة لإكمال مهمته ثنائي: تمرير/فشل استنادا إلى الحد (مقياس 1-5)
اختيار الأدوات تقييم العملية التحقق من جودة اختيار الأداة في الأنظمة الأساسية للتنسيق، وضمان كفاءة استخدام الأدوات دون تكرار يقيس ما إذا كان العامل قد حدد الأدوات الصحيحة دون تحديد الأدوات غير الضرورية ثنائي: تمرير/فشل
دقة إدخال الأدوات تقييم العملية التحقق الصارم من صحة معلمات الأداة في بيئات الإنتاج واختبارات تكامل واجهة برمجة التطبيقات ومهام سير العمل الهامة التي تتطلب 100% صحة المعلمة مقاييس إذا كانت جميع معلمات استدعاء الأداة صحيحة عبر ستة معايير صارمة: الأساس، وتوافق النوع، وتوافق التنسيق، والمعلمات المطلوبة، وعدم وجود معلمات غير متوقعة، وملاءمة القيمة ثنائي: تمرير/فشل
استخدام مخرجات الأدوات تقييم العملية التحقق من صحة استخدام استجابات واجهة برمجة التطبيقات ونتائج استعلام قاعدة البيانات ومخرجات البحث في استدلال العامل والاستجابات قياسات إذا كان العامل يفهم أداة ويستخدمها بشكل صحيح يستدعي النتائج سياقيا في المنطق والاستجابة النهائية ثنائي: تمرير/فشل
نجاح استدعاء الأدوات تقييم العملية مراقبة موثوقية الأداة أو الكشف عن فشل واجهة برمجة التطبيقات أو مشكلات المهلة أو الأخطاء التقنية في تنفيذ الأداة قياسات إذا نجحت استدعاءات الأداة أو أدت إلى أخطاء تقنية أو استثناءات ثنائي: تمرير/فشل

تقييم النظام

يفحص تقييم النظام جودة النتيجة النهائية لسير العمل العاملي. ينطبق هؤلاء المقيمون على الوكلاء الفرديين، وفي الأنظمة متعددة العوامل، على المنسق الرئيسي أو الوكيل النهائي المسؤول عن إكمال المهام:

  • إكمال المهمة - هل أكمل العامل المهمة المطلوبة بالكامل؟
  • الالتزام بالمهمة - هل اتبع العامل القواعد والقيود في تعليماته؟
  • كفاءة التنقل بين المهام - هل قام العامل بتنفيذ الخطوات المتوقعة بكفاءة؟
  • Intent Resolution - هل قام العامل بتحديد أهداف المستخدم ومعالجتها بشكل صحيح؟

على وجه التحديد، بالنسبة للمخرجات النصية من العوامل، يمكنك أيضا تطبيق مقيمي جودة RAG مثل Relevance و Groundedness الذين يأخذون مدخلات عاملية لتقييم جودة الاستجابة النهائية.

أمثلة:

تقييم العملية

يفحص تقييم العملية جودة وكفاءة كل خطوة في سير العمل العاملي الخاص بك. يركز هؤلاء المقيمون على استدعاءات الأداة المنفذة في نظام لإكمال المهام:

  • Tool Call Accuracy - هل قام العامل بإجراء استدعاءات الأداة الصحيحة مع المعلمات الصحيحة دون تكرار؟
  • تحديد الأداة - هل حدد العامل الأدوات الصحيحة والضرورية؟
  • دقة إدخال الأداة - هل قدم العامل معلمات صحيحة لمكالمات الأدوات؟
  • استخدام إخراج الأداة - هل استخدم العامل نتائج استدعاء الأداة بشكل صحيح في المنطق والاستجابة النهائية؟
  • Tool Call Success - هل نجحت استدعاءات الأداة دون أخطاء تقنية؟

أمثلة:

  • عينة دقة استدعاء Tool
  • عينة تحديد Tool
  • عينة دقة إدخال Tool
  • عينة استخدام إخراج Tool
  • نموذج نجاح استدعاء Tool

نموذج المقيم ودعم الأدوات لمقيمي الوكلاء

بالنسبة للمقيمين بمساعدة الذكاء الاصطناعي، يمكنك استخدام نماذج Azure OpenAI أو OpenAI reasoning models وغير المنطقية لقاضي LLM. للتقييم المعقد الذي يتطلب تحليلا محسنا، نوصي بتوازن gpt-5-mini الأداء والتكلفة والكفاءة.

الأدوات المدعومة

يدعم مقيمو العامل الأدوات التالية:

  • البحث عن الملفات
  • أداة الوظيفة (الأدوات المعرفة من قبل المستخدم)
  • MCP
  • MCP المستند إلى المعرفة

الأدوات التالية لديها دعم محدود حاليا. تجنب استخدام tool_call_accuracyأو tool input accuracytool_output_utilizationtool_call_successأو groundedness المقيمين إذا كانت محادثة الوكيل تتضمن مكالمات إلى هذه الأدوات:

  • Azure AI Search
  • تأريض Bing
  • بحث Bing المخصص
  • SharePoint الأرضية
  • مترجم شفرة
  • وكيل بيانات النسيج
  • Web Search

استخدام مقيمي الوكلاء

يقيم مقيمو العامل مدى جودة أداء وكلاء الذكاء الاصطناعي للمهام، واتباع الإرشادات، واستخدام الأدوات بشكل فعال. يتطلب كل مقيم تعيينات ومعلمات بيانات محددة:

Evaluator المدخلات المطلوبة تتمثل المعلمات المطلوبة في الآتي
إكمال المهمة (معاينة) query، response deployment_name
الالتزام بالمهمة (المعاينة) query، response deployment_name
حل النية (معاينة) query، response deployment_name
دقة استدعاء الأداة (query, response, tool_definitions) OR (query, , tool_callstool_definitions) deployment_name
اختيار الأدوات (query, response, tool_definitions) OR (query, , tool_callstool_definitions) deployment_name
دقة إدخال الأدوات query، response، tool_definitions deployment_name
استخدام مخرجات الأدوات query، response، tool_definitions deployment_name
نجاح استدعاء الأدوات response deployment_name
كفاءة التنقل في المهام actions، expected_actions (لا يوجد)

إدخال المثال

يجب أن تحتوي مجموعة بيانات الاختبار على الحقول المشار إليها في تعيينات البيانات. يقبل كلا الحقلين سلاسل بسيطة أو صفائف محادثة:

{"query": "What's the weather in Seattle?", "response": "The weather in Seattle is rainy, 14°C."}
{"query": "Book a flight to Paris for next Monday", "response": "I've booked your flight to Paris departing next Monday at 9:00 AM."}

للحصول على تفاعلات عامل أكثر تعقيدا مع استدعاءات الأدوات، استخدم تنسيق صفيف المحادثة. يتبع هذا التنسيق مخطط رسالة OpenAI (راجع مخطط رسالة العامل). رسالة النظام اختيارية ولكنها مفيدة للمقيمين الذين يقيمون سلوك العامل مقابل الإرشادات، بما في ذلك task_adherenceوtask_completiontool_call_accuracytool_selectiontool_input_accuracytool_output_utilizationgroundedness:

{
    "query": [
        {"role": "system", "content": "You are a travel booking agent."},
        {"role": "user", "content": "Book a flight to Paris for next Monday"}
    ],
    "response": [
        {"role": "assistant", "content": [{"type": "tool_call", "name": "search_flights", "arguments": {"destination": "Paris", "date": "next Monday"}}]},
        {"role": "tool", "content": [{"type": "tool_result", "tool_result": {"flight": "AF123", "time": "9:00 AM"}}]},
        {"role": "assistant", "content": "I've booked flight AF123 to Paris departing next Monday at 9:00 AM."}
    ]
}

مثال التكوين

بناء جملة تعيين البيانات:

  • {{item.field_name}} يشير إلى الحقول من مجموعة بيانات الاختبار (على سبيل المثال، {{item.query}}).
  • {{sample.output_items}} يشير إلى استجابات العامل التي تم إنشاؤها أو استردادها أثناء التقييم. استخدم هذا عند التقييم مع هدف عامل أو مصدر بيانات استجابة عامل.
  • {{sample.tool_definitions}} تشير إلى تعريفات الأدوات. استخدم هذا عند التقييم مع هدف عامل أو مصدر بيانات استجابة عامل. يتم ملء هذه تلقائيا للأدوات المضمنة المدعومة أو الاستدلال عليها للوظائف المخصصة.

فيما يلي مثال على تكوين الالتزام بالمهمة:

testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "task_adherence",
        "evaluator_name": "builtin.task_adherence",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {
            "query": "{{item.query}}",
            "response": "{{item.response}}",
        },
    },
]

راجع تشغيل التقييمات من SDK للحصول على تفاصيل حول تشغيل التقييمات وتكوين مصادر البيانات.

مثال على الإخراج

يقوم مقيمو العامل بإرجاع نتائج النجاح/الفشل مع المنطق. حقول الإخراج الرئيسية:

{
    "type": "azure_ai_evaluator",
    "name": "Task Adherence",
    "metric": "task_adherence",
    "label": "pass",
    "reason": "Agent followed system instructions correctly",
    "threshold": 3,
    "passed": true
}

كفاءة التنقل بين المهام

تقيس كفاءة التنقل للمهمة ما إذا كان العامل قد اتخذ تسلسلا أمثل من الإجراءات من خلال المقارنة مع تسلسل متوقع (الحقيقة الأساسية). استخدم هذا المقيم لتحسين سير العمل واختبار الانحدار.

{
    "type": "azure_ai_evaluator",
    "name": "task_navigation_efficiency",
    "evaluator_name": "builtin.task_navigation_efficiency",
    "initialization_parameters": {
        "matching_mode": "exact_match"  # Options: "exact_match", "in_order_match", "any_order_match"
    },
    "data_mapping": {
        "actions": "{{item.actions}}",
        "expected_actions": "{{item.expected_actions}}"
    },
}

أوضاع المطابقة:

وضع وصف
exact_match يجب أن يتطابق مسار العامل مع الحقيقة الأساسية بالضبط (الترتيب والمحتوى)
in_order_match يجب أن تظهر جميع خطوات الحقيقة الأساسية في مسار العامل بالترتيب الصحيح (الخطوات الإضافية المسموح بها)
any_order_match يجب أن تظهر جميع خطوات الحقيقة الأساسية في مسار العامل، لا يهم الترتيب (الخطوات الإضافية المسموح بها)

تنسيق الإجراءات:

actions يأخذ الحقل قائمة كائنات الرسائل التي تتبع مخطط رسالة OpenAI. تمثل كل رسالة خطوة اتخذها العامل أثناء المحادثة:

actions = [
    {
        "role": "assistant",
        "content": [
            {"type": "function_call", "name": "call_tool_A", "arguments": "{\"param\": \"value\"}"}
        ]
    },
    {
        "role": "assistant",
        "content": [
            {"type": "function_call", "name": "call_tool_B", "arguments": "{}"}
        ]
    },
]

ملحوظة

actions تستخدم الحقول و expected_actions تنسيقات مختلفة. actions يتطلب قواميس مخطط رسالة OpenAI (التي تمثل السلوك الفعلي للعامل)، بينما expected_actions يستخدم قائمة بسيطة من أسماء الأدوات (التي تمثل الحقيقة الأساسية).

تنسيق الإجراءات المتوقعة:

expected_actions يمكن أن تكون قائمة بسيطة بالخطوات المتوقعة:

expected_actions = ["identify_tools_to_call", "call_tool_A", "call_tool_B", "response_synthesis"]

أو مجموعة مع أسماء الأدوات والمعلمات للتحقق من الصحة الأكثر تفصيلا:

expected_actions = (
    ["func_name1", "func_name2"],
    {
        "func_name1": {"param_key": "param_value"},
        "func_name2": {"param_key": "param_value"},
    }
)

إخراج:

إرجاع نتيجة تمرير/فشل ثنائية بالإضافة إلى الدقة والاستدعاء ودرجات F1:

{
    "type": "azure_ai_evaluator",
    "name": "task_navigation_efficiency",
    "passed": true,
    "details": {
        "precision_score": 0.85,
        "recall_score": 1.0,
        "f1_score": 0.92
    }
}

مخطط رسالة الوكيل

عند استخدام تنسيق صفيف المحادثة، query واتبع response بنية رسالة OpenAI:

  • الاستعلام: يحتوي على محفوظات المحادثات التي تسبق طلب المستخدم. قم بتضمين رسالة النظام لتوفير سياق للمقيمين الذين يقيمون سلوك العامل مقابل الإرشادات.
  • الاستجابة: يحتوي على رد العامل، بما في ذلك أي استدعاءات أداة ونتائجها.

مخطط الرسالة:

[
  {
    "role": "system" | "user" | "assistant" | "tool",
    "content": "string" | [                // string or array of content items
      {
        "type": "text" | "tool_call" | "tool_result",
        "text": "string",                  // if type == text
        "tool_call_id": "string",          // if type == tool_call
        "name": "string",                  // tool name if type == tool_call
        "arguments": { ... },              // tool args if type == tool_call
        "tool_result": { ... }             // result if type == tool_result
      }
    ]
  }
]

أنواع الأدوار:

الدور وصف
system إرشادات العامل (اختياري، توضع في بداية الاستعلام)
user رسائل المستخدم وطلباته
assistant استجابات العامل، بما في ذلك استدعاءات الأدوات
tool نتائج تنفيذ الأداة

مثال:

{
  "query": [
    {"role": "system", "content": "You are a weather assistant."},
    {"role": "user", "content": [{"type": "text", "text": "What's the weather in Seattle?"}]}
  ],
  "response": [
    {"role": "assistant", "content": [{"type": "tool_call", "tool_call_id": "call_123", "name": "get_weather", "arguments": {"city": "Seattle"}}]},
    {"role": "tool", "content": [{"type": "tool_result", "tool_result": {"temp": "62°F", "condition": "Cloudy"}}]},
    {"role": "assistant", "content": [{"type": "text", "text": "It's currently 62°F and cloudy in Seattle."}]}
  ]
}