Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon Bedrock AgentCore Harness mit Step Functions aufrufen
Sie können Step Functions in Amazon Bedrock integrieren AgentCore , um einen Harness von Ihrem State Machine aus aufzurufen. Ein Harness ist eine verwaltete Laufzeit, die Modellinferenz, Werkzeugnutzung und Multi-Turn-Konversationen orchestriert. Suchen Sie in Workflow Studio nach AgentCore InvokeHarnessdiesem Status und ziehen Sie ihn in Ihren Workflow.
Im Konfigurationsfenster können Sie mit Quick Create Harness einen neuen Kabelbaum und eine neue Ausführungsrolle erstellen oder einen vorhandenen Harness-ARN auswählen. Wenn Sie einen vorhandenen Kabelbaum verwenden, können Sie Konfigurationen pro Aufruf überschreiben — Werte in Ihrer Task-State-Definition setzen die Harness-Standardeinstellungen außer Kraft. Die verfügbaren Parameter finden Sie InvokeHarnessin der Amazon Bedrock AgentCore API-Referenz. Weitere Informationen zu Harness-Ausführungsrollen finden Sie unter Runtime-Berechtigungen im Amazon Bedrock AgentCore Developer Guide.
Tipp
Aktivieren Sie die Transaktionssuche, um Ihre Agentenressourcen besser beobachtbar zu machen. CloudWatch Weitere Informationen finden Sie unter Hinzufügen von Observability zu Ihren Agenturressourcen im CloudWatch Amazon-Benutzerhandbuch.
Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an eine Service-API in Step Functions.
Hauptmerkmale von Optimized AgentCore Harness Integration
-
Nur das Request Response (Antwort anfordern) Integrationsmuster wird unterstützt. Die Warten Sie auf einen Rückruf mit Task Token Muster Ausführen einer Aufgabe (.sync) und werden nicht unterstützt.
-
Die Antwort wird in eine Converse-förmige JSON-Struktur umgewandelt. Nur die letzte Assistentennachricht wird zurückgegeben; frühere Runden in Konversationen mit mehreren Runden werden verworfen.
-
Metriken zur Token-Nutzung (
InputTokens,OutputTokens,TotalTokens) werden für alle Nachrichten in der Konversation aggregiert. -
In der Antwort ist nur Textinhalt enthalten. Blöcke zur Verwendung von Tools und zum Argumentieren werden
Output.Message.Contentweggelassen. -
Die Ausgabegröße unterliegt dem Ausgabelimit des Aufgabenstatus. Den aktuellen Wert finden Sie unterKontingente im Zusammenhang mit der Ausführung von Aufgaben.
-
Der
InvokeHarnessTask-Status hat eine maximale Ausführungszeit von 15 Minuten (900 Sekunden), auch wenn derTimeoutSecondsWert diesen Grenzwert überschreitet. Nach einem Timeout für den Task-Status wird die Ausführung des Harness fortgesetzt, bis der eigene konfigurierte Timeout erreicht ist. Um unerwartete Kosten zu vermeiden, stellen Sie sicher, dass Ihr Harness-Timeout 15 Minuten nicht überschreitet. -
In der Ansicht mit den Ausführungsdetails der Step Functions Functions-Konsole wird neben dem Agentenschritt ein CloudWatch Link angezeigt, der eine detaillierte Ansicht der Argumentation des Agenten einschließlich der Verwendung des Tools bietet.
Optimierte Amazon Bedrock AgentCore Harness-APIs
Die folgende API wird unterstützt:
InvokeHarness
Ruft einen Harness auf, um einen KI-Agenten auszuführen, der Tools verwenden, auf Speicher zugreifen und Multi-Turn-Konversationen ausführen kann.
Unterstütztes Muster: Nur Antwort auf Anfrage.
Die vollständige Anfragesyntax finden Sie InvokeHarnessin der Amazon Bedrock AgentCore API-Referenz.
Parameter in Step Functions werden ausgedrückt in PascalCase
Auch wenn sich die native Service-API in CamelCase befindet, z. B. die API-AktionstartSyncExecution, geben Sie Parameter in an PascalCase, z. B.:. StateMachineArn
Antwortfelder
-
Output.Message— Die letzte Assistentennachricht des Agenten. EnthältRole(immer"assistant") undContent(eine Reihe von Textblöcken). Nur die letzte Runde des Assistenten wird zurückgegeben. Frühere Runden in Konversationen mit mehreren Runden werden verworfen. -
Output.Message.Content— Reihe von Inhaltsblöcken. Jeder Block enthält einTextFeld mit dem Antworttext des Agenten. Es ist nur Textinhalt enthalten; Blöcke zur Verwendung von Tools und Argumentation werden weggelassen. -
StopReason— Warum der Agent aufgehört hat. Werte:end_turn,max_tokens,stop_sequence,tool_use. -
Usage— Metriken zum Token-Verbrauch, aggregiert über alle Runden hinweg. EnthältInputTokensOutputTokens, undTotalTokens. -
Metrics.LatencyMs— Gesamtlatenz bei Aufrufen in Millisekunden, aggregiert über alle Runden.
Antwortsyntax
{
"Output": {
"Message": {
"Role": "string",
"Content": [
{
"Text": "string"
}
]
}
},
"StopReason": "string",
"Usage": {
"InputTokens": long,
"OutputTokens": long,
"TotalTokens": long
},
"Metrics": {
"LatencyMs": long
}
}
Anmerkung
Durch das Stoppen einer Ausführung oder des Task-Status wird der Harness nicht daran gehindert, weiter ausgeführt zu werden.
Definition des Aufgabenstatus für die Amazon Bedrock-Integration AgentCore
Die folgenden Beispiele zeigen, wie ein Task-Status definiert wird, der einen Amazon AgentCore Bedrock-Harness aufruft.
Das RuntimeSessionId Feld identifiziert die Konversationssitzung. Verwenden Sie für mehrere Aufrufe dieselbe Sitzungs-ID, um eine Konversation fortzusetzen.
Anmerkung
Die Step Functions Functions-Ressourcen-URI verwendet bedrockagentcore (kein Bindestrich), während die Amazon AgentCore Bedrock-Ressourcen-ARNs bedrock-agentcore (mit Bindestrich) verwenden.
Beispiel einfacher Aufruf mit Modellüberschreibung und Systemaufforderung
{
"Type": "Task",
"Resource": "arn:aws:states:::bedrockagentcore:invokeHarness",
"Arguments": {
"HarnessArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:harness/my-agent-harness",
"RuntimeSessionId": "{% $uuid() %}",
"Messages": [
{
"Content": [{ "Text": "{% $states.input.userMessage %}" }],
"Role": "user"
}
],
"SystemPrompt": [{ "Text": "You are a helpful customer service agent." }],
"Model": {
"BedrockModelConfig": {
"Temperature": 0.7,
"ModelId": "global.anthropic.claude-sonnet-4-6"
}
},
"MaxIterations": 75,
"TimeoutSeconds": 600
},
"End": true
}Beispiel Aufruf mit Tools (Browser)
{
"Type": "Task",
"Resource": "arn:aws:states:::bedrockagentcore:invokeHarness",
"Arguments": {
"HarnessArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:harness/order-agent",
"RuntimeSessionId": "{% $uuid() %}",
"Messages": [
{
"Content": [{ "Text": "What is the status of order #12345?" }],
"Role": "user"
}
],
"Tools": [
{
"Type": "agentcore_browser",
"Name": "aws_browser_v1",
"Config": {
"AgentCoreBrowser": {
"BrowserArn": "arn:aws:bedrock-agentcore:us-east-1:aws:browser/aws.browser.v1"
}
}
}
],
"MaxIterations": 10,
"TimeoutSeconds": 300
},
"End": true
}Tipp
Sie können diesen Status mithilfe der TestStateAPI einzeln testen, bevor Sie eine vollständige Ausführung ausführen.
Fehlerbehandlung
Die InvokeHarness API kann mit einer Vielzahl von Fehlern fehlschlagen, darunter Drosselung, Überprüfung und Zugriffsverweigerung. Eine vollständige Liste finden Sie unter InvokeHarnessFehler in der Amazon Bedrock AgentCore API-Referenz.
Das folgende Beispiel zeigt einen Aufgabenstatus mit Catch Feldern Retry und zur Fehlerbehandlung:
{
"Type": "Task",
"Resource": "arn:aws:states:::bedrockagentcore:invokeHarness",
"Arguments": {
"HarnessArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:harness/my-harness",
"Messages": [
{
"Content": [{ "Text": "{% $states.input.userMessage %}" }],
"Role": "user"
}
]
},
"Retry": [
{
"ErrorEquals": ["BedrockAgentCore.ThrottlingException"],
"IntervalSeconds": 2,
"MaxAttempts": 3,
"BackoffRate": 2.0
}
],
"Catch": [
{
"ErrorEquals": ["BedrockAgentCore.ResourceNotFoundException"],
"Next": "HandleNotFound"
},
{
"ErrorEquals": ["States.ALL"],
"Next": "HandleError"
}
],
"End": true
}
IAM-Richtlinien für das Aufrufen von Amazon Bedrock AgentCore
Die folgenden Beispielvorlagen zeigen, wie IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM-Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.
Beispiele für IAM-Richtlinien für die Amazon Bedrock-Integration AgentCore
Die folgenden Beispiele zeigen, wie Sie IAM-Richtlinien für Ihre Step Functions Functions-Ausführungsrolle erstellen können, um mit Amazon AgentCore Bedrock-Ressourcen zu interagieren.
Ersetzen Sie in den folgenden Richtlinienbeispielen die Platzhalterwerte durch Ihre eigenen Werte.
IAM-Richtlinie zum Aufrufen eines bestimmten Harness
Die folgende Beispielrichtlinie ermöglicht das Aufrufen eines bestimmten Amazon AgentCore Bedrock-Harness per ARN.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeSpecificHarness",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:InvokeHarness",
"bedrock-agentcore:InvokeAgentRuntime"
],
"Resource": "arn:aws:bedrock-agentcore:region:accountId:harness/harnessName"
}
]
}
IAM-Richtlinie zum Aufrufen aller Kabelbäume in einem Konto
Die folgende Beispielrichtlinie ermöglicht das Aufrufen aller Amazon AgentCore Bedrock-Harness in Ihrem Konto. Wir empfehlen, sich nach Möglichkeit auf einen bestimmten Harness-ARN zu beschränken.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeAllHarnesses",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:InvokeHarness",
"bedrock-agentcore:InvokeAgentRuntime"
],
"Resource": "arn:aws:bedrock-agentcore:region:accountId:harness/*"
}
]
}
Anmerkung
Wenn Ihr Harness Tools wie Gateways, Browser oder Codeinterpreter verwendet, werden diese Berechtigungen für die Harness-Ausführungsrolle konfiguriert, nicht für die Ausführungsrolle Step Functions. Weitere Informationen finden Sie unter Harness Execution Role Permissions im Amazon AgentCore Bedrock-Benutzerhandbuch.