तीन-पैन ट्रेस मूल्यांकन (eval_trace)
eval_trace डिस्प्ले एक एजेंट ट्रेस को तीन समकालिक पैन में बाँट देता है (तर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर) ताकि मूल्यांकनकर्ता एक नज़र में देख सके कि एजेंट ने क्या सोचा, क्या किया और क्या उत्पन्न किया। निरंतर मूल्यांकन के लिए बनाया गया।
eval_trace डिस्प्ले एकल एजेंट ट्रेस को तीन समकालिक पैन में बाँट देता है: तर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर। मूल्यांकनकर्ता साथ-साथ देख सकता है कि एजेंट ने क्या सोचा, क्या किया और क्या उत्पन्न किया, जो उस निरंतर मूल्यांकन के लिए उपयुक्त है जहाँ नई ट्रेस आती रहती हैं और उन्हें तेज़ी से परखना होता है।
ऊर्ध्वाधर एजेंट-ट्रेस डिस्प्ले के विपरीत, जो आपस में गुँथी हुई एक ट्रेस को एक ही स्तंभ में ढेर कर देता है, eval_trace एक ट्रेस को उसके तीन अर्थपरक घटकों में विघटित कर देता है, जिससे एजेंट के व्यवहार की संरचना बिना स्क्रॉल किए दिखाई देती है।
तर्क, फ़ंक्शन कॉल्स और अंतिम उत्तर पैन में बँटी एक एजेंट ट्रेस
त्वरित शुरुआत
रिपॉज़िटरी की जड़ से शामिल उदाहरण चलाएँ:
python potato/flask_server.py start examples/agent-traces/continuous-eval/config.yaml -p 8000यह उदाहरण एक डायरेक्टरी-वॉच संस्करण (config-watch.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_numbers | true | तर्क और कॉल कार्डों पर #N चरण संख्याएँ दिखाता है। |
collapse_long_outputs | true | max_output_lines से लंबे टूल परिणामों को एक विस्तार-योग्य ब्लॉक में समेट देता है। |
max_output_lines | 20 | परिणामों को समेटने के लिए पंक्ति सीमा। |
link_steps | true | पैन-पार हाइलाइटिंग: किसी कार्ड पर क्लिक करने से अन्य पैनों में जुड़े कार्ड हाइलाइट हो जाते हैं। |
compact | false | अधिक सघन पैडिंग और अंतराल। |
डेटा प्रारूप
eval_trace वही ट्रेस प्रारूप स्वीकार करता है जो एजेंट-ट्रेस डिस्प्ले स्वीकार करता है। सबसे आम है {speaker, text} चरणों की एक सूची:
{
"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 और SSE —
trace_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डिस्प्ले का उपयोग करें।
संबंधित
- सिग्नल-आधारित ट्राइएज क़्यू — तय करें कि कौन-सी आती हुई ट्रेस की समीक्षा हो
- SFT/DPO के लिए ट्रैजेक्टरी संपादन — सुधारों को प्रशिक्षण डेटा में बदलें
- एजेंटिक एनोटेशन — डिस्प्ले-फ़ील्ड कॉन्फ़िगरेशन और इंजेशन
कार्यान्वयन विवरण के लिए, स्रोत दस्तावेज़ीकरण देखें।