

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar um agente em linha em runtime
<a name="agents-create-inline"></a>

Você pode configurar e invocar dinamicamente um agente embutido do Amazon Bedrock em tempo de execução usando a API. [InvokeInlineAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) O uso de um agente em linha oferece flexibilidade para especificar os recursos do agente, como modelos de base, instruções, grupos de ação, barreiras de proteção e bases de conhecimento, ao mesmo tempo em que você invoque o agente. Não é necessário predefinir os recursos do agente para poder usá-lo. 

Veja alguns dos casos de uso em que o uso de agentes em linha pode ajudar ao oferecer flexibilidade para configurar o agente no momento da invocação.
+ Faça experiências rápidas testando vários recursos de agente com diferentes configurações e atualizando dinamicamente as ferramentas disponíveis para o agente sem criar agentes separados.
+ Invoque dinamicamente um agente para realizar tarefas específicas sem criar versões do agente ou preparar o agente. 
+ Execute consultas simples ou use o interpretador de código para tarefas simples criando e invocando o agente em runtime.
+ Crie vários agentes em uma configuração de [colaboração multiagente](agents-multi-agent-collaboration.md) para trabalharem juntos em uma tarefa ou conversa.

  Para usar a colaboração multiagente, você pode criar seus agentes nas seguintes combinações usando agentes embutidos. APIs  
**Tipos de agente**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-create-inline.html)

**Modelos e regiões compatíveis**

Você pode usar qualquer modelo de base aceito pelos Agentes do Amazon Bedrock para configurar o agente em linha e invocá-lo em qualquer uma das regiões em que é possível usar os Agentes do Amazon Bedrock. Para ter mais informações sobre os modelos e regiões compatíveis com os Agentes do Amazon Bedrock, consulte o seguinte:
+ [Regiões e modelos compatíveis com os Agentes do Amazon Bedrock](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-supported.html)
+ [Suporte de modelo por recurso](https://docs.aws.amazon.com//bedrock/latest/userguide/models-features.html)

Com agentes em linha, é possível alternar entre os modelos. Recomendamos que você alterne entre os modelos que pertencem à mesma família. Alternar entre modelos que pertencem a famílias diferentes pode provocar comportamentos inconsistentes e falhas. 

No momento, não é possível configurar e invocar um agente em linha no console do Amazon Bedrock.

## Diretrizes sobre como usar modelos de prompts avançados para agentes em linha
<a name="advanced-prompts-inline-guidelines"></a>
+ **Modelos de prompts básicos**: por padrão, o Amazon Bedrock usará o modelo padrão de prompts básico para o agente em linha, e os prompts podem ser alterados em segundo plano a qualquer momento. Isso pode tornar as respostas inconsistentes. Se quiser respostas consistentes para suas consultas, personalize o comportamento do agente em linha substituindo a lógica no modelo de prompts básicos padrão por suas próprias configurações. Para ter mais informações, consulte [Modelos de prompts avançados](https://docs.aws.amazon.com//bedrock/latest/userguide/advanced-prompts-templates.html).
+ **Criptografia**: use a `customer managed key ` para criptografar os detalhes da sessão em repouso/armazenamento. Se uma sessão for iniciada com uma chave gerenciada pelo cliente, ela será necessária para todas as solicitações futuras feitas para a mesma sessão. Usar uma chave gerenciada pelo cliente diferente para as mesmas sessões resultará em uma exceção. 
+ **Compartilhamento de sessão**: no futuro, todas as sessões serão em nível de conta e não em nível de perfil. É possível isolar as sessões em nível de agente especificando um valor exclusivo para `agentName`.
+ **Estado das sessões em linha**: os atributos em `InlineSessionState` persistem durante a sessão. Use os atributos para fornecer contexto adicional para o modelo e obter [prompts few-shot](https://docs.aws.amazon.com//bedrock/latest/userguide/what-is-a-prompt.html#few-shot-prompting-vs-zero-shot-prompting).

# Pré-requisitos
<a name="inline-agent-prereq"></a>

**nota**  
Os recursos de configuração e invocação de um recurso de agente em linha está em uma versão prévia do Amazon Bedrock e está sujeito a alterações.

Atenda aos seguintes pré-requisitos antes de invocar seu agente em linha:

1. Determine qual modelo de base você quer usar para configurar seu agente integrado, a região em que deseja invocar o agente e uma instrução que mostre ao agente integrado o que ele deve fazer. 

1. Crie ou prepare uma ou mais das propriedades de agente do Amazon Bedrock a seguir que você quer usar para o agente em linha.   
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/inline-agent-prereq.html)

1. Crie uma função de AWS Identity and Access Management (IAM) e anexe a política mencionada nesta etapa à função. 

   Antes de invocar um agente integrado, você deve criar um perfil do IAM que forneça as permissões necessárias para usar a API `InvokeInlineAgent` e acessar determinados recursos, como funções do Lambda, bases de conhecimento e modelos de base. 

   Crie um perfil de serviço personalizado para o agente em linha seguindo as etapas em [Criar um perfil para conceder permissões a um usuário do IAM](https://docs.aws.amazon.com//bedrock/latest/userguide/getting-started.html). Depois de criar o perfil do IAM, anexe a política a seguir ao perfil.
**nota**  
Como prática recomendada para fins de segurança, substitua o *\$1\$1region\$1**\$1\$1account-id\$1*, e *\$1.ids* por Região, o ID da sua conta e os IDs de recursos específicos depois de criá-los.

# Invocar um agente em linha
<a name="inline-agent-invoke"></a>

**nota**  
Os recursos de configuração e invocação de um recurso de agente em linha está em uma versão prévia do Amazon Bedrock e está sujeito a alterações.

Para invocar o agente em linha, primeiro verifique se os [pré-requisitos](https://docs.aws.amazon.com//bedrock/latest/userguide/inline-agent-prereq.html) foram atendidos.

Para invocar um agente em linha, envie uma solicitação de [InvokeInlineAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html)API com um [endpoint de tempo de execução do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt) e inclua minimamente os seguintes campos.


****  

| Campo | Caso de uso | 
| --- | --- | 
| instruction | Forneça instruções que digam ao agente em linha o que ele deve fazer e como ele deve interagir com os usuários. | 
| foundationModel | Especifique um [modelo de base](https://docs.aws.amazon.com//bedrock/latest/userguide/foundation-models-reference.html) a ser usado para orquestração pelo agente em linha criado por você. Por exemplo, Claude da Anthropic, Llama3.1 da Meta etc. | 
| sessionId | Um identificador exclusivo da sessão. Use o mesmo valor em todas as solicitações para continuar a mesma conversa. | 

Os seguintes campos são opcionais:


****  

| Campo | Caso de uso | 
| --- | --- | 
| actionGroups | Lista de grupos de ação em que cada grupo de ação define as ações que o agente integrado pode realizar.  | 
| knowledgeBases | Associações da base de conhecimento com o agente em linha para aumentar a resposta gerada pelo modelo.  | 
| guardrailConfiguration | Configurações de barreira de proteção para bloquear tópicos, evitar alucinações e implementar proteções para sua aplicação.  | 
| agentCollaboration | Define como o agente colaborador lida com as informações de vários agentes colaboradores para coordenar uma resposta final. O agente colaborador também pode ser o supervisor. | 
| collaboratorConfigurations | Configurações para o agente colaborador.  | 
| collaborators | Lista de agentes colaboradores. | 
| promptOverrideConfiguration | Configurações para prompts avançados usados para substituir os prompts padrão. | 
| enableTrace | Especifique se deseja ativar ou não o rastreamento do processo de raciocínio do agente em linha. | 
| Segundos da sessão ociosa TTLIn | Especifique a duração após a qual o agente em linha deve encerrar a sessão e excluir todas as informações armazenadas. | 
| customerEncryptionKeyArn | Especifique o ARN de uma chave do KMS para criptografar recursos do agente. | 
| endSession | Especifique se a sessão deve ser encerrada com o agente ou não. | 
| inlineSessionState | Parâmetros que especificam os vários atributos de uma sessão. | 
| inputText | Especifique o texto do prompt a ser enviado ao agente. | 
| reasoning\$1config | Para habilitar o raciocínio de modelo para que o modelo explique como chegou às respectivas conclusões. Use dentro de um campo additionalModelRequestFields. Você deve especificar o número de budget\$1tokens que é usado para o raciocínio de modelo, que são um subconjunto dos tokens de saída. Para ter mais informações, consulte [Aprimorar as respostas do modelo com o raciocínio de modelo](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-reasoning.html). | 

O exemplo da API `InvokeInlineAgent` a seguir fornece configurações completas de agentes em linha, como modelo de base, instruções, grupos de ação com interpretador de código, barreiras de proteção e bases de conhecimento. 

```
response = bedrock_agent_runtime.invoke_inline_agent(
    // Initialization parameters: cannot be changed for a conversation
    sessionId='uniqueSessionId',
    customerEncryptionKeyArn: String,
    
    // Input
    inputText="Hello, can you help me with a task?",
    endSession=False,
    enableTrace=True,
    
    // Agent configurations
    foundationModel='anthropic.claude-3-7-sonnet-20250219-v1:0',
    instruction="You are a helpful assistant...",
    actionGroups=[
        {
            'name': 'CodeInterpreterAction',
            'parentActionGroupSignature': 'AMAZON.CodeInterpreter'
        },
        {
            'actionGroupName': 'FetchDetails',
            'parentActionGroupSignature': '',
            "actionGroupExecutor": { ... },
            "apiSchema": { ... },
            "description": "string",
            "functionSchema": { ... }
        }
    ],
    knowledgeBases=[
        {
            knowledgeBaseId: "string",
            description: 'Use this KB to get all the info',
            retrievalConfiguration: { 
                vectorSearchConfiguration: { 
                    filter: { ... },
                    numberOfResults: number,
                    overrideSearchType: "string"
               }
            }
        }
    ],
    guardrailConfiguration={
        guardrailIdentifier: 'BlockEverything',
        gurardrailVersion: '1.0'
    },
    promptOverrideConfiguration: {...}
    
    // session properties: persisted throughout conversation
    inlineSessionState = {
        sessionAttributes = { 'key': 'value' },
        promptSessionAttributes = {k:v},
        returnControlInvocationResults = {...},
        invocationId = 'abc',
        files = {...},
    }
  }
```

Também é possível incluir parâmetros de raciocínio de modelo na solicitação. Veja a seguir um exemplo de um único prompt que ativa o raciocínio de modelo em `additionalModelRequestFields`.

```
{
    "basePromptTemplate": " ... ",
    "inferenceConfiguration": {
        "stopSequences": [
            "</answer>"
        ]
    },
    "parserMode": "DEFAULT",
    "promptCreationMode": "DEFAULT",
    "promptState": "DISABLED",
    "promptType": "ORCHESTRATION",
    "additionalModelRequestFields":
    "reasoning_config": {
        "type": "enabled",
        "budget_tokens": 1024
    }
}
```