

# Générer une recommandation à partir des résultats des analyses
<a name="insights-generate-recommendation"></a>

Après avoir examiné les résultats de vos analyses, vous pouvez utiliser les mêmes traces d'agents pour générer une invite système améliorée. Pointez du `StartRecommendation` doigt l'évaluation par lots terminée qui a produit les résultats de vos analyses.

**Note**  
La génération de recommandations n'est actuellement prise en charge que pour `Builtin.Insight.FailureAnalysis` obtenir des informations, et seules les recommandations rapides du système sont fournies aujourd'hui.

**Topics**
+ [Lancer une recommandation rapide du système](#insights-recommendation-start)
+ [Récupérez l'invite recommandée](#insights-recommendation-retrieve)
+ [Sources de traces alternatives](#insights-recommendation-trace-sources)

## Lancer une recommandation rapide du système
<a name="insights-recommendation-start"></a>

Fournissez l'invite de votre système actuel et faites référence à l'évaluation du lot contenant les traces :

**Example**  
Générez une recommandation à partir d'une analyse d'informations terminée :  

```
agentcore run recommendation --from-insights <id> --type system-prompt --bundle-name my_bundle --json
```
Ou référencez directement un ARN d'évaluation par lots :  

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

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez **Exécuter** et choisissez **Recommandation** :  
![Menu Exécuter : sélectionnez Recommandation](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-run-select.png)

   L'assistant vous guide dans la sélection d'une source de trace (Insights Run ou ARN d'évaluation par lots), d'un type de recommandation et d'un bundle de configuration.

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

## Récupérez l'invite recommandée
<a name="insights-recommendation-retrieve"></a>

Interrogez jusqu'à la fin, puis récupérez le résultat :

```
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']}")
```

## Sources de traces alternatives
<a name="insights-recommendation-trace-sources"></a>

Au lieu de référencer une évaluation par lots, vous pouvez également fournir des traces via 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",
    }
}
```