Agenti Strands
Questa pagina spiega come strumentare un agente Strands Agents
Argomenti
Strumenta il tuo agente
L'SDK Strands Agents include la telemetria integrata e non richiede alcuna 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 with the AWS Distro for OpenTelemetry (ADOT), il Runtime inserisce l'session.idattributo ed esporta automaticamente gli intervalli e i record degli eventi.
Nota
La strumentazione è un passo nella configurazione dell'osservabilità. Per esportare la telemetria per la valutazione, completa la configurazione completa in 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 span |
|---|---|---|
|
Invoca l'agente |
|
|
|
Strumento di esecuzione |
|
|
|
Inferenza |
|
|
Come vengono estratti i campi di valutazione
La posizione del contenuto della conversazione dipende da come è stata raccolta la telemetria. Quando ADOT divide la telemetria, il contenuto si trova in un record di eventi separato. Quando la telemetria non viene suddivisa, il contenuto rimane nell'intervallo come eventi in linea. Per ulteriori informazioni, consulta Intervalli, record di eventi e segnali di telemetria. L'attributo identificativo (gen_ai.operation.name) è sull'intervallo in entrambi i casi.
Dai registri degli eventi
Quando la telemetria viene suddivisa, il servizio legge il contenuto del record dell'evento correlato a ciascun intervallo:
-
Richiesta utente: dall'agente input messages (
input.messages), il contenuto del messaggio con un ruolo utente. -
Risposta dell'agente: dall'agente output messages (
output.messages), il contenuto del messaggio con un ruolo di assistente. -
Chiamata allo strumento: il nome dello strumento dall'
gen_ai.tool.nameattributo nell'intervallo dello strumento di esecuzione. Gli argomenti e i risultati dello strumento provengono dal record degli eventi (inputandoutput) di quell'intervallo.
Per esempi, vedete Example spans with event records.
Da inline span events
Quando la telemetria non viene suddivisa, lo stesso contenuto viene inserito negli eventi inline span 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. -
Richiamata dello strumento: il nome dello strumento dall'
gen_ai.tool.nameattributo sullo span. Gli argomenti dello strumento provengono dall'gen_ai.tool.messageevento e il risultato proviene dall'gen_ai.choiceevento.
Per esempi, vedete Example spans without event records.
L'esempio si estende ai record degli eventi
Quando la telemetria viene suddivisa, l'intervallo contiene gli attributi identificativi e il contenuto risiede in un record di eventi correlato. I seguenti esempi sono tratti da un agente di pianificazione dei viaggi di Strands distribuito su Amazon Bedrock Runtime. AgentCore
Nota
Questi esempi non sono intervalli completi. Mostrano dati rappresentativi derivanti da un'interazione con un agente reale, con alcuni campi omessi e valori lunghi troncati per motivi di leggibilità.
Esempio
L'esempio si estende senza record di eventi
Quando la telemetria non viene suddivisa, lo stesso contenuto viene archiviato negli eventi di estensione in linea dello span, senza alcun record di eventi separato. Gli esempi seguenti sono tratti da un agente di pianificazione dei viaggi di Strands.
Nota
Questi esempi non sono esempi completi. Mostrano dati rappresentativi derivanti da un'interazione con un agente reale, con alcuni campi omessi e valori lunghi troncati per motivi di leggibilità.