Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Imposta la telemetria degli agenti di Strands per le valutazioni AgentCore
Questa pagina spiega come strumentare un agente
Argomenti
AgentCore Evaluations supporta gli agenti Strands creati con Python SDK e SDK. TypeScript I due generano gli stessi tipi di intervallo, attributi identificativi e layout dei contenuti, con nomi di ambito diversi, quindi il servizio di valutazione li legge allo stesso modo. Questa pagina tratta ogni linguaggio separatamente: per Python, vedi Python agent support; per TypeScript, vedi TypeScript agent support.
Supporto per agenti Python
Un agente Python Strands produce intervalli con il nome dell'ambito. strands.telemetry.tracer
Strumenta il tuo agente
L'SDK Strands Agents include la telemetria integrata e non richiede una libreria di strumentazione aggiuntiva. Produce intervalli e record di eventi con il nome dell'ambito. strands.telemetry.tracer Quando viene distribuito su Amazon Bedrock AgentCore Runtime con AWS Distro for OpenTelemetry (ADOT), il Runtime inserisce l'session.idattributo ed esporta automaticamente gli intervalli e i record di eventi.
Nota
La strumentazione è un passaggio nella configurazione dell'osservabilità. Per esportare la telemetria per la valutazione, completa la configurazione completa in Imposta l'osservabilità. Imposta l'osservabilità
Come vengono identificati gli intervalli
Strands imposta l'gen_ai.operation.nameattributo su ogni intervallo. Il servizio di valutazione utilizza questo attributo per classificare gli intervalli:
| Tipo di intervallo | Attributo identificativo | Esempio di nome di span |
|---|---|---|
|
Invoca l'agente |
|
|
|
Strumento di esecuzione |
|
|
|
Inferenza |
|
|
Come vengono estratti i campi di valutazione
La posizione del contenuto della conversazione dipende dalla modalità di trasmissione della telemetria. Con la telemetria divisa, il contenuto si trova in un record di eventi separato. Con la telemetria unificata, il contenuto rimane nell'intervallo, così come gli eventi ad esso collegati. Per ulteriori informazioni, consulta Configurazione e distribuzione della telemetria. L'attributo identificativo (gen_ai.operation.name) è sull'intervallo in entrambe le modalità.
Dai record degli eventi
Con la telemetria divisa, il servizio legge il contenuto del record dell'evento correlato a ciascun intervallo:
-
Prompt utente: dai messaggi di input dell'agente (
input.messages), il contenuto del messaggio con un ruolo utente. -
Risposta dell'agente: dai messaggi di output dell'agente (
output.messages), il contenuto del messaggio con un ruolo di assistente. -
Chiamata allo strumento: il nome dello strumento derivato dall'
gen_ai.tool.nameattributo nell'intervallo di esecuzione dello strumento. Gli argomenti e i risultati dello strumento provengono dal record degli eventi (inputeoutput) di quell'intervallo.
Per ulteriori informazioni, consulta Esempi di intervalli di telemetria divisa.
Dagli eventi inline span
Con la telemetria unificata, lo stesso contenuto viene trasportato in eventi span in linea anziché in un record di eventi separato:
-
Richiesta utente: dall'evento, l'attributo.
gen_ai.user.messagecontent -
Risposta dell'agente: dall'
gen_ai.choiceevento, l'messageattributo. -
Chiamata allo strumento: il nome dello strumento derivante dall'
gen_ai.tool.nameattributo sullo span. Gli argomenti dello strumento provengono dall'gen_ai.tool.messageevento e il risultato viene dall'gen_ai.choiceevento.
Per ulteriori informazioni, consulta Esempi di intervalli nella telemetria unificata.
Esempi di intervalli nella telemetria divisa
Con la telemetria divisa, l'intervallo riporta gli attributi identificativi e il contenuto risiede in un record di eventi correlato. Gli esempi seguenti sono tratti da un agente di pianificazione dei viaggi di Python Strands distribuito su Amazon Bedrock Runtime. AgentCore
Nota
Questi esempi non sono intervalli completi. Mostrano dati rappresentativi di un'interazione con un agente reale, con alcuni campi omessi e valori lunghi troncati per motivi di leggibilità.
Esempio
Esempi di intervalli di telemetria unificata
Con la telemetria unificata, lo stesso contenuto viene trasportato in eventi di estensione in linea sullo span, senza alcun record di evento separato. I seguenti esempi sono tratti da un agente di pianificazione dei viaggi di Python Strands.
Nota
Questi esempi non sono intervalli completi. Mostrano dati rappresentativi di un'interazione con un agente reale, con alcuni campi omessi e valori lunghi troncati per motivi di leggibilità.
Esempio
TypeScript supporto agli agenti
Un agente TypeScript Strands produce intervalli con il nome strands-agents dell'ambito. Emette gli stessi tipi di span e lo stesso layout di contenuto di un agente Python, quindi il servizio di valutazione lo legge allo stesso modo.
Strumenta il tuo agente
TypeScript Strands Agents SDK (@strands-agents/sdk>= 1.5.0) include la telemetria integrata e non richiede alcuna libreria di strumentazione aggiuntiva. Quando viene distribuito su Amazon Bedrock AgentCore Runtime con AWS Distro for OpenTelemetry (ADOT), Runtime inserisce l'attributo ed esporta automaticamente gli intervalli e i record di eventi. session.id L' TypeScript SDK produce intervalli con il nome dell'ambito. strands-agents
Nota
La strumentazione è un passo verso l'impostazione dell'osservabilità. Per esportare la telemetria per la valutazione, completa la configurazione completa in Imposta l'osservabilità. Imposta l'osservabilità
Come vengono identificati gli intervalli
L'identificazione degli intervalli è la stessa di un agente Python. L'gen_ai.operation.nameattributo classifica ogni intervallo. Per i valori e i nomi degli intervalli di esempio, vedi Come vengono identificati gli intervalli nel supporto Python. Supporto per agenti Python
Come vengono estratti i campi di valutazione
L'estrazione dei campi è la stessa di un agente Python. Il contenuto della conversazione viene trasmesso in eventi di estensione in linea (gen_ai.user.message,gen_ai.choice, e). gen_ai.tool.message Per sapere da dove viene letto ogni campo, vedi From inline span events sotto il supporto Python. Supporto per agenti Python
Un esempio tratto da un agente TypeScript
Gli esempi seguenti sono tratti da un agente di pianificazione TypeScript dei viaggi di Strands distribuito su Amazon Bedrock Runtime. AgentCore
Nota
Questi esempi non sono intervalli completi. Mostrano dati rappresentativi di un'interazione con un agente reale, con alcuni campi omessi e valori lunghi troncati per motivi di leggibilità.