

# インサイトの検出結果からレコメンデーションを生成する
<a name="insights-generate-recommendation"></a>

インサイトの結果を確認したら、同じエージェントトレースを使用して改善されたシステムプロンプトを生成できます。インサイトの検出結果を生成した完了したバッチ評価`StartRecommendation`をポイントします。

**注記**  
現在、レコメンデーションの生成は`Builtin.Insight.FailureAnalysis`インサイトでのみサポートされており、システムプロンプトのレコメンデーションのみが現在提供されています。

**Topics**
+ [システムプロンプトのレコメンデーションを開始する](#insights-recommendation-start)
+ [推奨プロンプトを取得する](#insights-recommendation-retrieve)
+ [代替トレースソース](#insights-recommendation-trace-sources)

## システムプロンプトのレコメンデーションを開始する
<a name="insights-recommendation-start"></a>

現在のシステムプロンプトを指定し、トレースを含むバッチ評価を参照します。

**Example**  
完了したインサイト実行からレコメンデーションを生成します。  

```
agentcore run recommendation --from-insights <id> --type system-prompt --bundle-name my_bundle --json
```
または、バッチ評価 ARN を直接参照します。  

```
agentcore run recommendation --batch-evaluation-arn <arn> --type system-prompt --bundle-name my_bundle --json
```

1. `agentcore` を実行して TUI を開き、**実行**を選択して**レコメンデーション**を選択します。  
![実行メニュー: レコメンデーションを選択する](http://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/insights-run-select.png)

   ウィザードは、トレースソース (インサイト実行またはバッチ評価 ARN)、レコメンデーションタイプ、および設定バンドルの選択をガイドします。

```
import boto3
import uuid

client = boto3.client("bedrock-agentcore", region_name="us-west-2")

response = client.start_recommendation(
    name=f"fix-rate-limiting-{uuid.uuid4().hex[:8]}",
    type="SYSTEM_PROMPT_RECOMMENDATION",
    recommendationConfig={
        "systemPromptRecommendationConfig": {
            "systemPrompt": {
                "text": "You are a helpful customer support assistant. Help users with their orders and returns."
            },
            "agentTraces": {
                "batchEvaluation": {
                    "batchEvaluationArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:batch-evaluate/insights-run-ABC1234567"
                }
            },
        }
    },
    clientToken=str(uuid.uuid4()),
)

recommendation_id = response["recommendationId"]
print(f"Started recommendation: {recommendation_id}")
```

## 推奨プロンプトを取得する
<a name="insights-recommendation-retrieve"></a>

完了するまでポーリングし、結果を取得します。

```
import time

while True:
    rec = client.get_recommendation(recommendationId=recommendation_id)
    if rec["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(15)

if rec["status"] == "COMPLETED":
    result = rec["recommendationResult"]["systemPromptRecommendationResult"]
    print(f"Recommended prompt:\n{result['recommendedSystemPrompt']}")
    print(f"\nExplanation:\n{result['explanation']}")
```

## 代替トレースソース
<a name="insights-recommendation-trace-sources"></a>

バッチ評価を参照する代わりに、CloudWatch Logs を介してトレースを指定することもできます。

```
"agentTraces": {
    "cloudwatchLogs": {
        "logGroupArns": [
            "arn:aws:logs:us-west-2:123456789012:log-group:/aws/bedrock-agentcore/runtimes/MyAgent-abc123-DEFAULT"
        ],
        "serviceNames": ["MyAgent.DEFAULT"],
        "startTime": "2026-05-27T00:00:00Z",
        "endTime": "2026-06-03T00:00:00Z",
    }
}
```