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

4.4 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 TenantContext em src/models/tenant.py
  • Design do Schema de Auditoria:
    • Modelo AuditLog em src/models/audit.py (PostgreSQL)
    • Migrations em src/database/migrations.py
  • Mapeamento de Segredos:
    • SecretsManager em src/security/secrets_manager.py
    • Suporte a Docker Secrets + variáveis de ambiente

Fase 2: Infraestrutura e Conectores Core

  • 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)
  • Configuração do Qdrant Multitenant:
    • QdrantMultitenant em src/clients/qdrant_client.py
    • Persistência on_disk: true + filtro por tenant_id
  • Conector Zabbix API:
    • ZabbixConnector em src/clients/zabbix_connector.py
    • Funções: get_host_status, get_active_problems, get_neighbor_alerts
  • 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) 🔄

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