View a markdown version of this page

Relatório de insights recorrentes - Amazon Bedrock AgentCore

Relatório de insights recorrentes

Crie uma configuração de avaliação on-line com insights e um cronograma de agrupamento. O serviço executa automaticamente análises de insights sobre a cadência configurada sem intervenção manual.

Crie a configuração

exemplo
AgentCore CLI
agentcore add online-insights --name my_agent_insights --runtime MyAgent --insights Builtin.Insight.FailureAnalysis --sampling-rate 100 --clustering-frequency DAILY --enable-on-create --json

Em seguida, implante por meio de CloudFormation:

agentcore deploy -y --json
Interactive
  1. Execute agentcore para abrir a TUI, selecione adicionar e escolha Online Insights:

    Assistente de insights: selecione o agente para monitorar
  2. Selecione os insights para ativar:

    Assistente de insights: selecione insights
  3. Defina a taxa de amostragem:

    Assistente do Insights: defina a taxa de amostragem
  4. Escolha as frequências de agrupamento:

    Assistente do Insights: selecione a frequência de agrupamento
  5. Insira um nome de configuração:

    Assistente do Insights: insira o nome da configuração
  6. Revise a configuração e pressione Enter para confirmar:

    Assistente do Insights: revise a configuração
AWS SDK (boto3)
import boto3 client_cp = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client_cp.create_online_evaluation_config( onlineEvaluationConfigName="my_agent_insights", rule={ "samplingConfig": {"samplingPercentage": 100.0}, "sessionConfig": {"sessionTimeoutMinutes": 30}, }, dataSourceConfig={ "cloudWatchLogs": { "serviceNames": ["MyAgent.DEFAULT"], "logGroupNames": [ "/aws/bedrock-agentcore/runtimes/MyAgent-abc123-DEFAULT" ], } }, insights=[ {"insightId": "Builtin.Insight.FailureAnalysis"}, {"insightId": "Builtin.Insight.UserIntent"}, ], clusteringConfig={"frequencies": ["DAILY"]}, evaluationExecutionRoleArn="arn:aws:iam::123456789012:role/AgentCoreEvaluationRole", enableOnCreate=True, ) config_id = response["onlineEvaluationConfigId"] print(f"Created config: {config_id}")

Isso faz com que o serviço:

  • Amostra de sessões na taxa configurada (100% neste exemplo — ajuste --sampling-rate ou samplingPercentage analise um subconjunto do tráfego).

  • Execute a análise de falhas e a extração da intenção do usuário em cada sessão amostrada.

  • Acione um relatório de agrupamento diariamente.

Parâmetros de configuração

Parâmetro Tipo Obrigatório Description

insights

Lista

Obrigatório (mutuamente exclusivo comevaluators)

Lista de tipos de insights a serem executados. Cada entrada tem uminsightId. Máximo 10.

rule.samplingConfig.samplingPercentage

Número

Não (padrão: 100)

Porcentagem de sessões a serem analisadas (1—100). Use uma taxa de amostragem mais baixa para agentes de alto tráfego para controlar os custos e, ao mesmo tempo, identificar padrões de falha.

clusteringConfig

Objeto

Não

Configura trabalhos periódicos de avaliação em lote para agrupamento. Contém uma frequencies lista. Só pode ser usado quando insights fornecido.

clusteringConfig.frequencies

Lista de strings

Sim (dentroclusteringConfig)

Um ou mais de:DAILY,WEEKLY,MONTHLY. Máximo de 3 valores.

nota

Os insights e os avaliadores são mutuamente exclusivos — você deve fornecer um ou outro, não os dois. Se você quiser pontuação de qualidade e triagem de falhas para o mesmo agente, crie duas configurações separadas apontando para a mesma fonte de dados.

Atualizar uma configuração

Modifique os insights ou a frequência do agrupamento:

client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, insights=[ {"insightId": "Builtin.Insight.FailureAnalysis"}, {"insightId": "Builtin.Insight.UserIntent"}, ], clusteringConfig={"frequencies": ["DAILY", "WEEKLY"]}, )

Exibir resultados de relatórios recorrentes

Relatórios recorrentes produzem trabalhos de avaliação em lote automaticamente. Use ListBatchEvaluations para encontrar relatórios concluídos e, em seguida, GetBatchEvaluation para recuperar os resultados:

client = boto3.client("bedrock-agentcore", region_name="us-west-2") # List recent batch evaluations evaluations = client.list_batch_evaluations() for eval_summary in evaluations.get("batchEvaluations", []): if eval_summary["status"] == "COMPLETED" and eval_summary.get("insights"): result = client.get_batch_evaluation( batchEvaluationId=eval_summary["batchEvaluationId"] ) print(f"Report: {eval_summary['batchEvaluationName']}") if "failureAnalysisResult" in result: failures = result["failureAnalysisResult"]["failures"] print(f" Found {len(failures)} failure categories")

Gerenciar a configuração

exemplo
AgentCore CLI

Pausa:

agentcore pause online-insights my_agent_insights --json

Currículo:

agentcore resume online-insights my_agent_insights --json

Remover:

agentcore remove online-insights --name my_agent_insights --yes --json
AWS SDK (boto3)

Pausar ou retomar:

# Pause client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, executionStatus="DISABLED", ) # Resume client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, executionStatus="ENABLED", )

Excluir:

client_cp.delete_online_evaluation_config( onlineEvaluationConfigId=config_id, )
Atenção

A exclusão de uma configuração não exclui os resultados anteriores da avaliação em lote. Os resultados históricos do insight permanecem acessíveis por meio deGetBatchEvaluation.