एजेंट 365 अवलोकन विशेषता संदर्भ

यह आलेख कैननिकल विशेषता-दर-विशेषता युक्ति है जिसका उपयोग एजेंट 365 की अंतर्ग्रहण पाइपलाइन द्वारा किया जाता है। एजेंट 365 द्वारा अंतर्ग्रहण किया गया प्रत्येक स्पैन - चाहे Microsoft OpenTelemetry Distro द्वारा उत्सर्जित किया गया हो, बहिष्कृत एजेंट 365 ऑब्जर्वेबिलिटी SDK, या सीधे OTel पर भेजा गया हो - इसके अनुरूप होना चाहिए। प्रत्येक प्रविष्टि उन ऑपरेशन प्रकारों को सूचीबद्ध करती है जिन पर विशेषता लागू होती है, चाहे वह अनिवार्य हो, उन्नत-शिकार क्वेरीज़ (जहां कोई मौजूद है) के लिए आपका मान जिस फ़ील्ड नाम में उतरता है, और यदि आप इसे छोड़ देते हैं तो प्रभाव पड़ता है।

अगर आप SDK या डिस्ट्रो का इस्तेमाल करते हैं, तो SDK टूल आपके लिए ये विशेषताएं दिखाता है. मान चुनना अनुभाग केवल तभी लागू होता है जब आपको किसी डिफ़ॉल्ट को ओवरराइड करने की आवश्यकता होती है. यदि आप सीधे OTel पथ का उपयोग करते हैं, तो आप प्रत्येक विशेषता को मैन्युअल रूप से उत्सर्जित करते हैं। उन्हें अनुरोध में कैसे इकट्ठा किया जाए, इसके लिए एकीकरण मार्गदर्शिका देखें।

Attribute table

सभी मान इस प्रकार भेजे stringValueजाते हैं - टोकन गिनती होनी "42" चाहिए (नहीं42); पोर्ट होना "443" चाहिए (नहीं443)।

ऑपरेशन किंवदंती।IA = invoke_agent, ET = execute_tool, CH = chat, OM = output_messages, All = हर ऑपरेशन पर लागू होता है।

Required legend.

  • M: mandatory.
  • M*1: केवल सन्निहित एजेंटों के लिए अनिवार्य (एजेंट का अपना स्वयं का Entra Agent ID उपयोगकर्ता खाता है)।
  • एम * 2: केवल एजेंट-टू-एजेंट कॉल के लिए अनिवार्य।
  • एम * 3: केवल गैर-रूट स्पैन के लिए अनिवार्य। जड़ invoke_agent का कोई माता-पिता नहीं है।
  • ओ * 4: वैकल्पिक, केवल तभी सार्थक जब स्पैन स्थिति त्रुटि हो।
  • O: optional.
  • एन/ए: उत्सर्जित न करें। एजेंट 365 ऑटो-पॉप्युलेट करता है।

"RawEventData फ़ील्ड" कॉलम एक JSON कुंजी का नाम देता है जिसके अंदर CloudAppEvents.RawEventDataअंतर्ग्रहण पार्स को सत्यापित करने में विहित उन्नत-शिकार क्वेरी होती है। एक रिक्त सेल का मतलब है कि विशेषता आज उजागर नहीं CloudAppEvents हुई है। आप अभी भी इसे (आवश्यक स्तंभ के अनुसार) उत्सर्जित करना चाहिए क्योंकि एजेंट 365 इसे अंतर्ग्रहण, पैरेंट-रिज़ॉल्यूशन और Microsoft Defender के एजेंट-गतिविधि दृश्य के लिए उपयोग करता है। हालाँकि, आप इसे आज Microsoft Defender उन्नत शिकार से सीधे क्वेरी नहीं कर सकते।

Note

एजेंट 365 स्थिर रिकॉर्ड फ़ील्ड (Id, RecordType, Workload, UserType, ) Versionऔर जनरेट किए गए अनुरोध और प्रतिसाद आईडी को ऑटो-पॉप्युलेट करता है।

Attribute Applies to Required RawEventData field नोट्स/प्रभाव यदि गायब है
gen_ai.operation.name All M Operation में से एकinvoke_agent, execute_tool, , chat. output_messages गायब या पहचाने न जाने पर स्पैन गिर गया।
microsoft.tenant.id All M OrganizationId यूआरएल {tenantId} आधिकारिक है। यदि आप यह मान सेट करते हैं और यह असहमत है, तो अनुरोध अस्वीकार कर दिया जाता है (403)।
gen_ai.agent.id All M TargetAgentId (आईए); AgentId (ईटी, सीएच) कॉलिंग ऐप का appId। URL {agentId} और प्रमाणित ऐप्लिकेशन से मेल खाना चाहिए. बेमेल 403 लौटाता है।
gen_ai.agent.name All M TargetAgentName (आईए); AgentName (ईटी, सीएच) Defender और व्यवस्थापक केंद्र गुम होने पर नाम के बजाय कच्चा GUID दिखाते हैं।
microsoft.a365.agent.blueprint.id All M TargetAgentBlueprintID (आईए); AgentBlueprintId (ईटी, सीएच) ब्लूप्रिंट का appId। बिना ब्लूप्रिंट वाले मानक Entra ऐप्स के लिए, एजेंट के appId का पुन: उपयोग करें। व्यवस्थापक केंद्र में ब्लूप्रिंट रोल-अप अन्यथा टूट जाते हैं।
gen_ai.agent.description All O -- व्यवस्थापक केंद्र में विस्तार दृश्य एजेंट के लिए रिक्त है।
gen_ai.agent.type All O PlatformTargetAgentType (आईए); PlatformAgentType (ईटी); CopilotEventData.PlatformAgentType (सीएच) आपकी पहचान प्रणाली के लिए एक लेबल, जिसे तब जोड़ा जाता है microsoft.a365.agent.platform.id जब एजेंट के पास Entra पंजीकरण नहीं होता है। फ्री-फॉर्म टेक्स्ट; एक ऐसा मान चुनें जो आपकी पहचान प्रणाली की विशिष्ट रूप से पहचान करता है। जब एजेंट के पास Entra पंजीकरण हो तो छोड़ दें। एजेंट 365 ऑटो-क्लासीफाईज़। Microsoft-आरक्षित मानों का उपयोग न करें (देखें मान चुनना)।
microsoft.a365.agent.platform.id All O PlatformTargetAgentId (आईए, शीर्ष स्तर AlternateIdभी); PlatformAgentId (ईटी, सीएच) आपके गैर-Entra पहचान प्रणाली में एजेंट की विशिष्ट आईडी। Free-form text. के साथ सेट gen_ai.agent.typeकरें। जब एजेंट के पास Entra पंजीकरण हो तो छोड़ दें। मान चुनना देखें.
gen_ai.conversation.id All M ConversationId (आईए, ईटी); CopilotEventData.ConversationId / CopilotEventData.ThreadId (सीएच) एक रन के लिए प्राथमिक जुड़ने की कुंजी। इसके बिना, रन Defender एजेंट-गतिविधि दृश्यों या व्यवस्थापक केंद्र में दिखाई नहीं देता है।
microsoft.channel.name All M ChannelName (आईए, ईटी) जिस सतह पर एजेंट चलता है। एक छोटे लोअरकेस टोकन का उपयोग करें। Defender और व्यवस्थापक केंद्र फ़िल्टर द्वारा उपयोग किए जाने वाले विहित मान आज हैं और msteams .outlook कस्टम स्ट्रिंग (उदाहरण webके लिए, ) <your-product-name>स्वीकार किए जाते हैं, लेकिन अंतर्निहित चैनल फ़िल्टर में धुरी नहीं करते हैं। हर स्पैन पर एक ही मान का प्रयोग करें। मान चुनना देखें.
microsoft.channel.link All O -- Channel deep-link.
microsoft.session.id All O SessionIdentity यदि गायब है तो सत्र खाली हो जाता है।
microsoft.session.description All O -- Session description.
microsoft.conversation.item.link All O -- संदेश के लिए गहरा लिंक।
correlation.id All O -- Cross-service tracing. आज उन्नत शिकार में सामने नहीं आया।
operation.source All O InvokeSource (आईए) टेलीमेट्री उत्सर्जित करने वाली SDK या सेवा के लिए पहचानकर्ता। एक संसाधन विशेषता हो सकती है।
client.address आईए, ईटी, सीएच M ClientIP (आईए, ईटी) Caller IP. आईपी-आधारित जांच खाली होने पर अवरुद्ध हो गई है।
server.address आईए, ईटी, सीएच M ServerAddress (आईए, ईटी) एंडपॉइंट आपकी सेवा कॉल कर रही है।
server.port आईए, ईटी, सीएच M ServerPort (आईए) स्ट्रिंग-एन्कोडेड (उदाहरण "443"के लिए)।
user.id IA M UserKey Microsoft Entra ऑब्जेक्ट ID मानव कॉलर का। "इस एजेंट को किसने चलाया" इसके बिना खाली है।
user.email IA O UserId कॉल करने वाले का यूपीएन।
user.name IA O -- कॉल करने वाले का नाम प्रदर्शित करें.
gen_ai.input.messages IA, CH M -- पेलोड (JSON स्ट्रिंग) का अनुरोध करें। डाउनस्ट्रीम विश्लेषण के लिए कब्जा कर लिया गया लेकिन अभी तक उन्नत शिकार में सामने नहीं आया है।
gen_ai.output.messages आईए, सीएच, ओम M -- प्रतिक्रिया पेलोड (JSON स्ट्रिंग)।
gen_ai.execution.type IA O -- में से HumanToAgentएक, , Agent2Agent. EventToAgent
microsoft.a365.agent.thought.process IA, CH O -- मुक्त-पाठ तर्क या विचार की श्रृंखला।
gen_ai.author.app.id OM O -- Microsoft Entra अनुप्रयोग ID जो एजेंट लेखक या बनाया गया है।
gen_ai.tool.name ET M ToolName Tool name. Defender उपकरण-उपयोग दृश्य अनुपलब्ध होने पर रिक्त हैं।
gen_ai.tool.type ET M ToolType , , functionPower Platform Connector, MCP ServerAPIKnowledge Sourcebing_grounding, में code_interpreterसे file_searchएक।
gen_ai.tool.call.id ET M ToolId इस टूल कॉल के लिए पहचानकर्ता।
gen_ai.tool.call.arguments ET M -- उपकरण तर्क (JSON स्ट्रिंग)। पकड़ा गया लेकिन अभी तक उन्नत शिकार में सामने नहीं आया।
gen_ai.tool.call.result ET M -- उपकरण परिणाम (JSON स्ट्रिंग)।
gen_ai.tool.description ET O ToolDescription Tool description.
gen_ai.tool.server.name ET O -- टूल सर्वर होस्टनाम। MCP उपकरणों के लिए इस विशेषता को सेट करें।
gen_ai.request.model CH M -- मॉडल का नाम (उदाहरण के लिए, gpt-4o)। पकड़ा गया लेकिन अभी तक उन्नत शिकार में सामने नहीं आया।
gen_ai.provider.name CH M -- प्रदाता का नाम (उदाहरण के लिए, ). openai
gen_ai.usage.input_tokens CH O -- इनपुट टोकन गिनती, स्ट्रिंग-एन्कोडेड।
gen_ai.usage.output_tokens CH O -- आउटपुट टोकन गिनती, स्ट्रिंग-एन्कोडेड।
gen_ai.response.finish_reasons CH O -- Finish reasons.
microsoft.a365.caller.agent.id IA M*2 AgentId (आईए) कॉलिंग एजेंट appId. एजेंट-टू-एजेंट के लिए आवश्यक।
microsoft.a365.caller.agent.name IA M*2 AgentName (आईए) कॉलिंग एजेंट प्रदर्शन नाम।
microsoft.a365.caller.agent.blueprint.id IA M*2 AgentBlueprintId कॉलिंग एजेंट का ब्लूप्रिंट appId। सन्निहित A2A के लिए आवश्यक है।
microsoft.a365.caller.agent.user.id IA M*2 -- कॉलिंग एजेंट की यूजर आईडी।
microsoft.a365.caller.agent.user.email IA M*2 -- कॉलिंग एजेंट यूपीएन।
microsoft.a365.caller.agent.platform.id IA N/A -- गैर-Entra वैकल्पिक आईडी के लिए आरक्षित।
gen_ai.caller.agent.type IA N/A -- एजेंट 365 ऑटो-क्लासीफाईज़।
microsoft.agent.user.id आईए, ईटी, सीएच M*1 TargetAgentUserKey (आईए); UserKey (ईटी, सीएच) Microsoft Entra ऑब्जेक्ट ID एजेंट के स्वयं के उपयोगकर्ता खाते का। एआई टीम के साथियों और सन्निहित एजेंटों के लिए आवश्यक।
microsoft.agent.user.email आईए, ईटी, सीएच O*1 UserId (ईटी, सीएच) एजेंट के उपयोगकर्ता खाते का UPN.
span.SpanId All M OpId OTel SDK इसे उत्सर्जित करता है।
span.ParentSpanId All M*3 ParentId केवल गैर-रूट स्पैन के लिए आवश्यक; जड़ invoke_agent में कोई नहीं है।
span.StartTimeUnixNano All M शीर्ष-स्तर TimeGenerated (में भी CreationTimeRawEventData) यूनिक्स युग नैनो एक स्ट्रिंग के रूप में।
span.EndTimeUnixNano All M CompletionTime (आईए, ईटी); CopilotEventData.CompletionTime (सीएच) अनुपलब्ध होने पर अवधि की गणना नहीं की जा सकती है।
span.Status.Message All O*4 ErrorMessage (आईए, ईटी); CopilotEventData.ErrorMessage (सीएच) विफल रन का मूल कारण गायब होने पर खाली है।
span.Status.Code All O*4 ErrorType (आईए); CopilotEventData.ErrorType (सीएच) त्रुटि श्रेणी रिक्त यदि अनुपलब्ध है।

Note

एजेंट 365 आपके द्वारा उत्सर्जित कई विशेषताओं को स्वीकार करता है, जैसे उपकरण तर्क और परिणाम, मॉडल पैरामीटर और चैनल डीप-लिंक्स। डाउनस्ट्रीम Microsoft Defender दृश्य इन विशेषताओं का उपयोग करते हैं, लेकिन एजेंट 365 अभी तक उन्हें JSON CloudAppEvents.RawEventData कुंजी के रूप में प्रदर्शित नहीं करता है। उन्हें आवश्यक कॉलम के अनुसार सेट करें। उन्हें भविष्य की रिलीज में शिकार पेलोड में जोड़ा जा सकता है।

Important

(IA) रिकॉर्ड पर invoke_agent , AgentId, और AgentNameAgentBlueprintId फ़ील्ड कॉलिंग एजेंट का वर्णन करते हैं, न कि आह्वान किए गए एजेंट का। एजेंट 365 उन्हें विशेषताओं से आबाद microsoft.a365.caller.agent.* करता है। जब कोई मानव आपके एजेंट को आमंत्रित करता है, तो उन विशेषताओं को छोड़ दें, AgentId इसलिए और AgentBlueprintId एक ऑल-शून्य GUID ()00000000-0000-0000-0000-000000000000 के रूप में प्रकट होता है और AgentName ऑडिट रिकॉर्ड और Microsoft Purview में रिक्त होता है। मानव-शुरू किए गए रनों के लिए ऑल-शून्य मान अपेक्षित है। आमंत्रित एजेंट की पहचान करने के लिए, , , TargetAgentNameऔर TargetAgentBlueprintIDका उपयोग करेंTargetAgentId।

जब आपके पास प्राकृतिक मूल्य नहीं होता है तो मूल्यों का चयन करना

कुछ आवश्यक विशेषताएँ उन अवधारणाओं का वर्णन करती हैं जो आपके एजेंट के आर्किटेक्चर में मौजूद नहीं हो सकती हैं। यदि प्राकृतिक मान उपलब्ध नहीं है, तो इसके बजाय निम्न मान सेट करें. एक अनिवार्य फ़ील्ड को खाली न छोड़ें। यहां तक कि एक ऑल-ज़ीरो GUID भी आपके रन को कुछ ग्राहक-सामना करने वाले अनुभवों से छुपाता है। यह नियम केवल अनिवार्य विशेषताओं पर लागू होता है। यह मानव-शुरू किए गए रनों पर कॉलर-एजेंट विशेषताओं पर लागू नहीं होता है, जहां रिकॉर्ड पर invoke_agent सभी शून्य होने AgentId की उम्मीद है।

प्रश्न/परिदृश्य Field(s) क्या सेट करने के लिए
मेरा एजेंट एक मानक Entra ऐप पंजीकरण है (Entra Agent ID ब्लूप्रिंट से नहीं बनाया गया है)। gen_ai.agent.id Entra ऐप का appId।
↑ वही परिदृश्य microsoft.a365.agent.blueprint.id उसी मान gen_ai.agent.id का पुन: उपयोग करें (एजेंट का appId)। स्कीमा के लिए एक गैर-खाली मान की आवश्यकता होती है; एजेंट appId का पुन: उपयोग करना सुरक्षित डिफ़ॉल्ट है जब कोई खाका नहीं होता है।
मेरा एजेंट एक Entra Agent ID ब्लूप्रिंट - एक या कई एजेंट पहचान एक ही ब्लूप्रिंट से बनाई गई है। gen_ai.agent.id एजेंट की पहचान का appId ( इंस्टेंस appId, ब्लूप्रिंट का नहीं)।
↑ वही परिदृश्य microsoft.a365.agent.blueprint.id ब्लूप्रिंट का appId। एक ही ब्लूप्रिंट से ढाले गए सभी उदाहरण इस मान को साझा करते हैं।
कॉल करने वाला एक मानव उपयोगकर्ता है, कोई अन्य एजेंट नहीं। सभी microsoft.a365.caller.agent.* और विशेषताएँ gen_ai.caller.agent.* Omit. वे केवल एजेंट-टू-एजेंट परिदृश्यों में अनिवार्य हैं। रिकॉर्ड पर invoke_agent , कॉलर फ़ील्ड करता AgentId है और AgentBlueprintId एक ऑल-शून्य GUID दिखाता है। अपने एजेंट की पहचान करने के लिए उपयोग करें TargetAgentId ।
एजेंट-टू-एजेंट में: कॉलिंग एजेंट एक मानक एंट्रा ऐप है (कोई खाका नहीं)। microsoft.a365.caller.agent.blueprint.id कॉलिंग एजेंट के appId का पुन: उपयोग करें।
मेरा एजेंट एआई टीम का साथी नहीं है - किरायेदार में इसका अपना उपयोगकर्ता खाता नहीं है। सभी microsoft.agent.user.* विशेषताएँ Omit. वे केवल तभी अनिवार्य होते हैं जब एजेंट के पास अपना स्वयं का Entra Agent ID उपयोगकर्ता खाता हो।
मेरे एजेंट के पास एक रन से परे एक सत्र की कोई अवधारणा नहीं है। microsoft.session.id वैकल्पिक - छोड़ दें। यदि आप चाहते हैं कि प्रत्येक रन उसका स्वयं का सत्र हो, तो प्रति-रन GUID पर सेट करें.
मेरे एजेंट के पास बातचीत की कोई अवधारणा नहीं है (एक-शॉट, स्टेटलेस)। gen_ai.conversation.id प्रति रन एक ताज़ा GUID जनरेट करें। क्षेत्र अनिवार्य है; इसे छोड़ने से Defender एजेंट-गतिविधि दृश्यों और Microsoft 365 व्यवस्थापक केंद्र से रन निकल जाता है।
कॉल करने वाले के पास कोई आईपी नहीं है (उदाहरण के लिए, एक स्वायत्त शेड्यूल ट्रिगर)। client.address एक स्थिर प्लेसहोल्डर का उपयोग करें जिसे आप नियंत्रित करते हैं (उदाहरण के लिए, "0.0.0.0"). क्षेत्र अनिवार्य है; एक रिक्त मान IP-आधारित जाँच pivots से रन निकालता है।
एजेंट प्रक्रिया में चलता है; कोई अलग "सर्वर" नहीं कहा जा रहा है। server.address / server.port उस मशीन के होस्टनाम का उपयोग करें जिसने एजेंट चलाया था (उदाहरण के लिए, ) myagent.example.comऔर जिस पोर्ट पर आपका समापन बिंदु सुनता है। तब भी आवश्यक है जब कोई अलग डाउनस्ट्रीम सेवा न हो।
मेरी chat अवधि में कोई मॉडल टोकन उपयोग नहीं है। gen_ai.usage.input_tokens / gen_ai.usage.output_tokens वैकल्पिक - छोड़ दें। यदि आपके पास अनुमानित गणना है, तो उन्हें इस रूप में stringValueभेजें।
मेरे स्पैन की रिपोर्ट करने में कोई त्रुटि नहीं है। span.Status.Message, span.Status.Code OTel स्थिति को (संख्यात्मक कोड 1) पर OK सेट करें और संदेश को छोड़ दें। पाइपलाइन इन क्षेत्रों से केवल तभी परामर्श करती है जब स्थिति हो Error।
मेरा एजेंट एक गैर-एंट्रा पहचान प्रणाली का उपयोग करता है (एजेंट के पास कोई एंट्रा पंजीकरण नहीं है)। microsoft.a365.agent.platform.id और gen_ai.agent.type दोनों को हर स्पैन पर सेट करें। platform.id आपकी पहचान प्रणाली में एजेंट की विशिष्ट आईडी है;agent.type एक छोटा लेबल है जो पहचानता है कि कौन सी पहचान प्रणाली है। दोनों फ्री-फॉर्म टेक्स्ट हैं - जो कुछ भी आपके सिस्टम के लिए समझ में आता है उसे चुनें। Microsoft-आरक्षित प्रकार मानों का उपयोग न करें: CustomBuiltAgentsUsingSDK, CopilotStudio, Foundry, DeclarativeAgent, Custom (ये मान आंतरिक Microsoft सतहों के लिए आरक्षित हैं)। आप जिस कॉलिंग ऐप को प्रमाणित करते हैं, उसे अभी भी इन मार्गों का उपयोग करने के लिए एक एंट्रा पंजीकरण की आवश्यकता होती है - वैकल्पिक-आईडी जोड़ी एक लक्ष्य एजेंट का वर्णन करती है, कॉल करने वाले का नहीं।
मुझे क्या मूल्य डालना microsoft.channel.nameचाहिए? microsoft.channel.name जिस सतह पर एजेंट चलता है। Defender और व्यवस्थापक केंद्र शाब्दिक स्ट्रिंग से कुंजी फ़िल्टर करता है, इसलिए एक छोटा, स्थिर, लोअरकेस टोकन का उपयोग करें। आज विहित मान हैं और msteams ; outlookसामान्य ग्राहक-सामना करने वाली सतहें भी उपयोग करती webहैं , , office, sharepointया .<your-product-name> एक मान चुनें और उस पर टिके रहें - टूलींग msteams और Microsoft Teams को एक ही चैनल के रूप में समेट नहीं सकता है।
क्या मुझे सेट करना gen_ai.agent.typeचाहिए? gen_ai.agent.type केवल तभी जब आप भी सेटिंग कर microsoft.a365.agent.platform.id रहे हों (उदाहरण के लिए, आपके एजेंट के पास कोई Entra पंजीकरण नहीं है)। यह जोड़ी एजेंट 365 को बताती है कि एजेंट किस पहचान प्रणाली से आता है। एक छोटा लेबल चुनें जो आपकी पहचान प्रणाली की विशिष्ट पहचान करता है। , , , , या - वे मान आंतरिक Microsoft उपयोग के लिए आरक्षित हैं। Entra-पंजीकृत एजेंटों के लिए, फ़ील्ड को छोड़ दें; एजेंट 365 इसे बैकफिल करता है।
मुझे अपने स्पैन पर कौन सा ओटीएलपी kind सेट करना चाहिए? span.kind पूर्णांक एनम मान का उपयोग करें, न कि प्रोटो एनम स्ट्रिंग - 1 (),INTERNAL2SERVER (),3CLIENT4PRODUCER5 ()।CONSUMER एजेंट 365 इनमें से किसी को भी स्वीकार करता है और ग्राहक-दृश्यमान व्यवहार को प्राप्त kindनहीं करता है, इसलिए 1 (आंतरिक) प्रत्येक अवधि के लिए एक सुरक्षित डिफ़ॉल्ट है। यदि आप कॉल आकार को प्रतिबिंबित करना चाहते हैं, INTERNAL तो के लिए औरinvoke_agent / output_messagesके CLIENT लिए chat / execute_tool उचित है।