Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Confirmation de l’utilisateur avant d’invoquer la fonction de groupe d’actions
Vous pouvez protéger votre application contre les injections d’invite malveillantes en demandant la confirmation aux utilisateurs de l’application avant d’invoquer la fonction de groupe d’actions. Lorsqu’un utilisateur final interagit avec votre application, l’agent Amazon Bedrock détermine l’API ou les bases de connaissances à invoquer pour automatiser la tâche pour l’utilisateur. Les informations provenant de l’API ou des bases de connaissances peuvent contenir des données potentiellement dommageables. Entre chaque itération, si la réponse contient une instruction, l’agent s’y conformera. Si la réponse inclut des instructions pour que le modèle invoque des actions imprévues, l’agent se conformera à ces instructions. Pour garantir que certaines actions ne sont mises en œuvre qu’après le consentement explicite de l’utilisateur, nous vous recommandons de demander une confirmation à l’utilisateur final avant d’invoquer la fonction.
Lorsque vous configurez votre groupe d’actions, vous pouvez choisir d’activer la confirmation utilisateur pour des actions spécifiques. Si la confirmation utilisateur est activée pour une action, l’agent répond par une question de confirmation demandant à l’utilisateur final de confirmer ou de refuser l’action. Vous pouvez activer la confirmation utilisateur dans la console, à l’aide de l’interface de ligne de commande (CLI) ou du kit SDK.
Pour activer la confirmation utilisateur d’une action, consultez Ajout d’un groupe d’actions à votre agent dans Amazon Bedrock.
Fonctionnement de la confirmation utilisateur
La confirmation utilisateur est configurée pour une action dans le groupe d’actions par le développeur de l’agent. Si l’agent décide d’appeler cette action, l’API ou les détails de la fonction obtenus auprès de l’utilisateur et la confirmation utilisateur configurée par le développeur de l’agent seront renvoyés dans le champ invocationInputs de la réponse InvokeAgent, à côté de invocationType, et un code unique invocationId.
L’agent invoque l’API ou la fonction fournie dans invocationInputs. Si la confirmation utilisateur est activée pour la fonction ou l’API, l’utilisateur a la possibilité de CONFIRMER ou de REFUSER l’action mentionnée dans la réponse.
Les résultats de l’invocation de la fonction ou de l’API par l’agent sont envoyés dans une autre demande InvokeAgent, dans le champ sessionState, afin de fournir un contexte à l’agent. Le paramètre de demande pour InvokeAgent utilise returnControlInvocationResults, qui est une liste de mappages vers des objets apiResult ou functionResult. Les objets apiResult et functionResult ont un champ supplémentaire confirmationState. Ce champ contient la réponse de confirmation utilisateur.
Si la réponse de l’utilisateur est CONFIRMER, la fonction ou l’API contenue dans la réponse est implémentée.
Si la réponse de l’utilisateur est REFUSER, la fonction ou l’API contenue dans la réponse n’est pas implémentée.
Exemples de réponse et de demande InvokeAgent
Réponse
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": { ... } }, }
Demande
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" } } }