

# 반복 인사이트 보고서
<a name="insights-recurring-report"></a>

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

**Topics**
+ [구성 생성](#insights-recurring-create)
+ [구성 파라미터](#insights-recurring-params)
+ [구성 업데이트](#insights-recurring-update)
+ [반복 보고서 결과 보기](#insights-recurring-view)
+ [구성 관리](#insights-recurring-manage)

## 구성 생성
<a name="insights-recurring-create"></a>

**Example**  

```
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
```

1. 를 실행`agentcore`하여 TUI를 연 다음 **추가**를 선택하고 **온라인 인사이트를** 선택합니다.  
![인사이트 마법사: 모니터링할 에이전트 선택](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-agent.png)

1. 활성화할 인사이트를 선택합니다.  
![인사이트 마법사: 인사이트 선택](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-insights.png)

1. 샘플링 속도를 설정합니다.  
![인사이트 마법사: 샘플링 속도 설정](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-sampling-rate.png)

1. 클러스터링 빈도를 선택합니다.  
![인사이트 마법사: 클러스터링 빈도 선택](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-clustering.png)

1. 구성 이름을 입력합니다.  
![인사이트 마법사: 구성 이름 입력](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-name.png)

1. 구성을 검토하고 Enter 키를 눌러 확인합니다.  
![인사이트 마법사: 구성 검토](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/images/tui/insights-add-confirm.png)

```
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` 또는 조정).
+ 샘플링된 각 세션에서 실패 분석 및 사용자 의도 추출을 실행합니다.
+ 매일 클러스터링 보고서를 트리거합니다.

## 구성 파라미터
<a name="insights-recurring-params"></a>


| 파라미터 | 유형 | 필수 | 설명 | 
| --- | --- | --- | --- | 
|  `insights`  | 목록 | 필수(에서 상호 배타적`evaluators`) | 실행할 인사이트 유형의 목록입니다. 각 항목에는이 있습니다`insightId`. 최대 10개. | 
|  `rule.samplingConfig.samplingPercentage`  | 숫자 | 아니요(기본값: 100) | 분석할 세션의 비율(1\~100). 트래픽이 많은 에이전트에 대해 더 낮은 샘플링 비율을 사용하여 실패 패턴을 계속 표시하면서 비용을 제어할 수 있습니다. | 
|  `clusteringConfig`  | 객체 | 아니요 | 클러스터링을 위한 주기적 배치 평가 작업을 구성합니다. `frequencies` 목록을 포함합니다. 가 제공된 경우에만 사용할 수 `insights` 있습니다. | 
|  `clusteringConfig.frequencies`  | 문자열 목록 | 예( 내에서`clusteringConfig`) | 다음 중 하나 이상: `DAILY`, `WEEKLY`, `MONTHLY`. 최대 3개의 값. | 

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

## 구성 업데이트
<a name="insights-recurring-update"></a>

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

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

## 반복 보고서 결과 보기
<a name="insights-recurring-view"></a>

반복 보고서는 배치 평가 작업을 자동으로 생성합니다. `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")
```

## 구성 관리
<a name="insights-recurring-manage"></a>

**Example**  
일시 중지:  

```
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
```
일시 중지 또는 재개:  

```
# 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`.