Governança de habilidades do agente

Um agente pode acessar várias ferramentas usando servidores do Protocolo de Contexto de Modelo (MCP), APIs empresariais ou scripts personalizados. Expor um agente a um número muito grande de descrições de ferramentas de uma só vez pode levar a um aumento do contexto, o que aumenta os custos de token e a latência, além de prejudicar o desempenho de raciocínio do LLM.

Para otimizar a performance, use Habilidades do agente (um padrão para ferramentas de empacotamento e descrições de procedimentos) para implementar a divulgação progressiva de ferramentas. Em vez de colocar todo o catálogo de ferramentas no contexto, o agente é exposto a um pequeno conjunto de habilidades inicialmente. O LLM orienta o agente a carregar pacotes de habilidades específicos de forma dinâmica quando eles se tornam relevantes.

Governança do ciclo de vida da habilidade

Como o carregamento e o gerenciamento de habilidades usam chamadas de função, a política de governança semântica pode controlar todo o ciclo de vida da habilidade. Se o agente for criado usando o Kit de Desenvolvimento de Agente (ADK) do Google, ele vai usar as seguintes ferramentas principais para gerenciar habilidades:

Ferramenta de habilidade do ADK Descrição
list_skills Mostra todos os pacotes de habilidades disponíveis para o modelo.
load_skill Importa uma habilidade específica e as ferramentas associadas ao contexto atual de forma dinâmica.
load_skill_resource Recupera os dados ou recursos necessários para a operação de uma skill.
run_skill_script Executa a lógica subjacente definida na skill.

A política de governança semântica intercepta essas chamadas de ferramentas de gerenciamento de habilidades e as avalia com base nas suas restrições de linguagem natural (NLCs, na sigla em inglês). Isso permite aplicar restrições para controlar quais habilidades são carregadas em condições específicas.

Exemplos: políticas de ciclo de vida de habilidades e ferramentas

Os exemplos a seguir mostram como as políticas de governança semântica podem se defender contra riscos de segurança no ciclo de vida da habilidade, como injeção de instruções ou comprometimento da cadeia de suprimentos.

Impedir o carregamento de ferramentas em sessões corrompidas

Cenário:um agente está autorizado a carregar e executar habilidades. Um administrador quer impedir que o agente carregue ferramentas que realizam ações de saída se o histórico de chat tiver um contexto não confiável que possa conter instruções injetadas. Por exemplo, um agente pode carregar uma ferramenta send_email depois de extrair conteúdo da Web.

  • Restrição:"Não carregue nenhuma habilidade que possa enviar mensagens ou gravar em sistemas externos se o histórico de chat atual tiver conteúdo buscado de e-mails recebidos, páginas da Web ou documentos enviados."
  • Lógica:quando o LLM propõe chamar load_skill(skill_name='send_email'), a política de governança semântica inspeciona o histórico de conversas. Se uma interação anterior tiver buscado dados não confiáveis (por exemplo, conteúdo de e-mail), a política vai negar a chamada load_skill. Como resultado, as ferramentas de saída incluídas nessa habilidade nunca ficam disponíveis para o agente durante essa sessão.

Limitar instalações de dependências (cadeia de suprimentos)

Cenário:um agente de desenvolvimento usa uma habilidade para instalar pacotes. Um invasor com acesso ao repositório de habilidades modifica as instruções para sempre instalar um pacote malicioso com as dependências solicitadas.

  • Restrição:"Permita que a ferramenta npm_install seja executada apenas para pacotes na lista aprovada: react, express, lodash ou axios".
  • Lógica:quando o LLM propõe uma chamada de ferramenta como npm_install(packages=['lodash', 'malicious-agent-helper']), a política de governança semântica inspeciona os argumentos. Como malicious-agent-helper não está na lista de permissões, a política emite um veredito DENY, bloqueando a ação antes da execução.

A seguir