As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Rastreie o processo de step-by-step raciocínio do agente usando trace
Cada resposta de um agente do Amazon Bedrock é acompanhada por um rastreamento que detalha as etapas que estão sendo orquestradas pelo agente. O rastreamento ajuda você a acompanhar o processo de raciocínio do agente que o leva à resposta que ele dá naquele momento da conversa.
Use o rastreamento para rastrear o caminho do agente desde a entrada do usuário até a resposta que ele retorna. O rastreamento fornece informações sobre as entradas dos grupos de ação que o agente invoca e as bases de conhecimento que ele consulta para responder ao usuário. Além disso, o rastreamento fornece informações sobre os resultados que os grupos de ação e as bases de conhecimento exibem. Você pode ver o raciocínio que o agente usa para determinar a ação que ele executa ou a consulta que ele faz a uma base de conhecimento. Se uma etapa do rastreamento falhar, o rastreamento retornará o motivo da falha. Use as informações detalhadas no rastreamento para solucionar problemas com o agente. Você pode identificar etapas nas quais o agente tem problemas ou nas quais ele produz um comportamento inesperado. Assim, você pode usar essas informações para considerar maneiras de melhorar o comportamento do agente.
Estrutura do rastreamento
Se você ativar o rastreamento, no InvokeAgentresposta, cada uma chunk
no fluxo é acompanhada por um trace
campo mapeado para um TracePartobjeto. O tracePart
objeto contém informações sobre o agente e as sessões, juntamente com o processo de raciocínio do agente e os resultados da chamada de API funções.
{ "agentId": "string", "agentName": "string", "collaboratorName": "string", "agentAliasId": "string", "sessionId": "string", "agentVersion": "string", "trace": { ...}, "timeStamp": "string", "callerChain": [{ "agentAliasArn": "
agent alias arn
" }] }
A lista a seguir descreve os campos de TracePartobjeto:
-
agentId
— O identificador exclusivo do agente. -
agentName
— O nome do agente. -
collaboratorName
— Se a colaboração multiagente estiver ativada, o nome do agente colaborador. -
agentVersion
— A versão do agente. -
agentAliasId
— O identificador exclusivo do alias do agente. -
sessionId
— O identificador exclusivo da sessão com o agente. -
trace
— Contém o processo de raciocínio do agente e os resultados das API ações de chamada. Veja a seguir mais informações. -
callerChain
— Lista de chamadores entre o agente que publicou esse rastreamento e o usuário final.Se for um único agente, esse campo conterá o alias Arn do mesmo agente que publicou o rastreamento.
Se a colaboração multiagente estiver ativada, esse campo conterá o alias Arn de todos os agentes que encaminharam a solicitação do usuário final para o agente atual.
Dentro do TraceParté um trace
campo que mapeia para um Traceobjeto. O traçado é mostrado como um JSON objeto no console e noAPI. Cada etapa no console ou Traceno API pode ser um dos seguintes traços:
-
PreProcessingTrace— Rastreia a entrada e a saída da etapa de pré-processamento, na qual o agente contextualiza e categoriza a entrada do usuário e determina se ela é válida.
-
OrchestrationTrace— Rastreia a entrada e a saída da etapa de orquestração, na qual o agente interpreta a entrada, invoca grupos de ação e consulta as bases de conhecimento. Em seguida, o agente exibe a saída para continuar a orquestração ou responder ao usuário.
-
PostProcessingTrace— Rastreia a entrada e a saída da etapa de pós-processamento, na qual o agente manipula a saída final da orquestração e determina como retornar a resposta ao usuário.
-
FailureTrace— Rastreia o motivo pelo qual uma etapa falhou.
-
GuardrailTrace— Rastreia as ações do Guardrail.
Cada um dos traços (excetoFailureTrace
) contém um ModelInvocationInputobjeto. A ModelInvocationInputO objeto contém configurações definidas no modelo de solicitação da etapa, junto com a solicitação fornecida ao agente nessa etapa. Para obter mais informações sobre como modificar os modelos de prompt, consulte Melhorar a precisão dos agentes usando modelos de prompt avançados no Amazon Bedrock. A estrutura do objeto ModelInvocationInput
é descrita assim:
{ "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" }
A lista a seguir descreve os campos do ModelInvocationInputobjeto:
-
traceId
: o identificador exclusivo do rastreamento. -
text
: o texto do prompt fornecido ao agente nesta etapa. -
type
: a etapa atual no processo do agente. -
foundationModel
— O modelo básico do agente colaborador na colaboração multiagente. Esse campo é preenchido somente setype
forROUTING_CLASSIFIER
. Se o modelo padrão usado para rotear o prompt for substituído, esse campo mostrará o modelo do agente supervisor usado para rotear o prompt. -
inferenceConfiguration
: parâmetros de inferência que influenciam a geração de resposta. Para obter mais informações, consulte Geração de resposta de influência com parâmetros de inferência.. -
promptCreationMode
: se o modelo de prompt de base padrão do agente foi substituído para essa etapa. Para obter mais informações, consulte Melhorar a precisão dos agentes usando modelos de prompt avançados no Amazon Bedrock. -
parserMode
: se o analisador de respostas padrão do agente foi substituído nessa etapa. Para obter mais informações, consulte Melhorar a precisão dos agentes usando modelos de prompt avançados no Amazon Bedrock. -
overrideLambda
— O Amazon Resource Name (ARN) da função Lambda do analisador usada para analisar a resposta, se o analisador padrão tiver sido substituído. Para obter mais informações, consulte Melhorar a precisão dos agentes usando modelos de prompt avançados no Amazon Bedrock.
Para obter mais informações sobre cada tipo de rastreamento, consulte as seguintes seções:
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" } "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
O PreProcessingTraceconsiste em um ModelInvocationInputobjeto e um PreProcessingModelInvocationOutputobjeto. A PreProcessingModelInvocationOutputcontém os seguintes campos.
-
metadata
: contém as informações a seguir sobre a saída do modelo de base.usage
: contém as informações a seguir sobre o uso do modelo de base.-
inputTokens
: contém as informações sobre os tokens de entrada do uso do modelo de base. -
outputTokens
: contém as informações sobre os tokens de saída do uso do modelo de base.
-
-
rawResponse
: contém a saída bruta do modelo de base.-
content
: o conteúdo de saída bruto do modelo de base.
-
-
parsedResponse
: contém os detalhes a seguir sobre o prompt do usuário analisado.-
isValid
: especifica se o prompt do usuário é válido. -
rationale
: especifica o raciocínio do agente para as próximas etapas a serem tomadas.
-
-
traceId
: o identificador exclusivo do rastreamento.
O OrchestrationTraceconsiste no ModelInvocationInputobjeto, OrchestrationModelInvocationOutputobjeto e qualquer combinação dos objetos Razão InvocationInput, e Observação. A OrchestrationModelInvocationOutputcontém os seguintes campos. Para obter mais informações sobre objetos de InvocationInputRazão e Observação, selecione nas guias a seguir.
{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
Se type
for AGENT_COLLABORATOR
e se o roteamento estiver habilitado para o agente supervisor, OrchestrationModelInvocationOutputconterá a seguinte estrutura:
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" } }
O PostProcessingTraceconsiste em um ModelInvocationInputobjeto e um PostProcessingModelInvocationOutputobjeto. A PostProcessingModelInvocationOutputcontém os seguintes campos:
-
rawResponse
: contém a saída bruta do modelo de base.-
content
: o conteúdo de saída bruto do modelo de base.
-
-
metadata
: contém as informações a seguir sobre a saída do modelo de base.usage
: contém as informações a seguir sobre o uso do modelo de base.-
inputTokens
: contém as informações sobre os tokens de entrada do uso do modelo de base. -
outputTokens
: contém as informações sobre os tokens de saída do uso do modelo de base.
-
-
parsedResponse
: contém otext
a ser retornado para o usuário depois de o texto ser processado pela função analisadora. -
traceId
: o identificador exclusivo do rastreamento.
{ "failureReason": "string", "traceId": "string" }
A lista a seguir descreve os campos do objeto FailureTrace.
-
failureReason
: o motivo pelo qual a etapa falhou. -
traceId
: o identificador exclusivo do rastreamento.
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
A lista a seguir descreve os campos do GuardrailAssessment objeto:
-
action
: indica se as barreiras de proteção intervieram ou não nos dados de entrada. As opções sãoGUARDRAIL_INTERVENED
ouNONE
. -
inputAssessments
: os detalhes da avaliação da barreira de proteção na entrada do usuário. -
outputAssessments
: os detalhes da avaliação da barreira de proteção na resposta.
Para obter mais detalhes sobre o objeto GuardrailAssessment
e testar uma barreira de proteção, consulte Testar uma barreira de proteção.
GuardrailAssessment exemplo:
{ "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" }] } }