Skip to content

तीन-पैन ट्रेस मूल्यांकन (eval_trace)

eval_trace डिस्प्ले एक एजेंट ट्रेस को तीन समकालिक पैन में बाँट देता है (तर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर) ताकि मूल्यांकनकर्ता एक नज़र में देख सके कि एजेंट ने क्या सोचा, क्या किया और क्या उत्पन्न किया। निरंतर मूल्यांकन के लिए बनाया गया।

eval_trace डिस्प्ले एकल एजेंट ट्रेस को तीन समकालिक पैन में बाँट देता है: तर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर। मूल्यांकनकर्ता साथ-साथ देख सकता है कि एजेंट ने क्या सोचा, क्या किया और क्या उत्पन्न किया, जो उस निरंतर मूल्यांकन के लिए उपयुक्त है जहाँ नई ट्रेस आती रहती हैं और उन्हें तेज़ी से परखना होता है।

ऊर्ध्वाधर एजेंट-ट्रेस डिस्प्ले के विपरीत, जो आपस में गुँथी हुई एक ट्रेस को एक ही स्तंभ में ढेर कर देता है, eval_trace एक ट्रेस को उसके तीन अर्थपरक घटकों में विघटित कर देता है, जिससे एजेंट के व्यवहार की संरचना बिना स्क्रॉल किए दिखाई देती है।

तीन-पैन eval_trace डिस्प्लेतर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर पैन में बँटी एक एजेंट ट्रेस

त्वरित शुरुआत

रिपॉज़िटरी की जड़ से शामिल उदाहरण चलाएँ:

bash
python potato/flask_server.py start examples/agent-traces/continuous-eval/config.yaml -p 8000

यह उदाहरण एक डायरेक्टरी-वॉच संस्करण (config-watch.yaml) भी साथ देता है, जो छोड़ी गई ट्रेस फ़ाइलों को ग्रहण करने के लिए है।

कॉन्फ़िगरेशन

yaml
instance_display:
  layout:
    direction: vertical      # task header above the (internally horizontal) panes
    gap: 12px
  fields:
    - key: task_description
      type: text
      label: "Task"
 
    - key: trace             # the field holding the agent trace
      type: eval_trace
      label: "Agent Trace"
      display_options:
        pane_labels: ["Reasoning", "Function Calls", "Final Answer"]
        show_step_numbers: true
        collapse_long_outputs: true
        max_output_lines: 12
        link_steps: true

विकल्प

विकल्पडिफ़ॉल्टविवरण
pane_labels["Reasoning", "Function Calls", "Final Answer"]तीनों पैन के शीर्षक।
show_step_numberstrueतर्क और कॉल कार्डों पर #N चरण संख्याएँ दिखाता है।
collapse_long_outputstruemax_output_lines से लंबे टूल परिणामों को एक विस्तार-योग्य ब्लॉक में समेट देता है।
max_output_lines20परिणामों को समेटने के लिए पंक्ति सीमा।
link_stepstrueपैन-पार हाइलाइटिंग: किसी कार्ड पर क्लिक करने से अन्य पैनों में जुड़े कार्ड हाइलाइट हो जाते हैं।
compactfalseअधिक सघन पैडिंग और अंतराल।

डेटा प्रारूप

eval_trace वही ट्रेस प्रारूप स्वीकार करता है जो एजेंट-ट्रेस डिस्प्ले स्वीकार करता है। सबसे आम है {speaker, text} चरणों की एक सूची:

json
{
  "id": "eval_001",
  "task_description": "Find a vegan lasagna recipe.",
  "trace": [
    {"speaker": "Agent (Thought)",      "text": "I'll search for a highly-rated recipe."},
    {"speaker": "Agent (Action)",       "text": "web_search(query='vegan lasagna')"},
    {"speaker": "Environment",          "text": "10 results found..."},
    {"speaker": "Agent (Final Answer)", "text": "Here's a great recipe: ..."}
  ]
}

thought/action/observation और step_type/content प्रारूप भी समर्थित हैं।

चरण पैनों से कैसे मेल खाते हैं

चरण (प्रकार speaker या label से अनुमानित)पैन
Thought, तर्क, योजना, systemतर्क
Action, tool, function, callफ़ंक्शन कॉल्स (निकटवर्ती Environment/परिणाम उस कॉल के नीचे नेस्ट होता है)
Final Answer, send_message, respond, finish, या यदि कोई मेल न खाए तो अंतिम क्रियाअंतिम उत्तर

स्पष्ट अंतिम उत्तर निर्धारित करने के लिए, ट्रेस को ऐसे चरण से समाप्त करें जिसका speaker किसी उत्तर पैटर्न से मेल खाता हो (जैसे "Agent (Final Answer)") या एक send_message(...) क्रिया से।

चरण लिंकिंग

चरणों को तार्किक चक्रों में समूहित किया जाता है: एक विचार और उससे उत्पन्न कॉलें एक ही चरण सूचकांक साझा करती हैं। link_steps: true के साथ, किसी भी कार्ड पर क्लिक करने से पैनों भर में उस सूचकांक को साझा करने वाला हर कार्ड हाइलाइट हो जाता है, ताकि आप किसी विचार को उससे उत्पन्न क्रिया तक खोज सकें।

निरंतर मूल्यांकन

eval_trace को Potato के किसी भी रनटाइम इंजेशन ट्रांसपोर्ट के साथ जोड़ें ताकि ट्रेस आते ही उनका मूल्यांकन हो जाए:

  • Webhook और SSEtrace_ingestion: {enabled: true} एक webhook एंडपॉइंट उजागर करता है और नई ट्रेस को एनोटेटरों तक स्ट्रीम करता है।
  • Langfuse पोलिंगtrace_ingestion.sources के अंतर्गत एक langfuse स्रोत जोड़ें।
  • डायरेक्टरी वॉचdata_directory के साथ watch_data_directory: true छोड़ी गई .json और .jsonl फ़ाइलों को ग्रहण करता है।

रनटाइम पर जोड़ी गई ट्रेस तुरंत एनोटेटरों को सौंपी जा सकती हैं। इसे ट्राइएज क़्यू के साथ मिलाएँ ताकि त्रुटिपूर्ण या कम-स्कोर वाली ट्रेस को सबसे आगे धकेला जा सके।

टिप्पणियाँ और सीमाएँ

  • eval_trace केवल प्रदर्शन के लिए है; यह स्वयं कोई एनोटेशन एकत्र नहीं करता। इसे reasoning_quality, tool_use_correctness, या answer_helpfulness जैसी एनोटेशन योजनाओं के साथ जोड़ें, जैसा उदाहरण में है।
  • eval_trace पर स्पैन एनोटेशन समर्थित नहीं है। यदि आपको ट्रेस टेक्स्ट पर स्पैन हाइलाइटिंग चाहिए तो एजेंट-ट्रेस या code डिस्प्ले का उपयोग करें।

संबंधित

कार्यान्वयन विवरण के लिए, स्रोत दस्तावेज़ीकरण देखें।