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

77 lines
4.4 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
- [ ] **Desenvolvimento do Multi-Agent Dispatcher:**
- Criar o orquestrador (LangGraph) que gerencia o estado do chamado.
- Incluir lógica de `RateLimiter` por Tenant na entrada do Dispatcher (Fila de Prioridade/Descarte).
- [ ] **Desenvolvimento do Analista de Causa Raiz:**
- Código Python para comparar alertas do host atual com alertas de sub-rede/vizinhança no Zabbix.
- [ ] **Camada de Validação e Segurança (Self-Correction):**
- Implementar Schemas Pydantic rigorosos para todas as saídas de ferramentas.
- Criar nó de "Crítico/Reflexão" no LangGraph para validar a existência de hosts/serviços antes de sugerir ações.
- Adicionar asserções de segurança (Defensive Programming) para bloquear ações em domínios não permitidos.
## Fase 4: Flywheel e Qualidade (Aprendizado)
- [ ] **Pipeline de Ingestão de RAG:**
- Criar script para processar diretórios de Markdowns/PDFs técnicos e indexar no Qdrant com metadados de tecnologia.
- **Segurança:** Implementar passo de sanitização onde anexos rodam em sandbox e apenas texto puro é extraído.
- [ ] **Parser de Feedback de Encerramento:**
- Desenvolver lógica para ler respostas de e-mail dos técnicos e identificar se o caso foi "Resolvido" ou "Reaberto".
- [ ] **Módulo de Memória Episódica:**
- Lógica para salvar casos resolvidos como "Lições Aprendidas" para futuras consultas similares.
## Fase 5: Implantação e Monitoramento
- [ ] **Configuração do Langfuse Local:**
- Subir Langfuse via Docker para rastreamento (tracing) de todos os chamados.
- [ ] **Teste de Stress e Latência:**
- Validar tempo de resposta com 5+ chamados simultâneos (Contenção de CPU Xeon).
- [ ] **Homologação com Sistema Financeiro:**
- Validar a busca dinâmica de clientes em tempo real.
---
### 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.