View a markdown version of this page

Empfehlung einholen - Amazon Grundgestein AgentCore

Empfehlung einholen

Rufen Sie den Status und die Ergebnisse einer Empfehlung ab. Rufen Sie diesen Vorgang ab, bis die Empfehlung einen Endstatus (COMPLETEDoderFAILED) erreicht.

Codebeispiele

Beispiel
AgentCore CLI

agentcore run recommendationsendet einen Fire-and-Forget-Job. Gehen Sie --wait zum Blockieren über, bis ein Terminalstatus erreicht ist, oder überprüfen Sie ihn später anhand der ID:

agentcore view recommendation <recommendation-id>

Alle Empfehlungsjobs auflisten oder als JSON anzeigen:

agentcore view recommendation agentcore view recommendation <recommendation-id> --json
AWS SDK (boto3)

Fragen Sie bis zur Fertigstellung ab und extrahieren Sie das Ergebnis:

import time import boto3 client = boto3.client("bedrock-agentcore", region_name="us-west-2") # Poll until terminal state while True: result = client.get_recommendation(recommendationId=recommendation_id) status = result["status"] print(f"Status: {status}") if status in ("COMPLETED", "FAILED"): break time.sleep(15) # Extract system prompt result if status == "COMPLETED": rec_result = result.get("recommendationResult", {}) if "systemPromptRecommendationResult" in rec_result: sys_result = rec_result["systemPromptRecommendationResult"] print(f"Recommended prompt:\n{sys_result['recommendedSystemPrompt']}") if "explanation" in sys_result: print(f"Explanation:\n{sys_result['explanation']}") if "configurationBundle" in sys_result: bundle = sys_result["configurationBundle"] print(f"New bundle version: {bundle['versionId']}") elif "toolDescriptionRecommendationResult" in rec_result: tool_result = rec_result["toolDescriptionRecommendationResult"] for tool in tool_result.get("tools", []): print(f"{tool['toolName']}: {tool['recommendedToolDescription']}") if "explanation" in tool: print(f" Explanation: {tool['explanation']}") elif status == "FAILED": rec_result = result.get("recommendationResult", {}) r = rec_result.get("systemPromptRecommendationResult") or rec_result.get("toolDescriptionRecommendationResult") print(f"Error: [{r['errorCode']}] {r['errorMessage']}")

Extrahieren Sie die Referenz zum Konfigurationspaket zur Verwendung beim A/B Testen:

result = client.get_recommendation(recommendationId=recommendation_id) if result["status"] == "COMPLETED": rec_result = result["recommendationResult"] sys_result = rec_result.get("systemPromptRecommendationResult", {}) if "configurationBundle" in sys_result: bundle_arn = sys_result["configurationBundle"]["bundleArn"] version_id = sys_result["configurationBundle"]["versionId"] print(f"Use in A/B test: bundle={bundle_arn}, version={version_id}")

Anforderungsparameter

Parameter Typ Erforderlich Beschreibung

recommendationId

Zeichenfolge

Ja

Die von zurückgegebene Empfehlungs-IDStartRecommendation. Als Pfadparameter übergeben.

Antwort

Feld Typ Description

recommendationId

Zeichenfolge

Eindeutige ID für die Empfehlung.

recommendationArn

Zeichenfolge

ARN der Empfehlung.

name

Zeichenfolge

Der Name der Empfehlung.

type

Zeichenfolge

SYSTEM_PROMPT_RECOMMENDATION oder TOOL_DESCRIPTION_RECOMMENDATION.

status

Zeichenfolge

Aktueller Status: PENDINGIN_PROGRESS,COMPLETED,FAILED, oderDELETING.

recommendationConfig

Objekt

Die Konfiguration, die Sie eingereicht haben.

recommendationResult

Objekt

Anwesend, wenn der Status lautetCOMPLETED. Enthält die optimierte Konfiguration. Die Form hängt vom Empfehlungstyp ab.

createdAt

Zeitstempel

Wann die Empfehlung erstellt wurde.

updatedAt

Zeitstempel

Wann die Empfehlung zuletzt aktualisiert wurde.

Ergebnisfelder der Systemaufforderung

VorhandenrecommendationResult.systemPromptRecommendationResult, wenn der Typ istSYSTEM_PROMPT_RECOMMENDATION:

Feld Typ Description

recommendedSystemPrompt

Zeichenfolge

Der optimierte Systemaufforderungstext.

configurationBundle

Objekt

Vorhanden, wenn es sich bei der Eingabe um ein Konfigurationspaket handelte. Enthält bundleArn und versionId für die neue Bundle-Version.

explanation

Zeichenfolge

Eine Erklärung, warum die Empfehlung erstellt wurde, und die Gründe für die vorgeschlagenen Änderungen.

errorCode

Zeichenfolge

Im Fehlerfall vorhanden. Fehlercode.

errorMessage

Zeichenfolge

Im Fehlerfall präsent. Human-readable Beschreibung.

Ergebnisfelder für die Beschreibung des Werkzeugs

VorhandenrecommendationResult.toolDescriptionRecommendationResult, wenn der Typ istTOOL_DESCRIPTION_RECOMMENDATION:

Feld Typ Description

tools

Auflisten

Per-tool Ergebnisse. Jeder Eintrag enthält toolNamerecommendedToolDescription, undexplanation.

configurationBundle

Objekt

Vorhanden, wenn es sich bei der Eingabe um ein Konfigurationspaket handelte. Enthält bundleArn und versionId für die neue Bundle-Version.

errorCode

Zeichenfolge

Bei einem Fehler vorhanden. Fehlercode.

errorMessage

Zeichenfolge

Im Fehlerfall präsent. Human-readable Beschreibung.

Beispielantworten

Empfehlung zur Systemaufforderung abgeschlossen (Inline-Eingabe):

{ "recommendationId": "MyPromptRec-Ab1Cd2Ef3G", "recommendationArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:recommendation/MyPromptRec-Ab1Cd2Ef3G", "name": "my-prompt-rec", "type": "SYSTEM_PROMPT_RECOMMENDATION", "status": "COMPLETED", "recommendationConfig": { ... }, "recommendationResult": { "systemPromptRecommendationResult": { "recommendedSystemPrompt": "<optimized system prompt text>", "explanation": "<explanation of why the recommendation was generated>" } }, "createdAt": "2025-03-15T10:00:00Z", "updatedAt": "2025-03-15T10:05:30Z" }

Empfehlung zur Systemaufforderung abgeschlossen (Eingabe des Konfigurationspakets):

{ "recommendationId": "MyBundleRec-Xy9Zw8Vq1R", "recommendationArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:recommendation/MyBundleRec-Xy9Zw8Vq1R", "name": "my-bundle-prompt-rec", "type": "SYSTEM_PROMPT_RECOMMENDATION", "status": "COMPLETED", "recommendationConfig": { ... }, "recommendationResult": { "systemPromptRecommendationResult": { "recommendedSystemPrompt": "<optimized system prompt text>", "configurationBundle": { "bundleArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:configuration-bundle/myBundle-Ab1Cd2Ef3G", "versionId": "12345678-1234-1234-1234-123456789012" }, "explanation": "<explanation of why the recommendation was generated>" } }, "createdAt": "2025-03-15T10:00:00Z", "updatedAt": "2025-03-15T10:06:12Z" }

Empfehlung zur Beschreibung des Tools abgeschlossen:

{ "recommendationId": "MyToolRec-Qr5St6Uv7W", "recommendationArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:recommendation/MyToolRec-Qr5St6Uv7W", "name": "my-tool-rec", "type": "TOOL_DESCRIPTION_RECOMMENDATION", "status": "COMPLETED", "recommendationConfig": { ... }, "recommendationResult": { "toolDescriptionRecommendationResult": { "tools": [ { "toolName": "<tool-name-1>", "recommendedToolDescription": "<optimized description for tool 1>", "explanation": "<explanation of why this tool description was changed>" }, { "toolName": "<tool-name-2>", "recommendedToolDescription": "<optimized description for tool 2>", "explanation": "<explanation of why this tool description was changed>" } ] } }, "createdAt": "2025-03-15T11:00:00Z", "updatedAt": "2025-03-15T11:04:45Z" }

Fehlgeschlagene Empfehlung:

{ "recommendationId": "MyFailedRec-Mn3Op4Qr5S", "recommendationArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:recommendation/MyFailedRec-Mn3Op4Qr5S", "name": "my-failed-rec", "type": "SYSTEM_PROMPT_RECOMMENDATION", "status": "FAILED", "recommendationConfig": { ... }, "recommendationResult": { "systemPromptRecommendationResult": { "errorCode": "<error-code>", "errorMessage": "<human-readable error description>" } }, "createdAt": "2025-03-15T12:00:00Z", "updatedAt": "2025-03-15T12:01:10Z" }

Fehler

Fehler HTTP-Status Description

ResourceNotFoundException

404

Keine Empfehlung mit der angegebenen ID gefunden.

ValidationException

400

Ungültiges Format der Empfehlungs-ID.

AccessDeniedException

403

Unzureichende Berechtigungen.

ThrottlingException

429

Die Anforderungsrate wurde überschritten.

InternalServerException

500

Service-side Fehler.