6.3 KiB
6.3 KiB
TODO - Projeto Arthur (Agente de Suporte Técnico N2)
Este documento serve como o roteiro técnico detalhado para a implementação do Agente Arthur. O foco é soberania (local-only), otimização de CPU e integração auditável via e-mail.
Fase 1: Planejamento e Arquitetura de Dados ✅
- Consolidação do PRD N2: Definição de escopo, hardware e lógica de atendimento.
- Mapeamento do Tenant Resolver (Financeiro):
- MockFinancialClient implementado em
src/clients/mock_financial.py - Esquema Pydantic
TenantContextemsrc/models/tenant.py
- MockFinancialClient implementado em
- Design do Schema de Auditoria:
- Modelo
AuditLogemsrc/models/audit.py(PostgreSQL) - Migrations em
src/database/migrations.py
- Modelo
- Mapeamento de Segredos:
SecretsManageremsrc/security/secrets_manager.py- Suporte a Docker Secrets + variáveis de ambiente
Fase 2: Infraestrutura e Conectores Core ✅
- Ambiente de Inferência Local:
OllamaClientemsrc/clients/ollama_client.py- Suporte a Llama 3.2 1B (Triagem) e Llama 3.1 8B (Especialista)
- Configuração do Qdrant Multitenant:
QdrantMultitenantemsrc/clients/qdrant_client.py- Persistência
on_disk: true+ filtro portenant_id
- Conector Zabbix API:
ZabbixConnectoremsrc/clients/zabbix_connector.py- Funções:
get_host_status,get_active_problems,get_neighbor_alerts
- Segurança de Infraestrutura:
- Docker Secrets configurado
DLPFilteremsrc/security/dlp_filter.py(redação de CPF/CNPJ/senhas)
- Módulo de Comunicação (Mail Client):
- ⏳ Aguardando senha do email
arthur.servicedesk@itguys.com.br
- ⏳ Aguardando senha do email
Fase 3: Orquestração e Raciocínio (Cérebro) ✅
- Implementação do Agente de Triagem (1B):
TriageAgentemsrc/agents/triage_agent.py- Prompt Engineering para extração de entidades + fallback regex
- Classificação de prioridade/categoria
- Implementação do Agente Especialista (8B):
SpecialistAgentemsrc/agents/specialist_agent.py- Coleta de contexto Zabbix + RAG
- Geração de diagnóstico e resposta
- Pipeline de Processamento:
TicketPipelineemsrc/agents/pipeline.py- Orquestração triage → specialist → audit
- Desenvolvimento do Multi-Agent Dispatcher:
MultiAgentDispatcheremsrc/agents/dispatcher.py- State machine: RECEIVED → TRIAGING → ENRICHING → ANALYZING → VALIDATING → RESPONDING
- Integração com RateLimiter
- Rate Limiter por Tenant:
RateLimiteremsrc/agents/rate_limiter.py- Sliding window (por minuto/hora)
- Limite de requisições simultâneas
- Prioridade por tier de cliente
- Camada de Validação e Segurança (Self-Correction):
SelfCorrectionLayeremsrc/agents/validators.py- Validação de domínios permitidos
- Bloqueio de comandos perigosos (rm -rf, DROP DATABASE, etc.)
- Threshold de confiança com escalação automática
- Desenvolvimento do Analista de Causa Raiz:
RootCauseAnalyzeremsrc/agents/root_cause_analyzer.py- Correlação de alertas por similaridade e keywords
- Detecção de problemas de infraestrutura compartilhada
Fase 4: Flywheel e Qualidade (Aprendizado) ✅
- Pipeline de Ingestão de RAG:
RAGIngestionPipelineemsrc/flywheel/rag_pipeline.py- Processamento de Markdown/TXT, chunking e indexação Qdrant
- Sanitização de conteúdo (remoção de scripts, base64)
- Detecção automática de tecnologia
- Parser de Feedback de Encerramento:
FeedbackParseremsrc/flywheel/feedback_parser.py- Detecta: Resolvido, Reaberto, Escalação, Esclarecimento
- Análise de sentimento e satisfação
- Módulo de Memória Episódica:
EpisodicMemoryemsrc/flywheel/episodic_memory.py- Armazenamento de lições aprendidas
- Antipadrões (o que NÃO fazer)
- Busca por similaridade
Fase 5: Implantação e Monitoramento ✅
- Configuração do Langfuse Local:
LangfuseClientemsrc/deployment/langfuse_client.py- Docker Compose em
docker/langfuse-compose.yml - Tracing com context managers (trace/span)
- Teste de Stress e Latência:
StressTesteremsrc/deployment/stress_tester.py- Métricas: p50, p95, p99, RPS
- Scripts:
run_dispatcher_stress_test,run_rate_limiter_stress_test
- Ferramentas de Homologação:
HomologationValidatoremsrc/deployment/homologation.py- Validações: DB, Qdrant, Ollama, Zabbix, Financeiro, Email, RateLimiter
- Relatório formatado com status por check
Fase 6: Auditoria e Otimização com IA 🔄
- Mapeamento de Alterações por Fase:
- Listar commits e arquivos modificados em cada uma das fases (1-5)
- Gerar manifesto de auditoria: AUDIT_MANIFEST.md
- Execução de Agente de Qualidade:
- Análise "ponto a ponto" do código mapeado
- Focos: Otimizações, Falhas de Segurança, Bugs Lógicos, Code Quality
- Refinamento e Correção:
- Aplicar melhorias sugeridas pelo agente
- Validar ausência de regressões
Fase 7: Homologação e Go-Live 🔄
- Obter Credenciais:
- Senha do email
arthur.servicedesk@itguys.com.br
- Senha do email
- Deploy Langfuse:
- Executar
docker compose -f docker/langfuse-compose.yml up -d - Configurar variáveis
LANGFUSE_PUBLIC_KEYeLANGFUSE_SECRET_KEY
- Executar
- Executar Validação de Homologação:
- Rodar
run_homologation("staging")e garantir todos checks passando
- Rodar
- Teste de Stress em Staging:
- Validar latência com 5+ chamados simultâneos
- Confirmar P95 < 5000ms
- Validação com Clientes Reais:
- Testar com emails de OESTEPAN e ENSEG
- Confirmar isolamento de dados entre tenants
- Go-Live:
- Migrar Arthur para produção
- Monitorar primeiras 24h via Langfuse
Diretrizes para Agentes de Execução:
- CPU Only: Nunca tente usar bibliotecas que exijam CUDA/GPU sem autorização expressa.
- Auditabilidade: Toda decisão do Arthur deve gerar um log no PostgreSQL.
- Isolamento: Garanta que os dados da ENSEG nunca vazem para um diagnóstico da OESTEPAN via filtros de Payload no Qdrant.