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

3.6 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):
    • Definir endpoints/queries no Sistema Financeiro de Produção para buscar: ID, Nome, Domínios de E-mail e Status.
    • Criar esquema Pydantic para o objeto TenantContext.
  • Design do Schema de Auditoria:
    • Criar modelo de banco de dados (PostgreSQL) para registrar: TicketID, Remetente, Contexto Coletado, Pensamento do Modelo, Resposta Enviada e Status de Resolução.

Fase 2: Infraestrutura e Conectores Core (Músculos)

  • Ambiente de Inferência Local:
    • Configurar Ollama ou llama.cpp para rodar Llama 3.2 1B (Triagem) e Llama 3.1 8B (Especialista) em CPU.
    • Otimizar threads (Xeon v3) para evitar contenção.
  • Configuração do Qdrant Multitenant:
    • Inicializar Qdrant com persistência on_disk: true.
    • Definir coleção com suporte a payload filtering por customer_id.
  • Módulo de Comunicação (Mail Client):
    • Implementar MailListener (IMAP) para mail.itguys.com.br.
    • Implementar MailResponder (SMTP) com suporte a threads de e-mail (Headers Message-ID/References).
  • Conector Zabbix API:
    • Implementar wrapper usando zabbix_utils.
    • Criar funções específicas: get_host_status, get_active_problems, get_neighbor_alerts (Causa Raiz).

Fase 3: Orquestração e Raciocínio (Cérebro)

  • Desenvolvimento do Multi-Agent Dispatcher:
    • Criar o orquestrador (LangGraph) que gerencia o estado do chamado.
  • Implementação do Agente de Triagem (1B):
    • Prompt Engineering para extração de entidades (Cliente, Tecnologia, Problema).
    • Lógica de decisão de ferramentas (Single Dispatcher).
  • Desenvolvimento do Analista de Causa Raiz:
    • Código Python para comparar alertas do host atual com alertas de sub-rede/vizinhança no Zabbix.
  • Implementação do Agente Especialista (8B):
    • Prompt de Resolução N2: Recebe o "Contexto Enriquecido" (Zabbix + Histórico 24h + Manuais RAG) e gera a resposta técnica final.

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