Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Richiama il AgentCore cablaggio Amazon Bedrock con Step Functions
Puoi integrare Step Functions con Amazon Bedrock AgentCore per richiamare un cablaggio dalla tua macchina a stati. Un harness è un runtime gestito che orchestra l'inferenza del modello, l'uso degli strumenti e le conversazioni a turni multipli. In Workflow Studio, cerca AgentCore InvokeHarnessquesto stato e trascinalo nel tuo flusso di lavoro.
Dal pannello di configurazione, è possibile creare un nuovo cablaggio e un nuovo ruolo di esecuzione utilizzando Quick Create Harness o selezionare un ARN del cablaggio esistente. Quando si utilizza un cablaggio esistente, è possibile sovrascrivere le configurazioni in base alla chiamata: i valori nella definizione dello stato del task hanno la precedenza sui valori predefiniti del cablaggio. Per i parametri disponibili, InvokeHarnessconsulta Amazon Bedrock AgentCore API Reference. Per ulteriori informazioni sui ruoli di esecuzione dell'harness, consulta le autorizzazioni di runtime nella Amazon Bedrock AgentCore Developer Guide.
Suggerimento
Per aggiungere osservabilità alle tue risorse agentiche, abilita Transaction Search. CloudWatch Per ulteriori informazioni, consulta Aggiungi osservabilità alle tue risorse agentiche nella Amazon CloudWatch User Guide.
Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere Integrazione dei servizi ePassaggio di parametri a un'API di servizio in Step Functions.
Caratteristiche principali dell'integrazione ottimizzata dei AgentCore cablaggi
-
È supportato solo il modello di Richiesta e risposta integrazione. I Attendi una richiamata con Task Token modelli Esegui un processo (.sync) and non sono supportati.
-
La risposta viene trasformata in una struttura JSON a forma di Converse. Viene restituito solo il messaggio finale dell'assistente; i turni precedenti nelle conversazioni a più turni vengono scartati.
-
Le metriche sull'utilizzo dei token (
InputTokens,OutputTokens,TotalTokens) vengono aggregate per tutti i messaggi della conversazione. -
Nella risposta è incluso solo il contenuto testuale. I blocchi relativi all'uso degli strumenti e al ragionamento sono omessi da.
Output.Message.Content -
La dimensione dell'output è soggetta al limite di output dello stato dell'operazione. Per il valore corrente, vedereQuote relative all'esecuzione delle attività.
-
Lo stato
InvokeHarnessTask ha un tempo di esecuzione massimo di 15 minuti (900 secondi), anche se ilTimeoutSecondsvalore supera tale limite. Dopo il timeout dello stato Task, l'harness continua l'esecuzione fino a raggiungere il timeout configurato. Per evitare costi imprevisti, assicuratevi che il timeout del cablaggio non superi i 15 minuti. -
La visualizzazione dei dettagli di esecuzione della console Step Functions mostra un CloudWatch collegamento accanto alla fase dell'agente, che fornisce una panoramica dettagliata del ragionamento dell'agente, incluso l'uso dello strumento.
API di AgentCore cablaggio Amazon Bedrock ottimizzate
Sono supportate le seguenti API:
InvokeHarness
Richiama un cablaggio per eseguire un agente AI in grado di utilizzare strumenti, accedere alla memoria ed eseguire conversazioni a più turni.
Modello supportato: solo Request Response.
Per la sintassi completa della richiesta, consulta InvokeHarnessAmazon Bedrock AgentCore API Reference.
Parametri in Step Functions sono espressi in PascalCase
Anche se l'API del servizio nativo è in CamelCase, ad esempio l'startSyncExecutionazione API, si specificano parametri PascalCase in, ad esempio:. StateMachineArn
Campi di risposta
-
Output.Message— L'ultimo messaggio dell'assistente dell'agente. ContieneRole(sempre"assistant") eContent(una serie di blocchi di testo). Viene restituito solo l'ultimo turno dell'assistente; i turni precedenti nelle conversazioni a più turni vengono scartati. -
Output.Message.Content— Serie di blocchi di contenuto. Ogni blocco contiene unTextcampo con il testo della risposta dell'agente. È incluso solo il contenuto testuale; i blocchi relativi all'uso degli strumenti e al ragionamento vengono omessi. -
StopReason— Perché l'agente si è fermato. Valori:end_turn,max_tokens,stop_sequence,tool_use. -
Usage— Metriche sul consumo di token aggregate in tutti i turni. ContieneInputTokens, eOutputTokens.TotalTokens -
Metrics.LatencyMs— Latenza totale di invocazione in millisecondi, aggregata su tutti i turni.
Sintassi della risposta
{
"Output": {
"Message": {
"Role": "string",
"Content": [
{
"Text": "string"
}
]
}
},
"StopReason": "string",
"Usage": {
"InputTokens": long,
"OutputTokens": long,
"TotalTokens": long
},
"Metrics": {
"LatencyMs": long
}
}
Nota
L'interruzione di un'esecuzione o dello stato dell'operazione non impedisce all'harness di continuare a funzionare.
Definizione dello stato delle attività per l'integrazione con Amazon Bedrock AgentCore
I seguenti esempi mostrano come definire uno stato Task che richiami un harness Amazon AgentCore Bedrock.
Il RuntimeSessionId campo identifica la sessione di conversazione. Usa lo stesso ID di sessione per tutte le chiamate per continuare una conversazione.
Nota
L'URI della risorsa Step Functions utilizza bedrockagentcore (senza trattino), mentre gli ARN AgentCore delle risorse Amazon Bedrock utilizzano bedrock-agentcore (con trattino).
Esempio invocazione di base con modifica del modello e prompt di sistema
{
"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
}Esempio invocazione con strumenti (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
}Suggerimento
È possibile testare questo stato singolarmente utilizzando l'TestStateAPI prima di eseguire un'esecuzione completa.
Gestione degli errori
L'InvokeHarnessAPI può fallire con una serie di errori, tra cui limitazione, convalida ed errori di accesso negato. Per un elenco completo, consulta InvokeHarnessgli errori nell'Amazon Bedrock AgentCore API Reference.
L'esempio seguente mostra uno stato di Task con Retry Catch campi per la gestione degli errori:
{
"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
}
Politiche IAM per le chiamate ad Amazon Bedrock AgentCore
I seguenti modelli di esempio mostrano come AWS Step Functions generare le politiche IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consultare In che modo Step Functions genera policy IAM per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.
Esempi di policy IAM per l'integrazione con Amazon Bedrock AgentCore
Gli esempi seguenti mostrano come puoi creare policy IAM per il tuo ruolo di esecuzione Step Functions per interagire con le AgentCore risorse di Amazon Bedrock.
Nei seguenti esempi di policy, sostituisci i valori segnaposto con i tuoi valori.
Politica IAM per richiamare un cablaggio specifico
La seguente policy di esempio consente di richiamare uno specifico AgentCore harness Amazon Bedrock tramite 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"
}
]
}
Politica IAM per richiamare tutti i cablaggi in un account
La seguente politica di esempio consente di richiamare qualsiasi AgentCore cablaggio Amazon Bedrock nel tuo account. Si consiglia di limitarsi a un ARN di imbracatura specifico, quando possibile.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeAllHarnesses",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:InvokeHarness",
"bedrock-agentcore:InvokeAgentRuntime"
],
"Resource": "arn:aws:bedrock-agentcore:region:accountId:harness/*"
}
]
}
Nota
Se il tuo harness utilizza strumenti come gateway, browser o interpreti di codice, tali autorizzazioni sono configurate sul ruolo di esecuzione harness, non sul ruolo di esecuzione Step Functions. Per ulteriori informazioni, consulta Sfruttare le autorizzazioni dei ruoli di esecuzione nella Amazon Bedrock User Guide AgentCore .