View a markdown version of this page

Rapport d'information récurrent - Amazon Bedrock AgentCore

Rapport d'information récurrent

Créez une configuration d'évaluation en ligne avec des informations et un calendrier de clustering. Le service exécute automatiquement une analyse des informations sur la cadence configurée sans intervention manuelle.

Création de la configuration

Exemple
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

Déployez ensuite via CloudFormation :

agentcore deploy -y --json
Interactive
  1. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Online Insights :

    Assistant Insights : sélectionnez l'agent à surveiller
  2. Sélectionnez les informations à activer :

    Assistant d'analyse : sélectionnez des informations
  3. Réglez le taux d'échantillonnage :

    Assistant Insights : définissez le taux d'échantillonnage
  4. Choisissez les fréquences de clustering :

    Assistant Insights : sélectionnez la fréquence de clustering
  5. Entrez un nom de configuration :

    Assistant Insights : entrez le nom de la configuration
  6. Vérifiez la configuration et appuyez sur Entrée pour confirmer :

    Assistant Insights : révision de la configuration
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}")

Cela indique au service de :

  • Exemples de sessions au taux configuré (100 % dans cet exemple : ajustez --sampling-rate ou samplingPercentage analysez un sous-ensemble du trafic).

  • Exécutez une analyse des défaillances et une extraction des intentions de l'utilisateur sur chaque session échantillonnée.

  • Déclenchez un rapport de clustering tous les jours.

Paramètres de configuration

Paramètre Type Obligatoire Description

insights

List

Obligatoire (mutuellement exclusif avecevaluators)

Liste des types d'informations à exécuter. Chaque entrée possède uninsightId. 10 au maximum.

rule.samplingConfig.samplingPercentage

Number

Non (par défaut : 100)

Pourcentage de sessions à analyser (1 à 100) Utilisez un taux d'échantillonnage inférieur pour les agents à fort trafic afin de contrôler les coûts tout en identifiant les modèles de défaillance.

clusteringConfig

Objet

Non

Configure les tâches d'évaluation par lots périodiques pour le clustering. Contient une frequencies liste. Ne peut être utilisé que lorsqu'il insights est fourni.

clusteringConfig.frequencies

Liste de chaînes

Oui (à l'intérieurclusteringConfig)

Un ou plusieurs des :DAILY,WEEKLY,MONTHLY. 3 valeurs maximum.

Note

Les informations et les évaluateurs s'excluent mutuellement : vous devez fournir l'un ou l'autre, pas les deux. Si vous souhaitez obtenir à la fois un score de qualité et un triage des défaillances pour le même agent, créez deux configurations distinctes pointant vers la même source de données.

Mettre à jour une configuration

Modifiez les informations ou la fréquence de clustering :

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

Afficher les résultats des rapports récurrents

Les rapports récurrents produisent automatiquement des tâches d'évaluation par lots. ListBatchEvaluationsÀ utiliser pour rechercher les rapports complets, puis GetBatchEvaluation pour récupérer les résultats :

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")

Gérer la configuration

Exemple
AgentCore CLI

Pause :

agentcore pause online-insights my_agent_insights --json

CV :

agentcore resume online-insights my_agent_insights --json

Supprimer :

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

Pause ou reprise :

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

Supprimer :

client_cp.delete_online_evaluation_config( onlineEvaluationConfigId=config_id, )
Avertissement

La suppression d'une configuration ne supprime pas les résultats des évaluations par lots passées. Les résultats des aperçus historiques restent accessibles viaGetBatchEvaluation.