View a markdown version of this page

반복 인사이트 보고서 - Amazon Bedrock AgentCore

반복 인사이트 보고서

인사이트와 클러스터링 일정을 사용하여 온라인 평가 구성을 생성합니다. 서비스는 수동 개입 없이 구성된 주기에 대한 인사이트 분석을 자동으로 실행합니다.

구성 생성

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

그런 다음 CloudFormation을 통해 배포합니다.

agentcore deploy -y --json
Interactive
  1. 를 실행agentcore하여 TUI를 연 다음 추가를 선택하고 온라인 인사이트를 선택합니다.

    인사이트 마법사: 모니터링할 에이전트 선택
  2. 활성화할 인사이트를 선택합니다.

    인사이트 마법사: 인사이트 선택
  3. 샘플링 속도를 설정합니다.

    인사이트 마법사: 샘플링 속도 설정
  4. 클러스터링 빈도를 선택합니다.

    인사이트 마법사: 클러스터링 빈도 선택
  5. 구성 이름을 입력합니다.

    인사이트 마법사: 구성 이름 입력
  6. 구성을 검토하고 Enter 키를 눌러 확인합니다.

    인사이트 마법사: 구성 검토
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}")

이는 서비스에 다음을 지시합니다.

  • 구성된 속도의 샘플 세션(이 예제에서는 100% - 트래픽의 하위 집합을 분석samplingPercentage하려면 --sampling-rate 또는 조정).

  • 샘플링된 각 세션에서 실패 분석 및 사용자 의도 추출을 실행합니다.

  • 매일 클러스터링 보고서를 트리거합니다.

구성 파라미터

파라미터 유형 필수 설명

insights

목록

필수(에서 상호 배타적evaluators)

실행할 인사이트 유형의 목록입니다. 각 항목에는이 있습니다insightId. 최대 10개.

rule.samplingConfig.samplingPercentage

숫자

아니요(기본값: 100)

분석할 세션의 비율(1~100). 트래픽이 많은 에이전트에 대해 더 낮은 샘플링 비율을 사용하여 실패 패턴을 계속 표시하면서 비용을 제어할 수 있습니다.

clusteringConfig

객체

아니요

클러스터링을 위한 주기적 배치 평가 작업을 구성합니다. frequencies 목록을 포함합니다. 가 제공된 경우에만 사용할 수 insights 있습니다.

clusteringConfig.frequencies

문자열 목록

예( 내에서clusteringConfig)

다음 중 하나 이상: DAILY, WEEKLY, MONTHLY. 최대 3개의 값.

참고

인사이트와 평가자는 상호 배타적이므로 둘 다 제공해서는 안 됩니다. 동일한 에이전트에 대한 품질 점수 및 실패 분류를 모두 원하는 경우 동일한 데이터 소스를 가리키는 두 개의 개별 구성을 생성합니다.

구성 업데이트

인사이트 또는 클러스터링 빈도를 수정합니다.

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

반복 보고서 결과 보기

반복 보고서는 배치 평가 작업을 자동으로 생성합니다. ListBatchEvaluations를 사용하여 완료된 보고서를 찾은 다음 GetBatchEvaluation를 사용하여 결과를 검색합니다.

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

구성 관리

AgentCore CLI

일시 중지:

agentcore pause online-insights my_agent_insights --json

재개:

agentcore resume online-insights my_agent_insights --json

제거:

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

일시 중지 또는 재개:

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

Delete:

client_cp.delete_online_evaluation_config( onlineEvaluationConfigId=config_id, )
주의

구성을 삭제해도 과거 배치 평가 결과는 삭제되지 않습니다. 과거 인사이트 결과는를 통해 계속 액세스할 수 있습니다GetBatchEvaluation.