Este projeto usa o framework Agno para automatizar testes de um assistente de atendimento ao cliente ("Agente Alvo"). Um Team de agentes-persona simula conversas realistas, enquanto um agente juiz decide se cada objetivo foi alcançado com base em critérios de sucesso bem definidos.
.
├── agents/ # Definições de personas, coordenador e juiz
├── tools/ # Tool que encapsula o Agente Alvo (webhook)
├── test_results/ # Logs JSON gerados pelos testes (criado em runtime)
├── run_tests.py # Script principal para executar todos os cenários
├── requirements.txt # Dependências Python
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Arquivos a serem ignorados pelo Git
└── README.md # Este documento
- Python ≥ 3.9
- Conta/endpoint do modelo que implementa o Agente Alvo exposto via webhook
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt- Copie
.env.examplepara.env. - Preencha:
TARGET_WEBHOOK_URL– URL do webhook do Agente Alvo.- (Opcional)
OPENAI_API_KEY– se usar OpenAI para algo adicional.
python run_tests.pyO script:
- Cria/limpa a pasta
test_results/. - Executa 5 cenários de teste (João, Maria, Carlos, Ana, Sofia).
- Salva um arquivo JSON de resultado por persona em
test_results/. - Gera
TEST_REPORT.mdcom um sumário tabular dos resultados.
Edite o array SCENARIOS em run_tests.py, definindo persona, initial_input e success_criteria.
Cada critério é uma string interpretada pelo Agno para decidir se o teste foi bem-sucedido. Exemplo:
"A resposta final do Agente Alvo deve conter a frase 'seu agendamento foi cancelado' e o número total de interações deve ser menor que 6."
- Crie um fork ou branch.
- Garanta que
pre-commit, testes eflake8passem (se configurados). - Abra um Pull Request descrevendo suas mudanças.
MIT