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à.
Tieni traccia del processo di step-by-step ragionamento dell'agente utilizzando trace
Ogni risposta di Agent per Amazon Bedrock è accompagnata da una traccia che descrive in dettaglio le fasi orchestrate dall’agente. La traccia è utile per capire il ragionamento che l’agente ha seguito per dare risposta in quel momento della conversazione.
Usare la traccia per monitorare il percorso dell’agente dall’input dell’utente alla risposta restituita. La traccia fornisce informazioni sugli input nei gruppi di azioni invocati dall’agente e sulle knowledge base interrogate dall’agente per rispondere all’utente. Inoltre, la traccia fornisce informazioni sugli output restituiti dai gruppi di azione e dalle knowledge base. È possibile visualizzare il ragionamento utilizzato dall’agente per determinare l’azione da eseguire o la query che esegue su una knowledge base. Se una fase nella traccia non riesce, viene restituito il motivo dell’errore. Utilizzare le informazioni dettagliate contenute nella traccia per risolvere i problemi dell’agente. È possibile identificare le fasi in cui l’agente ha problemi o in cui produce un comportamento imprevisto. È quindi possibile utilizzare queste informazioni per valutare i modi in cui è possibile migliorare il comportamento dell’agente.
Struttura della traccia
Se la traccia è abilitata, nella risposta InvokeAgent, ogni chunk del flusso è accompagnato da un campo trace mappato a un oggetto TracePart. L’oggetto tracePart contiene informazioni sull’agente e sulle sessioni, oltre al processo di ragionamento dell’agente e ai risultati delle chiamate alle funzioni dell’API.
{ "agentId": "string", "agentName": "string", "collaboratorName": "string", "agentAliasId": "string", "sessionId": "string", "agentVersion": "string", "trace": { ...}, "callerChain": [{ "agentAliasArn": "agent alias arn" }] }
Nell’elenco seguente sono descritti i campi dell’oggetto TracePart:
-
agentId: identificatore univoco dell’agente. -
agentName: nome dell’agente. -
collaboratorName: se la collaborazione multiagente è abilitata, il nome dell’agente collaboratore. -
agentVersion: versione dell’agente. -
agentAliasId: identificatore univoco dell’alias dell’agente. -
sessionId: identificatore univoco della sessione con l’agente. -
trace: contiene il processo di ragionamento dell’agente e i risultati delle chiamate delle azioni dell’API. Per ulteriori informazioni, vedere di seguito. -
callerChain: elenco dei chiamanti tra l’agente che ha pubblicato questa traccia e l’utente finale.Se si tratta di un singolo agente, questo campo conterrà l’alias Arn dello stesso agente che ha pubblicato la traccia.
Se la collaborazione multiagente è abilitata, questo campo conterrà l’alias Arn di tutti gli agenti che hanno inoltrato la richiesta dell’utente finale all’agente corrente.
All’interno di TracePart si trova un campo trace mappato a un oggetto Trace. La traccia viene mostrata come oggetto JSON sia nella console che nell’API. Ogni Fase nella console o nell’API Trace può essere una delle seguenti tracce:
-
PreProcessingTrace— Traccia l'input e l'output della fase di pre-elaborazione, in cui l'agente contestualizza e classifica l'input dell'utente e determina se è valido.
-
OrchestrationTrace— Traccia l'input e l'output della fase di orchestrazione, in cui l'agente interpreta l'input, richiama i gruppi di azioni e interroga le knowledge base. Poi l’agente restituisce l’output per continuare l’orchestrazione o per rispondere all’utente.
-
PostProcessingTrace— Traccia l'input e l'output della fase di post-elaborazione, in cui l'agente gestisce l'output finale dell'orchestrazione e determina come restituire la risposta all'utente.
-
CustomOrchestrationTrace— Dettagli sulla fase di orchestrazione personalizzata in cui l'agente determina l'ordine in cui le azioni vengono eseguite.
-
RoutingClassifierTrace— Traccia l'input e l'output del classificatore di routing
-
FailureTrace— Traccia il motivo per cui un passaggio non è riuscito.
-
GuardrailTrace— Traccia le azioni del Guardrail.
Ciascuna delle tracce (tranne FailureTrace) contiene un oggetto ModelInvocationInput. L’oggetto ModelInvocationInput contiene le configurazioni impostate nel modello di prompt per la fase, oltre al prompt fornito all’agente in questa fase. Per ulteriori informazioni su come modificare i modelli di prompt, consultare Miglioramento della precisione dell’agente utilizzando modelli di prompt avanzati in Amazon Bedrock. La struttura di un oggetto ModelInvocationInput è la seguente:
{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | ROUTING_CLASSIFIER | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "foundationModel":string", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }
Nell’elenco seguente sono descritti i campi dell’oggetto ModelInvocationInput:
-
traceId: identificatore univoco della traccia. -
text: testo del prompt fornito all’agente in questa fase. -
type: fase attuale del processo dell’agente. -
foundationModel: modello di fondazione dell’agente collaboratore nella collaborazione multiagente. Questo campo è popolato solo setypeèROUTING_CLASSIFIER. Se il modello predefinito utilizzato per il routing dei prompt viene sovrascritto, questo campo mostra il modello dell’agente supervisore utilizzato per il routing dei prompt. -
inferenceConfiguration: parametri di inferenza che influiscono sulla generazione della risposta. Per ulteriori informazioni, consulta Influenza sulla generazione della risposta con i parametri di inferenza. -
promptCreationMode: se il modello di prompt di base predefinito dell’agente è stato sovrascritto o meno per questa fase. Per ulteriori informazioni, consulta Miglioramento della precisione dell’agente utilizzando modelli di prompt avanzati in Amazon Bedrock. -
parserMode: se il parser della risposta predefinito dell’agente è stato sovrascritto o meno per questa fase. Per ulteriori informazioni, consulta Miglioramento della precisione dell’agente utilizzando modelli di prompt avanzati in Amazon Bedrock. -
overrideLambda: nome della risorsa Amazon (ARN) della funzione Lambda del parser utilizzata per analizzare la risposta, se il parser predefinito è stato sovrascritto. Per ulteriori informazioni, consulta Miglioramento della precisione dell’agente utilizzando modelli di prompt avanzati in Amazon Bedrock.
Per ulteriori informazioni su ciascuna opzione, consultare le sezioni riportate di seguito:
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" } "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
PreProcessingTraceÈ costituito da un ModelInvocationInputoggetto e un PreProcessingModelInvocationOutputoggetto. PreProcessingModelInvocationOutput contiene i seguenti campi.
-
metadata: contiene le seguenti informazioni relative all’output del modello di fondazione.usage: contiene le seguenti informazioni relative all’utilizzo del modello di fondazione.-
inputTokens: contiene le informazioni sui token di input derivanti dall’utilizzo del modello di fondazione. -
outputTokens: contiene le informazioni sui token di output derivanti dall’utilizzo del modello di fondazione.
-
-
rawResponse: contiene l’output non elaborato del modello di fondazione.-
content: contenuto di output non elaborato del modello di fondazione.
-
-
parsedResponse: contiene i seguenti dettagli sul prompt dell’utente analizzato.-
isValid: specifica se il prompt dell’utente è valido o meno. -
rationale: specifica il ragionamento dell’agente per le fasi successive da eseguire.
-
-
traceId: identificatore univoco della traccia.
OrchestrationTraceÈ costituito dall'ModelInvocationInputoggetto, dall'OrchestrationModelInvocationOutputoggetto e da qualsiasi combinazione degli oggetti Rationale e Observation. InvocationInput OrchestrationModelInvocationOutput contiene i seguenti campi. Per ulteriori informazioni sugli oggetti Rationale e Observation, selezionate una delle seguenti schede. InvocationInput
{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
Se type è AGENT_COLLABORATOR e se il routing è stato abilitato per l’agente supervisore, OrchestrationModelInvocationOutput conterrà la seguente struttura:
routingClassifierModelInvocationOutput: { traceId: "string", rawResponse: "string", routerClassifierParsedResponse: {...} metadata: { inputTokens: "..." outputTokens: "..." } }
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "rawResponse": { "content": "string" }, "metadata": { "usage": { "inputToken": int, "outputToken": int } }, "parsedResponse": { "text": "string" }, "traceId": "string" } }
PostProcessingTraceÈ costituito da un ModelInvocationInputoggetto e un PostProcessingModelInvocationOutputoggetto. Il PostProcessingModelInvocationOutput contiene i seguenti campi:
-
rawResponse: contiene l’output non elaborato del modello di fondazione.-
content: contenuto di output non elaborato del modello di fondazione.
-
-
metadata: contiene le seguenti informazioni relative all’output del modello di fondazione.usage: contiene le seguenti informazioni relative all’utilizzo del modello di fondazione.-
inputTokens: contiene le informazioni sui token di input derivanti dall’utilizzo del modello di fondazione. -
outputTokens: contiene le informazioni sui token di output derivanti dall’utilizzo del modello di fondazione.
-
-
parsedResponse: contiene iltextda restituire all’utente dopo essere stato elaborato dalla funzione del parser. -
traceId: identificatore univoco della traccia.
{ "failureReason": "string", "traceId": "string" }
Nell’elenco seguente sono descritti i campi dell’oggetto FailureTrace:
-
failureReason: motivo per cui la fase non è riuscita. -
traceId: identificatore univoco della traccia.
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
L'elenco seguente descrive i campi dell' GuardrailAssessment oggetto:
-
action: indica se i guardrail sono intervenuti o meno sui dati di input. Le opzioni sonoGUARDRAIL_INTERVENEDoNONE. -
inputAssessments: dettagli della valutazione del guardrail sull’input dell’utente. -
outputAssessments: dettagli della valutazione del guardrail sulla risposta.
Per ulteriori informazioni sull’oggetto GuardrailAssessment e sul test di un guardrail, consultare Testare il guardrail.
GuardrailAssessment esempio:
{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }