

# Gere uma recomendação a partir das descobertas do Insights
<a name="insights-generate-recommendation"></a>

Depois de analisar seus resultados de insights, você pode usar os mesmos rastreamentos de agentes para gerar um prompt aprimorado do sistema. Aponte `StartRecommendation` para a avaliação completa do lote que produziu suas descobertas de insights.

**nota**  
Atualmente, a geração de recomendações é suportada apenas para `Builtin.Insight.FailureAnalysis` insights, e somente recomendações imediatas do sistema são fornecidas atualmente.

**Topics**
+ [Inicie uma recomendação imediata do sistema](#insights-recommendation-start)
+ [Recupere o prompt recomendado](#insights-recommendation-retrieve)
+ [Fontes alternativas de rastreamento](#insights-recommendation-trace-sources)

## Inicie uma recomendação imediata do sistema
<a name="insights-recommendation-start"></a>

Forneça o prompt atual do sistema e faça referência à avaliação em lote que contém os rastreamentos:

**Example**  
Gere uma recomendação a partir de uma análise completa de insights:  

```
agentcore run recommendation --from-insights <id> --type system-prompt --bundle-name my_bundle --json
```
Ou faça referência diretamente a um ARN de avaliação de lote:  

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

1. Executar `agentcore` para abrir a TUI, selecione **executar** e escolha **Recomendação**:  
![Menu Executar: selecione Recomendação](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-run-select.png)

   O assistente orienta você na seleção de uma fonte de rastreamento (ARN de execução de insights ou de avaliação em lote), tipo de recomendação e pacote de configuração.

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

## Recupere o prompt recomendado
<a name="insights-recommendation-retrieve"></a>

Pesquise até concluir e, em seguida, recupere o resultado:

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

## Fontes alternativas de rastreamento
<a name="insights-recommendation-trace-sources"></a>

Em vez de fazer referência a uma avaliação em lote, você também pode fornecer rastreamentos por meio de CloudWatch registros:

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