Voltar para o blog
Machine Learning

ToolSimulator: Testes Escaláveis e Seguros para Agentes de IA com Ferramentas Externas

20 de abril de 2026
14:32
Automaçãoagentes de IAIAmachine learningDesenvolvimento de IAAWSLLMStrands EvalsTestes de SoftwareSimulação de Ferramentas
ToolSimulator: Testes Escaláveis e Seguros para Agentes de IA com Ferramentas Externas

A AWS lançou o ToolSimulator, um framework de simulação de ferramentas baseado em grandes modelos de linguagem (LLM) integrado ao Strands Evals SDK, que permite testar agentes de IA que dependem de ferramentas externas de forma segura e em escala.

Por que o ToolSimulator é importante?

Agentes de IA modernos frequentemente interagem com APIs externas, bancos de dados e outros sistemas para executar tarefas. Testar essas interações diretamente em APIs reais traz três desafios principais:

  • Dependência externa: APIs reais podem impor limites de uso, apresentar instabilidades e exigir conexão de rede, dificultando testes extensivos.
  • Risco de efeitos colaterais: Chamadas a ferramentas reais podem desencadear ações indesejadas, como envio de e-mails, alterações em bancos de dados ou reservas reais.
  • Privacidade e segurança: Dados sensíveis podem ser expostos durante testes em sistemas ao vivo, criando riscos de compliance.

Alternativas como mocks estáticos são limitadas, pois exigem manutenção constante e não suportam fluxos de trabalho multi-turno com estado compartilhado, comuns em agentes reais.

Como o ToolSimulator se diferencia?

O ToolSimulator resolve esses problemas com três funcionalidades-chave:

  • Geração adaptativa de respostas: As respostas simuladas variam conforme os parâmetros da chamada, gerando dados plausíveis e contextuais.
  • Suporte a workflows com estado: Mantém estado compartilhado entre chamadas, permitindo simular interações complexas como reservas de voo que dependem de múltiplas etapas.
  • Validação de esquema: Respostas são validadas contra schemas Pydantic definidos pelo desenvolvedor, garantindo formatos corretos e evitando falhas por dados malformados.

Disponibilidade e público-alvo

O ToolSimulator está disponível hoje como parte do Strands Evals SDK. Desenvolvedores que criam agentes de IA capazes de chamar ferramentas externas podem usar a ferramenta para acelerar e aprimorar seus testes, sem a necessidade de uma conta AWS para rodar localmente.

Como começar a usar o ToolSimulator

Para usar o ToolSimulator, você precisa:

  • Python 3.10 ou superior instalado
  • Instalar o Strands Evals SDK via pip: pip install strands-evals
  • Conhecimentos básicos de Python, especialmente decoradores e type hints
  • Familiaridade com agentes de IA e conceitos de chamadas de ferramentas (APIs, esquemas de função)
  • Conhecimento em Pydantic é recomendado para validação avançada, mas não obrigatório

Fluxo básico de uso

  1. Registrar ferramentas: Crie uma instância do ToolSimulator e decore funções que simulam as ferramentas, deixando o corpo vazio, pois as chamadas reais são interceptadas.
  2. Configurar simulação (opcional): Personalize o estado inicial, compartilhe estado entre ferramentas relacionadas e defina schemas de resposta para validação.
  3. Executar simulação: Quando o agente chama uma ferramenta registrada, o ToolSimulator gera respostas realistas e mantém o estado para chamadas subsequentes.
from strands_evals.simulation.tool_simulator import ToolSimulator

tool_simulator = ToolSimulator()

@tool_simulator.tool(initial_state_description="Banco de voos: SEA->JFK com horários às 8h, 12h e 18h, preços entre $180 e $420.")
def search_flights(origin: str, destination: str, date: str) -> dict:
    pass  # Implementação real não chamada durante simulação

Exemplo de uso com agente

from strands import Agent

flight_tool = tool_simulator.get_tool("search_flights")
agent = Agent(
    system_prompt="Você é um assistente de busca de voos.",
    tools=[flight_tool],
)
response = agent("Encontre voos de Seattle para Nova York em 15 de março.")
print(response)

Recursos avançados do ToolSimulator

  • Instâncias independentes: Permite criar múltiplas simulações paralelas com estados e registros separados para comparar agentes.
  • Estado compartilhado para workflows multi-turno: Ferramentas que escrevem e leem dados usam um ID compartilhado para manter coerência de estado.
  • Validação rígida de schemas: Defina modelos Pydantic para garantir que as respostas simuladas estejam sempre no formato esperado.

Integração com pipelines de avaliação Strands Evals

O ToolSimulator integra-se facilmente ao framework Strands Evals para criar pipelines de avaliação completas, incluindo coleta de métricas de sucesso e geração de relatórios detalhados. Isso permite validar não só as respostas finais do agente, mas toda a sequência de interações e chamadas às ferramentas simuladas.

Impacto prático para desenvolvedores

Com o ToolSimulator, equipes de desenvolvimento podem:

  • Realizar testes em larga escala sem riscos de efeitos colaterais ou exposição de dados sensíveis.
  • Detectar bugs de integração e testar casos extremos de forma abrangente.
  • Garantir que agentes estejam prontos para produção com maior confiança e rapidez.

Links úteis