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á.
É possível proteger a aplicação contra injeções de prompt mal-intencionadas solicitando a confirmação dos usuários da aplicação antes de invocar a função do grupo de ação. Quando um usuário final interage com a aplicação, o agente do Amazon Bedrock estima a API ou as bases de conhecimento a serem invocadas para automatizar a tarefa para o usuário. As informações da API ou das bases de conhecimento podem conter dados potencialmente prejudiciais. Entre cada iteração, se a resposta contiver alguma instrução, o agente cumprirá. Se a resposta incluir instruções para que o modelo invoque ações indesejadas, o agente seguirá em frente e cumprirá a instrução. Para garantir que determinadas ações sejam implementadas somente após o consentimento explícito do usuário, recomendamos solicitar a confirmação do usuário final antes de invocar a função.
Ao configurar seu grupo de ação, é possível optar por habilitar a confirmação do usuário para ações específicas. Se a confirmação do usuário estiver habilitada para uma ação, o agente responderá com uma pergunta de confirmação solicitando que o usuário final confirme ou negue a ação. É possível habilitar a confirmação do usuário por meio do console, da CLI ou do SDK.
Para habilitar a confirmação do usuário para uma ação, consulte Adicionar um grupo de ação ao agente no Amazon Bedrock.
Como funciona a confirmação do usuário
A confirmação do usuário é configurada para uma ação no grupo de ação pelo desenvolvedor do agente. Se o agente decidir que deve chamar essa ação, os detalhes da API ou da função obtidos do usuário e a confirmação do usuário configurada pelo desenvolvedor do agente serão retornados no invocationInputs
campo do InvokeAgentresposta, ao ladoinvocationType
, e únicainvocationId
.
O agente invoca a API ou a função fornecida no invocationInputs
. Se a confirmação do usuário estiver habilitada para a função ou a API, o usuário terá a opção de CONFIRMAR ou NEGAR a ação mencionada na resposta.
Os resultados da invocação da função ou API pelo agente são enviados em outro InvokeAgentsolicitação, no sessionState
campo, para fornecer contexto ao agente. O parâmetro de solicitação para InvokeAgent
usa returnControlInvocationResults
, que é uma lista de mapeamentos de objetos functionResult
ou apiResult
. Os objetos apiResult
e functionResult
têm um campo adicional de confirmationState
. Esse campo tem a resposta de confirmação do usuário.
Se a resposta do usuário for CONFIRMAR, a função ou a API na resposta será implementada.
Se a resposta do usuário for NEGAR, a função ou a API na resposta não será implementada.
Exemplos da InvokeAgent resposta e da solicitação
Resposta
HTTP/1.1 200
x-amzn-bedrock-agent-content-type: contentType
x-amz-bedrock-agent-session-id: sessionId
Content-type: application/json
{
"chunk": {
...
},
...
"returnControl": {
"invocationId": "string",
"invocationInputs": [
{ ... }
]
},
"trace": {
"agentAliasId": "string",
"agentId": "string",
"agentVersion": "string",
"sessionId": "string",
"trace": { ... }
},
}
Solicitação
POST /agents/agentId/agentAliases/agentAliasId/sessions/sessionId/text HTTP/1.1
Content-type: application/json
{
"enableTrace": boolean,
"endSession": boolean,
"inputText": "string",
"sessionState": {
"invocationId": "string",
"promptSessionAttributes": {
"string" : "string"
},
"returnControlInvocationResults": [
{ ... }
],
"sessionAttributes": {
"string" : "string"
}
}
}