minions-ai-agents/.gemini/TODO_Arthur.md

150 lines
8.2 KiB
Markdown

# 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 ✅
- [x] **Consolidação do PRD N2:** Definição de escopo, hardware e lógica de atendimento.
- [x] **Mapeamento do Tenant Resolver (Financeiro):**
- MockFinancialClient implementado em `src/clients/mock_financial.py`
- Esquema Pydantic `TenantContext` em `src/models/tenant.py`
- [x] **Design do Schema de Auditoria:**
- Modelo `AuditLog` em `src/models/audit.py` (PostgreSQL)
- Migrations em `src/database/migrations.py`
- [x] **Mapeamento de Segredos:**
- `SecretsManager` em `src/security/secrets_manager.py`
- Suporte a Docker Secrets + variáveis de ambiente
## Fase 2: Infraestrutura e Conectores Core ✅
- [x] **Ambiente de Inferência Local:**
- `OllamaClient` em `src/clients/ollama_client.py`
- Suporte a Llama 3.2 1B (Triagem) e Llama 3.1 8B (Especialista)
- [x] **Configuração do Qdrant Multitenant:**
- `QdrantMultitenant` em `src/clients/qdrant_client.py`
- Persistência `on_disk: true` + filtro por `tenant_id`
- [x] **Conector Zabbix API:**
- `ZabbixConnector` em `src/clients/zabbix_connector.py`
- Funções: `get_host_status`, `get_active_problems`, `get_neighbor_alerts`
- [x] **Segurança de Infraestrutura:**
- Docker Secrets configurado
- `DLPFilter` em `src/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`
## Fase 3: Orquestração e Raciocínio (Cérebro) ✅
- [x] **Implementação do Agente de Triagem (1B):**
- `TriageAgent` em `src/agents/triage_agent.py`
- Prompt Engineering para extração de entidades + fallback regex
- Classificação de prioridade/categoria
- [x] **Implementação do Agente Especialista (8B):**
- `SpecialistAgent` em `src/agents/specialist_agent.py`
- Coleta de contexto Zabbix + RAG
- Geração de diagnóstico e resposta
- [x] **Pipeline de Processamento:**
- `TicketPipeline` em `src/agents/pipeline.py`
- Orquestração triage → specialist → audit
- [x] **Desenvolvimento do Multi-Agent Dispatcher:**
- `MultiAgentDispatcher` em `src/agents/dispatcher.py`
- State machine: RECEIVED → TRIAGING → ENRICHING → ANALYZING → VALIDATING → RESPONDING
- Integração com RateLimiter
- [x] **Rate Limiter por Tenant:**
- `RateLimiter` em `src/agents/rate_limiter.py`
- Sliding window (por minuto/hora)
- Limite de requisições simultâneas
- Prioridade por tier de cliente
- [x] **Camada de Validação e Segurança (Self-Correction):**
- `SelfCorrectionLayer` em `src/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
- [x] **Desenvolvimento do Analista de Causa Raiz:**
- `RootCauseAnalyzer` em `src/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) ✅
- [x] **Pipeline de Ingestão de RAG:**
- `RAGIngestionPipeline` em `src/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
- [x] **Parser de Feedback de Encerramento:**
- `FeedbackParser` em `src/flywheel/feedback_parser.py`
- Detecta: Resolvido, Reaberto, Escalação, Esclarecimento
- Análise de sentimento e satisfação
- [x] **Módulo de Memória Episódica:**
- `EpisodicMemory` em `src/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 ✅
- [x] **Configuração do Langfuse Local:**
- `LangfuseClient` em `src/deployment/langfuse_client.py`
- Docker Compose em `docker/langfuse-compose.yml`
- Tracing com context managers (trace/span)
- [x] **Teste de Stress e Latência:**
- `StressTester` em `src/deployment/stress_tester.py`
- Métricas: p50, p95, p99, RPS
- Scripts: `run_dispatcher_stress_test`, `run_rate_limiter_stress_test`
- [x] **Ferramentas de Homologação:**
- `HomologationValidator` em `src/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 🔄
- [x] **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](file:///C:/Users/joao.goncalves/Desktop/Projetos/minions-da-itguys/.gemini/AUDIT_MANIFEST.md)
- [x] **Execução de Agente de Qualidade:**
- [x] Análise "ponto a ponto" do código mapeado
- [x] Focos: Otimizações, Falhas de Segurança, Bugs Lógicos, Code Quality
- [x] Resultado: [AUDIT_REPORT.md](file:///C:/Users/joao.goncalves/.gemini/antigravity/brain/b1ff0191-b9df-4504-9bc7-ebcbbf6c59e4/AUDIT_REPORT.md)
- [x] **Soluções de Auditoria (Fixes):**
- [x] **Crítico:** Criar `src/clients/financial_client.py` (Mock) para desbloquear homologação
- [x] **Crítico:** Implementar Embeddings Reais (BGE/Ollama) no RAG e Memória
- [x] **Alta:** Persistir `AuditLog` no PostgreSQL (Pipeline)
- [x] **Alta:** Refatorar `Config` para uso consistente de `SecretsManager`
- [x] **Média:** Otimizar N+1 queries no `zabbix_connector.py`
- [x] **Baixa:** Validação dinâmica de domínios em `validators.py`
- [ ] **Refinamento e Correção:**
- [x] Verificar todas as alterações
- [x] **Segunda Passagem de Auditoria (Deep Dive)**:
- [x] Análise de regressão e pontos cegos pós-correção
- Resultado: [AUDIT_DEEP_DIVE.md](file:///C:/Users/joao.goncalves/.gemini/antigravity/brain/0ae8ff87-2359-49bb-951c-6f6c593ee5db/AUDIT_DEEP_DIVE.md)
- [x] Validar ausência de regressões
## Fase 7: Integração Telegram e Homologação ✅
- [x] **Pivot de Canal:** Substituição de Email por Telegram Bot para interface ágil.
- [x] **Deploy Langfuse Local:** Tracing habilitado e funcional.
- [x] **Executar Validação de Homologação:**
- [x] Check de Banco de Dados, Ollama (1B/8B), Qdrant e Zabbix OK.
- [x] Novo check de API do Telegram integrado na homologação.
## Fase 8: Refinamento de Persona e UX Conversacional (PRÉ GO-LIVE) ✅
- [x] **Onboarding e Reconhecimento de Usuário:**
- [x] Lógica de saudação consciente do horário (Bom dia/Tarde/Noite).
- [x] Fluxo de captura de Nome e Empresa para usuários desconhecidos (Telegram).
- [x] Persistência de dados do usuário na Memória Episódica.
- [x] **Aprimoramento do Fluxo de Escalação:**
- [x] Implementar cálculo de confiança (Confidence Score) no SpecialistAgent.
- [x] Lógica de "consultar colega" (transição suave) para confiança < 75%.
- [ ] Detecção de sentimento (irritação/impaciência) como gatilho de escalação.
- [ ] Timeout de 2 minutos para escalação automática em atendimentos sem progresso.
- [x] **Camada de Atendimento para Não-Clientes:**
- [x] Implementar modo "Mensageiro Passivo" para empresas não cadastradas.
- [x] Bloqueio estrito de fornecimento de informações para perfis não autenticados.
## Fase 9: Go-Live Final ⏳
- [ ] **Finalização de Ambiente:**
- [ ] Migrar Arthur para servidor de produção (18 cores).
- [ ] Configuração final de variáveis de ambiente de produção.
- [ ] **Monitoramento Pós-Live:**
- [ ] Acompanhamento via Langfuse das primeiras 24h.
- [ ] Validação de isolamento de dados com usuários reais.
---
### Diretrizes para Agentes de Execução:
1. **CPU Only:** Nunca tente usar bibliotecas que exijam CUDA/GPU sem autorização expressa.
2. **Auditabilidade:** Toda decisão do Arthur deve gerar um log no PostgreSQL.
3. **Isolamento:** Garanta que os dados da ENSEG nunca vazem para um diagnóstico da OESTEPAN via filtros de Payload no Qdrant.