

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Devolución del control al desarrollador del agente al enviar la información obtenida en una respuesta de InvokeAgent
<a name="agents-returncontrol"></a>

En lugar de enviar la información que el agente ha obtenido del usuario a una función de Lambda para su procesamiento, puede optar por devolver el control al desarrollador del agente mediante el envío de la información en la respuesta de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html). Puede configurar la devolución del control al desarrollador del agente al crear o actualizar un grupo de acciones. A través de la API, especifica `RETURN_CONTROL` como valor `customControl` en el objeto `actionGroupExecutor` de una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html) o [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html). Para obtener más información, consulte [Agregación de un grupo de acciones al agente en Amazon Bedrock](agents-action-add.md).

Si configura la devolución del control para un grupo de acciones y el agente determina que debe llamar a una acción en ese grupo de acciones, los detalles de la API o de la función obtenidos del usuario se devolverán en el campo `invocationInputs` de la respuesta de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html), junto con un `invocationId` único. A continuación puede hacer lo siguiente:
+ Configurar la aplicación para que invoque la API o la función que ha definido, siempre que la información se devuelva en las `invocationInputs`.
+ Enviar los resultados de la invocación de la aplicación en otra solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html), en el campo `sessionState`, para proporcionar contexto al agente. Debe usar los mismos `invocationId` y `actionGroup` devueltos en la respuesta de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html). Esta información puede usarse como contexto para una mayor orquestación, enviarse al posprocesamiento para que el agente formatee una respuesta o usarse directamente en la respuesta del agente al usuario.
**nota**  
Si incluye `returnControlInvocationResults` en el campo `sessionState`, el campo `inputText` se ignorará.

Para obtener más información sobre cómo configurar la devolución del control al desarrollador del agente al crear el grupo de acciones, consulte [Agregación de un grupo de acciones al agente en Amazon Bedrock](agents-action-add.md).

## Ejemplo de devolución del control al desarrollador del agente
<a name="agents-returncontrol-ex"></a>

Por ejemplo, es posible que tenga los siguientes grupos de acciones:
+ Un grupo de acciones `PlanTrip` con una acción `suggestActivities` que ayuda a los usuarios a encontrar actividades a realizar durante un viaje. La `description` de esta acción dice `This action suggests activities based on retrieved weather information`.
+ Un grupo de acciones `WeatherAPIs` con una acción `getWeather` que ayuda al usuario a conocer la previsión meteorológica de una ubicación específica. Los parámetros obligatorios de la acción son `location` y `date`. El grupo de acciones está configurado para devolver el control al desarrollador del agente.

A continuación se muestra una secuencia hipotética que podría producirse:

1. El usuario hace la siguiente consulta a su agente: **What should I do today?**. Esta consulta se envía en el campo `inputText` de una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html).

1. Su agente reconoce que la acción `suggestActivities` debe invocarse, pero según la descripción, predice que primero debe invocar la acción `getWeather` como contexto para ayudar a llevar a cabo la acción `suggestActivities`.

1. El agente sabe que la `date` actual es `2024-09-15`, pero necesita la `location` del usuario como parámetro obligatorio para obtener la previsión meteorológica. Así que le vuelve a preguntar al usuario dónde se encuentra.

1. El usuario responde **Seattle**.

1. El agente devuelve los parámetros de `getWeather` en la siguiente respuesta de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) (seleccione una pestaña para ver ejemplos de un grupo de acciones definido con ese método):

------
#### [ Function details ]

   ```
   HTTP/1.1 200
   x-amzn-bedrock-agent-content-type: application/json
   x-amz-bedrock-agent-session-id: session0
   Content-type: application/json
    
   {
       "returnControl": {
           "invocationInputs": [{
               "functionInvocationInput": {
                   "actionGroup": "WeatherAPIs",
                   "function": "getWeather",
                   "parameters": [
                       {
                           "name": "location",
                           "type": "string",
                           "value": "seattle"
                       },
                       {
                           "name": "date",
                           "type": "string",
                           "value": "2024-09-15"
                       }
                   ]
               }
           }],
           "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172"
       }
   }
   ```

------
#### [ OpenAPI schema ]

   ```
   HTTP/1.1 200
   x-amzn-bedrock-agent-content-type: application/json
   x-amz-bedrock-agent-session-id: session0
   Content-type: application/json
   
   {
       "invocationInputs": [{
           "apiInvocationInput": {
               "actionGroup": "WeatherAPIs",
               "apiPath": "/get-weather",
               "httpMethod": "get",
               "parameters": [
                   {
                       "name": "location",
                       "type": "string",
                       "value": "seattle"
                   },
                   {
                       "name": "date",
                       "type": "string",
                       "value": "2024-09-15"
                   }
               ]
           }
       }],
       "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad"
   }
   ```

------

1. La aplicación está configurada para usar estos parámetros a fin de obtener la previsión meteorológica de `seattle` en la fecha `2024-09-15`. El resultado de la previsión meteorológica es que será un día lluvioso.

1. Los resultados se envían en el campo `sessionState` de otra solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) con los mismos `invocationId`, `actionGroup` y `function` de la respuesta anterior. Seleccione una pestaña para ver ejemplos de un grupo de acciones definido con este método:

------
#### [ Function details ]

   ```
   POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
               
   {
       "enableTrace": true,
       "sessionState": {
           "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172",
           "returnControlInvocationResults": [{
               "functionResult": {
                   "actionGroup": "WeatherAPIs",
                   "function": "getWeather",
                   "responseBody": {
                       "TEXT": {
                           "body": "It's rainy in Seattle today."
                       }
                   }
               }
           }]
       }
   }
   ```

------
#### [ OpenAPI schema ]

   ```
   POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
    
   {
       "enableTrace": true,
       "sessionState": {
           "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad",
           "returnControlInvocationResults": [{
               "apiResult": {
                   "actionGroup": "WeatherAPIs",
                   "httpMethod": "get",
                   "apiPath": "/get-weather",
                   "responseBody": {
                       "application/json": {
                           "body": "It's rainy in Seattle today."
                       }
                   }
               }
           }]
       }
   }
   ```

------

1. El agente predice que debe llamar a la acción `suggestActivities`. Como respuesta, utiliza el contexto de que es un día lluvioso y le sugiere al usuario actividades de interior, en lugar de exterior.

### Ejemplo de devolución del control al agente colaborador
<a name="collaborator-agent-returncontrol-ex"></a>

Si utiliza la [colaboración entre múltiples agentes](agents-multi-agent-collaboration.md) y si un agente colaborador decide devolver el control enviando la información de la respuesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html), la información se devuelve en la respuesta del agente supervisor con los identificadores adicionales `agentId` y `collaboratorName`. Seleccione una pestaña para ver ejemplos de un grupo de acciones definido con este método: 

------
#### [ Function details ]

```
HTTP/1.1 200
x-amzn-bedrock-agent-content-type: application/json
x-amz-bedrock-agent-session-id: session0
Content-type: application/json
 
{
    "returnControl": {
        "invocationInputs": [{
            "functionInvocationInput": {
                "agentId": "AGENTID",
                "collaboratorName": "WeatherAgent"
                "actionGroup": "WeatherAPIs",
                "function": "getWeather",
                "parameters": [
                    {
                        "name": "location",
                        "type": "string",
                        "value": "seattle"
                    },
                    {
                        "name": "date",
                        "type": "string",
                        "value": "2024-09-15"
                    }
                ]
            }
        }],
        "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172"
    }
}
```

------
#### [ OpenAPI Schema ]

```
HTTP/1.1 200
x-amzn-bedrock-agent-content-type: application/json
x-amz-bedrock-agent-session-id: session0
Content-type: application/json

{
    "invocationInputs": [{
        "apiInvocationInput": {
            "actionGroup": "WeatherAPIs",
            "agentId": "AGENTID",
            "collaboratorName": "WeatherAgent"
            "apiPath": "/get-weather",
            "httpMethod": "get",
            "parameters": [
                {
                    "name": "location",
                    "type": "string",
                    "value": "seattle"
                },
                {
                    "name": "date",
                    "type": "string",
                    "value": "2024-09-15"
                }
            ]
        }
    }],
    "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad"
}
```

------

El invocador del agente supervisor envía de vuelta los resultados del campo `sessionState` al agente supervisor con el `agentId` correspondiente para que se propaguen al agente colaborador adecuado.

------
#### [ Function details ]

```
POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
            
{
    "enableTrace": true,
    "sessionState": {
        "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172",
        "returnControlInvocationResults": [{
            "functionResult": {
                "agentId": "AGENTID",
                "actionGroup": "WeatherAPIs",
                "function": "getWeather",
                "responseBody": {
                    "TEXT": {
                        "body": "It's rainy in Seattle today."
                    }
                }
            }
        }]
    }
}
```

------
#### [ OpenAPI Schema ]

```
POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
 
{
    "enableTrace": true,
    "sessionState": {
        "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad",
        "returnControlInvocationResults": [{
            "apiResult": {
                "agentId": "AGENTID",
                "actionGroup": "WeatherAPIs",
                "httpMethod": "get",
                "apiPath": "/get-weather",
                "responseBody": {
                    "application/json": {
                        "body": "It's rainy in Seattle today."
                    }
                }
            }
        }]
    }
}
```

------