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.

\n\n

Por que o ToolSimulator é importante?

\n

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:

\n

\n

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.

\n\n

Como o ToolSimulator se diferencia?

\n

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

\n

\n\n

Disponibilidade e público-alvo

\n

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.

\n\n

Como começar a usar o ToolSimulator

\n

Para usar o ToolSimulator, você precisa:

\n

\n\n

Fluxo básico de uso

\n

    \n

  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. \n

  3. Configurar simulação (opcional): Personalize o estado inicial, compartilhe estado entre ferramentas relacionadas e defina schemas de resposta para validação.
  4. \n

  5. Executar simulação: Quando o agente chama uma ferramenta registrada, o ToolSimulator gera respostas realistas e mantém o estado para chamadas subsequentes.
  6. \n

\n\n

from strands_evals.simulation.tool_simulator import ToolSimulator\n\ntool_simulator = ToolSimulator()\n\n@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.")\ndef search_flights(origin: str, destination: str, date: str) -> dict:\n    pass  # Implementação real não chamada durante simulação\n

\n\n

Exemplo de uso com agente

\n

from strands import Agent\n\nflight_tool = tool_simulator.get_tool("search_flights")\nagent = Agent(\n    system_prompt="Você é um assistente de busca de voos.",\n    tools=[flight_tool],\n)\nresponse = agent("Encontre voos de Seattle para Nova York em 15 de março.")\nprint(response)\n

\n\n

Recursos avançados do ToolSimulator

\n

\n\n

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

\n

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.

\n\n

Impacto prático para desenvolvedores

\n

Com o ToolSimulator, equipes de desenvolvimento podem:

\n

\n\n

Links úteis

\n

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *