Skip to content

kaiquenog/become-human

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agno Automated Testing System

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.

Estrutura do Projeto

.
├── 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

Pré-requisitos

  • Python ≥ 3.9
  • Conta/endpoint do modelo que implementa o Agente Alvo exposto via webhook

Instalação

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Configuração

  1. Copie .env.example para .env.
  2. Preencha:
    • TARGET_WEBHOOK_URL – URL do webhook do Agente Alvo.
    • (Opcional) OPENAI_API_KEY – se usar OpenAI para algo adicional.

Execução dos Testes

python run_tests.py

O script:

  1. Cria/limpa a pasta test_results/.
  2. Executa 5 cenários de teste (João, Maria, Carlos, Ana, Sofia).
  3. Salva um arquivo JSON de resultado por persona em test_results/.
  4. Gera TEST_REPORT.md com um sumário tabular dos resultados.

Adicionando Novos Cenários

Edite o array SCENARIOS em run_tests.py, definindo persona, initial_input e success_criteria.

Estrutura de Critérios de Sucesso

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."

Contribuição

  1. Crie um fork ou branch.
  2. Garanta que pre-commit, testes e flake8 passem (se configurados).
  3. Abra um Pull Request descrevendo suas mudanças.

Licença

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages