Skip to content
Guides4 min read

تقييم وكلاء استخدام الحاسوب، خطوة بخطوة

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

Potato Team

يقرأ وكيل استخدام الحاسوب لقطة شاشة، ويقرر إجراءً، وينقر. وتقييم وكيل واحد يعني فحص كل خطوة: هل كان الإجراء صحيحًا، وهل حطّت النقرة فعلًا على العنصر الذي سمّاه — لا مجرد ما إذا نجحت المهمة في النهاية. نجاح المهمة يُخفي النقرة التي أصابت الزر الخطأ لكنها تقدّمت رغم ذلك، والإجراء الذي صحّ بالصدفة. يراجع Potato هذه التشغيلات بـسطح مسار واجهة رسومية مبني لهذا الغرض ومراجعة لنداءات الأدوات، وكلاهما يُضبط بصيغة YAML.

وكيل استخدام الحاسوب — ويُسمى أيضًا وكيل الواجهة الرسومية أو وكيل نظام التشغيل — يرى الشاشة كبكسلات أو كنموذج DOM ويتصرف عبر الأدوات نفسها التي يملكها الإنسان. تُقيّم مقاييس أداء مثل OSWorld وScreenSpot وAndroidWorld إنجاز المهمة آليًا. والتقييم الآلي رخيص ويستحق التشغيل، لكنه لا يخبرك لماذا فشل تشغيل، ولا يلتقط النجاح بالصدفة. وتلك هي الفجوة التي تملؤها المراجعة البشرية لكل خطوة.

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

ما الذي تحكم عليه فعلًا في مسار واجهة رسومية؟

تقرن كل خطوة لقطة شاشة (ما رآه الوكيل) بـإجراء (ما فعله). تحكم على الإجراء، وحين تحمل الخطوة إحداثيات نقرة، تتحقق من علامة الربط التي يرسمها Potato على لقطة الشاشة:

  • صحة الإجراء — صحيح، أو عنصر خاطئ، أو إجراء خاطئ، أو مُهلوَس.
  • ربط النقرة — هل حطّت الإحداثيات على العنصر الذي سمّاه الإجراء؟
  • النتيجة — هل أنهى التشغيل المهمة، وعند أي خطوة انحرف أول مرة؟

خطوة استخدام حاسوب مع حكم على الإجراء وعلامة ربط للنقرةراجع كل خطوة: صحة الإجراء إضافة إلى ربط النقرة على لقطة الشاشة

yaml
annotation_schemes:
  - annotation_type: gui_trajectory
    name: gui_review
    description: "For each step: was the action correct and did the click land right?"
    steps_key: steps
    screenshot_key: screenshot
    action_key: action
    coord_space: normalized
    verdict_options: [correct, wrong_element, wrong_action, hallucinated]

تُوفّر كل خطوة screenshot وaction وx/y اختياريين (أو click: {x, y} متداخلًا). علامة الربط هي الجزء الذي تفوّته المقاييس الآلية أكثر من غيره: قد يُخرج نموذج وسم الإجراء الصحيح بينما ينقر بعيدًا عن الهدف بعشرة بكسلات، ولن يُظهر ذلك حكمُ نجاح/فشل على الشاشة النهائية أبدًا.

لماذا تكون أول خطوة خاطئة أهم من النتيجة النهائية؟

لأن تلك الخطوة هي ما ستصلحه أو تدرّب عليه. تشغيل يفشل عند الخطوة 9 لأن الخطوة 3 أساءت قراءة مربع حوار هو في الحقيقة مشكلة في الخطوة 3، ووسمه عند الخطوة 9 يُلقّن الدرس الخاطئ. والتقاط أول انحراف هو الفكرة ذاتها وراء نماذج مكافأة العملية: إشارة عند كل خطوة تُموضِع الخطأ بدلًا من طيّ المسار كله في رقم واحد.

كيف أراجع نداءات أدوات الوكيل؟

تنادي وكلاء الواجهة الرسومية أيضًا أدوات ودوال، وهذه تفشل بطرقها الخاصة: نية صحيحة وأداة خاطئة؛ أداة صحيحة ووسائط مُشوَّهة؛ نداء صحيح وترتيب خاطئ. يسحب مخطط tool_call_review كل نداء من الأثر ويمنحه بطاقة باسم الأداة ووسائط منسّقة بشكل أنيق، فتحكم عليها واحدًا تلو الآخر (محاكيًا BFCL v4 / MCPMark).

أحكام لكل نداء على كل نداء أداة في أثراحكم على كل نداء أداة: أداة صحيحة، ووسائط صحيحة، وترتيب صحيح

yaml
annotation_schemes:
  - annotation_type: tool_call_review
    name: tool_review
    description: "Judge each tool call: right tool? correct arguments?"
    steps_key: steps
    # verdict_options: [correct, wrong_tool, wrong_args, wrong_order]

تُستخرج نداءات الأدوات وقت العرض من حقل tool_calls أو tool_call أو action في كل خطوة، بحيث يمكن مراجعة مسار يمزج نقرات الواجهة ونداءات API على كلا المحورين في مهمة واحدة.

كيف أُعدّ هذا؟

يأتي كل سطح مع مثال قابل للتشغيل ضمن examples/agent-traces/. وجّه Potato إلى أحدها لترى المخطط ببيانات عيّنة:

bash
pip install --upgrade potato-annotation
python potato/flask_server.py start examples/agent-traces/gui-trajectory/config.yaml -p 8000

تدخل بياناتك الخاصة كقائمة خطوات، لكل منها رابط لقطة شاشة أو data-URI ونص إجراء. ولوكلاء الويب الأوسع الذين يعملون من صفحات مُصيَّرة بدلًا من لقطات الشاشة الخام، انظر تقييم وكلاء الويب.

قراءات إضافية