93 lines
4.7 KiB
Markdown
93 lines
4.7 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
|
|
- [ ] **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.
|