# RAG Architect

> Use quando o usuário pede para projetar pipelines RAG, otimizar estratégias de recuperação, escolher modelos de embedding, implementar busca vetorial ou construir sistemas de recuperação de conhecimento.

- Skill: `ricneves-ai/rag-architect` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ricneves-ai/rag-architect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ricneves-ai/rag-architect/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ricneves-ai (https://skillmd.com/u/ricneves-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ricneves-ai/rag-architect

---


# RAG Architect - Skill de Nível PODEROSO

## Visão Geral

A skill RAG (Retrieval-Augmented Generation) Architect fornece ferramentas e conhecimento abrangentes para projetar, implementar e otimizar pipelines RAG de nível produção. Esta skill cobre todo o ecossistema RAG, desde estratégias de chunking de documentos até frameworks de avaliação, permitindo que você construa sistemas de recuperação escaláveis, eficientes e precisos.

## Competências Principais

### 1. Processamento de Documentos e Estratégias de Chunking

#### Chunking de Tamanho Fixo
- **Chunking por caractere**: Divisão simples por contagem de caracteres (ex.: 512, 1024, 2048 chars)
- **Chunking por token**: Divisão por contagem de tokens para respeitar limites do modelo
- **Estratégias de sobreposição**: 10-20% de sobreposição para manter continuidade de contexto
- **Prós**: Tamanhos de chunk previsíveis, implementação simples, tempo de processamento consistente
- **Contras**: Pode quebrar unidades semânticas, limites de contexto ignorados
- **Melhor para**: Documentos uniformes, quando tamanhos de chunk consistentes são críticos

#### Chunking Baseado em Frases
- **Detecção de limite de frase**: Usando NLTK, spaCy ou padrões regex
- **Agrupamento de frases**: Combinando frases até atingir o limite de tamanho
- **Preservação de parágrafos**: Evitando divisões no meio de parágrafos quando possível
- **Prós**: Preserva limites de linguagem natural, melhor legibilidade
- **Contras**: Tamanhos de chunk variáveis, potencial para chunks muito curtos/longos
- **Melhor para**: Texto narrativo, artigos, livros

#### Chunking Baseado em Parágrafos
- **Detecção de parágrafo**: Duas novas linhas, tags HTML, formatação markdown
- **Divisão hierárquica**: Respeitando a estrutura do documento (seções, subseções)
- **Balanceamento de tamanho**: Mesclando parágrafos pequenos, dividindo parágrafos grandes
- **Prós**: Preserva a estrutura lógica do documento, mantém coerência de tópico
- **Contras**: Tamanhos altamente variáveis, pode criar chunks muito grandes
- **Melhor para**: Documentos estruturados, documentação técnica

#### Chunking Semântico
- **Modelagem de tópicos**: Usando TF-IDF, similaridade de embeddings para detecção de tópicos
- **Divisão consciente de títulos**: Respeitando a hierarquia do documento (H1, H2, H3)
- **Limites baseados em conteúdo**: Detectando mudanças de tópico usando similaridade semântica
- **Prós**: Mantém coerência semântica, respeita a estrutura do documento
- **Contras**: Implementação complexa, computacionalmente caro
- **Melhor para**: Conteúdo longo, manuais técnicos, artigos de pesquisa

#### Chunking Recursivo
- **Abordagem hierárquica**: Tente chunks maiores primeiro, divida recursivamente se necessário
- **Divisão em múltiplos níveis**: Diferentes estratégias em diferentes níveis
- **Otimização de tamanho**: Minimize o número de chunks respeitando os limites de tamanho
- **Prós**: Utilização ótima de chunk, preserva contexto quando possível
- **Contras**: Lógica complexa, potencial overhead de desempenho
- **Melhor para**: Tipos de conteúdo mistos, quando otimização de contagem de chunks é importante

#### Chunking Consciente de Documento
- **Detecção de tipo de arquivo**: Páginas de PDF, seções de Word, elementos HTML
- **Preservação de metadados**: Cabeçalhos, rodapés, números de página, seções
- **Tratamento de tabela e imagem**: Processamento especial para elementos não textuais
- **Prós**: Preserva estrutura do documento e metadados
- **Contras**: Implementação específica de formato necessária
- **Melhor para**: Coleções de documentos multi-formato, quando metadados são importantes

### 2. Seleção de Modelo de Embedding

#### Considerações de Dimensão
- **128-256 dimensões**: Recuperação rápida, menor uso de memória, adequado para domínios simples
- **512-768 dimensões**: Desempenho equilibrado, bom para a maioria das aplicações
- **1024-1536 dimensões**: Alta qualidade, melhor para domínios complexos, maior custo
- **2048+ dimensões**: Qualidade máxima, casos de uso especializados, recursos significativos

#### Tradeoffs de Velocidade vs. Qualidade
- **Modelos rápidos**: sentence-transformers/all-MiniLM-L6-v2 (384 dim, ~14k tokens/seg)
- **Modelos equilibrados**: sentence-transformers/all-mpnet-base-v2 (768 dim, ~2.8k tokens/seg)
- **Modelos de qualidade**: text-embedding-ada-002 (1536 dim, API OpenAI)
- **Modelos especializados**: Modelos fine-tuned específicos de domínio

#### Categorias de Modelos
- **Propósito geral**: all-MiniLM, all-mpnet, Universal Sentence Encoder
- **Embeddings de código**: CodeBERT, GraphCodeBERT, CodeT5
- **Texto científico**: SciBERT, BioBERT, ClinicalBERT
- **Multilíngue**: LaBSE, multilingual-e5, paraphrase-multilingual

### 3. Seleção de Banco de Dados Vetorial

#### Pinecone
- **Serviço gerenciado**: Totalmente hospedado, auto-escalonamento
- **Funcionalidades**: Filtragem de metadados, busca híbrida, atualizações em tempo real
- **Preços**: $70/mês para 1M vetores (1536 dim), escalonamento pago por uso
- **Melhor para**: Aplicações de produção, quando serviço gerenciado é preferido
- **Contras**: Lock-in de fornecedor, custos podem escalar rapidamente

#### Weaviate
- **Open source**: Opções auto-hospedadas ou em nuvem disponíveis
- **Funcionalidades**: API GraphQL, busca multimodal, vetorização automática
- **Escalabilidade**: Escalonamento horizontal, indexação HNSW
- **Melhor para**: Tipos de dados complexos, quando API GraphQL é preferida
- **Contras**: Curva de aprendizado, requer gerenciamento de infraestrutura

#### Qdrant
- **Baseado em Rust**: Alto desempenho, baixo consumo de memória
- **Funcionalidades**: Filtragem de payload, clustering, implantação distribuída
- **API**: Interfaces REST e gRPC
- **Melhor para**: Requisitos de alto desempenho, ambientes com recursos limitados
- **Contras**: Comunidade menor, menos integrações

#### Chroma
- **Banco de dados embarcado**: Baseado em SQLite, fácil desenvolvimento local
- **Funcionalidades**: Coleções, filtragem de metadados, persistência
- **Escalabilidade**: Limitada, adequada para prototipagem e implantações pequenas
- **Melhor para**: Desenvolvimento, testes, aplicações de pequena escala
- **Contras**: Não adequado para escala de produção

#### pgvector (PostgreSQL)
- **Integração SQL**: Aproveite infraestrutura PostgreSQL existente
- **Funcionalidades**: Conformidade ACID, joins com dados relacionais, ecossistema maduro
- **Desempenho**: Indexação ivfflat e HNSW, processamento de consultas paralelo
- **Melhor para**: Quando você já usa PostgreSQL, precisa de conformidade ACID
- **Contras**: Requer expertise em PostgreSQL, menos especializado que bancos dedicados

### 4. Estratégias de Recuperação

#### Recuperação Densa
- **Similaridade semântica**: Usando similaridade de cosseno de embedding
- **Vantagens**: Captura significado semântico, lida bem com paráfrases
- **Limitações**: Pode perder correspondências exatas de palavras-chave, requer bons embeddings
- **Implementação**: Busca de similaridade vetorial com algoritmos k-NN ou ANN

#### Recuperação Esparsa
- **Baseada em palavras-chave**: TF-IDF, BM25, Elasticsearch
- **Vantagens**: Correspondência exata de palavras-chave, resultados interpretáveis
- **Limitações**: Perde similaridade semântica, vulnerável a incompatibilidade de vocabulário
- **Implementação**: Índices invertidos, análise de frequência de termos

#### Recuperação Híbrida
- **Abordagem combinada**: Recuperação densa + esparsa com fusão de pontuações
- **Estratégias de fusão**: Reciprocal Rank Fusion (RRF), combinação ponderada
- **Benefícios**: Combina compreensão semântica com correspondência exata
- **Complexidade**: Requer ajuste de pesos de fusão, infraestrutura mais complexa

#### Reranking
- **Abordagem em dois estágios**: Recuperação inicial seguida de reranking
- **Modelos de reranking**: Cross-encoders, transformers de reranking especializados
- **Benefícios**: Maior precisão, pode usar modelos mais sofisticados para classificação final
- **Tradeoff**: Latência adicional, custo computacional

### 5. Técnicas de Transformação de Consulta

#### HyDE (Hypothetical Document Embeddings)
- **Abordagem**: Gere resposta hipotética, faça embedding da resposta em vez da consulta
- **Benefícios**: Melhora a recuperação ao corresponder ao estilo do documento em vez do estilo da consulta
- **Implementação**: Use LLM para gerar documento hipotético, faça embedding desse
- **Casos de uso**: Quando consultas e documentos têm estilos diferentes

#### Geração de Múltiplas Consultas
- **Abordagem**: Gere múltiplas variações de consulta, recupere para cada uma, mescle resultados
- **Benefícios**: Aumenta o recall, lida com ambiguidade de consulta
- **Implementação**: LLM gera 3-5 variações de consulta, desduplique resultados
- **Considerações**: Maior custo e latência devido a múltiplas recuperações

#### Step-Back Prompting
- **Abordagem**: Gere versão mais ampla e geral de consulta específica
- **Benefícios**: Recupera contexto mais geral que ajuda a responder perguntas específicas
- **Implementação**: Transforme "Qual é a capital da França?" em "Quais são as capitais europeias?"
- **Casos de uso**: Quando perguntas específicas precisam de contexto geral

### 6. Otimização de Janela de Contexto

#### Montagem Dinâmica de Contexto
- **Ordenação por relevância**: Chunks mais relevantes primeiro
- **Otimização de diversidade**: Evite informações redundantes
- **Gerenciamento de orçamento de token**: Caiba dentro dos limites de contexto do modelo
- **Inclusão hierárquica**: Inclua resumos antes de chunks detalhados

#### Compressão de Contexto
- **Sumarização**: Comprima chunks menos relevantes preservando informações-chave
- **Extração de informações-chave**: Extraia apenas fatos/entidades relevantes
- **Compressão baseada em template**: Use formatos estruturados para reduzir uso de tokens
- **Inclusão seletiva**: Inclua apenas chunks acima do threshold de relevância

### 7. Frameworks de Avaliação

#### Métricas de Fidelidade
- **Definição**: Quão bem as respostas geradas estão fundamentadas no contexto recuperado
- **Medição**: Verificação de fatos contra documentos fonte
- **Implementação**: Modelos NLI para verificar implicação entre resposta e contexto
- **Threshold**: >90% para sistemas de produção

#### Métricas de Relevância
- **Relevância de contexto**: Quão relevantes são os chunks recuperados para a consulta
- **Relevância de resposta**: Quão bem a resposta aborda a pergunta original
- **Medição**: Similaridade de embedding, avaliação humana, LLM-como-juiz
- **Metas**: Relevância de contexto >0,8, Relevância de resposta >0,85

#### Precisão e Recall de Contexto
- **Precision@K**: Porcentagem dos K principais resultados que são relevantes
- **Recall@K**: Porcentagem de documentos relevantes encontrados nos K principais resultados
- **Mean Reciprocal Rank (MRR)**: Média das classificações recíprocas do primeiro resultado relevante
- **NDCG@K**: Normalized Discounted Cumulative Gain em K

#### Métricas de Ponta a Ponta
- **RAGAS**: Framework abrangente de avaliação de RAG
- **Correção**: Precisão factual das respostas geradas
- **Completude**: Cobertura de todos os aspectos relevantes
- **Consistência**: Consistência entre múltiplas execuções com a mesma consulta

### 8. Padrões de Produção

#### Estratégias de Cache
- **Cache no nível de consulta**: Cache de resultados para consultas idênticas
- **Cache semântico**: Cache para consultas semanticamente similares
- **Cache no nível de chunk**: Cache de computações de embedding
- **Cache em múltiplos níveis**: Redis para consultas quentes, disco para consultas mornas

#### Recuperação por Streaming
- **Carregamento progressivo**: Resultados de stream conforme ficam disponíveis
- **Geração incremental**: Gere respostas enquanto ainda recupera
- **Atualizações em tempo real**: Lide com atualizações de documentos sem reprocessamento completo
- **Gerenciamento de conexão**: Lide com desconexões de cliente graciosamente

#### Mecanismos de Fallback
- **Degradação graciosa**: Fallback para recuperação mais simples se a primária falhar
- **Fallbacks de cache**: Sirva resultados desatualizados quando a recuperação estiver indisponível
- **Fontes alternativas**: Múltiplos bancos de dados vetoriais para redundância
- **Tratamento de erros**: Recuperação abrangente de erros e comunicação ao usuário

### 9. Otimização de Custos

#### Gerenciamento de Custo de Embedding
- **Processamento em lote**: Agrupe documentos para embedding e reduza custos de API
- **Estratégias de cache**: Faça cache de embeddings para evitar recomputação
- **Seleção de modelo**: Equilibre custo vs. qualidade para modelos de embedding
- **Otimização de atualização**: Re-faça embedding apenas de documentos alterados

#### Otimização de Banco de Dados Vetorial
- **Otimização de índice**: Escolha tipos de índice adequados para o caso de uso
- **Compressão**: Use quantização para reduzir custos de armazenamento
- **Armazenamento em camadas**: Estratégias de dados quentes/mornos/frios
- **Escalabilidade de recursos**: Auto-escalonamento com base em padrões de consulta

#### Otimização de Consultas
- **Roteamento de consulta**: Roteie consultas simples para métodos mais baratos
- **Cache de resultados**: Evite recuperações caras repetidas
- **Consultas em lote**: Processe múltiplas consultas juntas quando possível
- **Filtragem inteligente**: Use filtros de metadados para reduzir o espaço de busca

### 10. Guardrails e Segurança

#### Filtragem de Conteúdo
- **Detecção de toxicidade**: Filtre conteúdo prejudicial ou inapropriado
- **Detecção de PII**: Identifique e lide com informações pessoalmente identificáveis
- **Validação de conteúdo**: Garanta que o conteúdo recuperado atenda aos padrões de qualidade
- **Verificação de fonte**: Valide autenticidade e confiabilidade do documento

#### Segurança de Consulta
- **Prevenção de injeção**: Previna ataques maliciosos de injeção de consulta
- **Limitação de taxa**: Previna abuso e garanta uso justo
- **Validação de consulta**: Sanitize e valide entradas de usuário
- **Controles de acesso**: Garanta que usuários possam acessar apenas conteúdo autorizado

#### Segurança de Resposta
- **Detecção de alucinação**: Identifique quando o modelo gera afirmações não suportadas
- **Pontuação de confiança**: Forneça níveis de confiança para respostas geradas
- **Atribuição de fonte**: Sempre forneça fontes para afirmações factuais
- **Tratamento de incerteza**: Lide graciosamente com casos onde a resposta é incerta

## Melhores Práticas de Implementação

### Fluxo de Trabalho de Desenvolvimento
1. **Levantamento de requisitos**: Entenda o caso de uso, escala e requisitos de qualidade
2. **Análise de dados**: Analise as características do corpus de documentos
3. **Desenvolvimento de protótipo**: Construa um pipeline RAG mínimo viável
4. **Otimização de chunking**: Teste diferentes estratégias de chunking
5. **Ajuste de recuperação**: Otimize parâmetros e thresholds de recuperação
6. **Configuração de avaliação**: Implemente métricas de avaliação abrangentes
7. **Implantação de produção**: Implementação pronta para escala com monitoramento

### Monitoramento e Observabilidade
- **Análise de consultas**: Rastreie padrões de consulta e desempenho
- **Métricas de recuperação**: Monitore precisão, recall e latência
- **Qualidade de geração**: Rastreie pontuações de fidelidade e relevância
- **Saúde do sistema**: Monitore desempenho e disponibilidade do banco de dados
- **Rastreamento de custos**: Monitore custos de embedding e banco de dados vetorial

### Manutenção e Atualizações
- **Atualização de documentos**: Lide com novos documentos e atualizações
- **Manutenção de índice**: Otimização regular do banco de dados vetorial
- **Atualizações de modelo**: Avalie e migre para modelos melhorados
- **Ajuste de desempenho**: Otimização contínua com base em padrões de uso
- **Atualizações de segurança**: Avaliações de segurança e atualizações regulares

## Problemas Comuns e Soluções

### Estratégia de Chunking Ruim
- **Problema**: Chunks quebram no meio de frases ou perdem contexto
- **Solução**: Use chunking consciente de limites com sobreposição

### Baixa Precisão de Recuperação
- **Problema**: Chunks recuperados não são relevantes para a consulta
- **Solução**: Melhore o modelo de embedding, adicione reranking, ajuste o threshold de similaridade

### Alta Latência
- **Problema**: Recuperação e geração lentas
- **Solução**: Otimize indexação vetorial, implemente cache, use modelos de embedding mais rápidos

### Qualidade Inconsistente
- **Problema**: Qualidade de resposta variável entre diferentes consultas
- **Solução**: Implemente avaliação abrangente, adicione pontuação de qualidade, melhore fallbacks

### Problemas de Escalabilidade
- **Problema**: O sistema não escala com o aumento da carga
- **Solução**: Implemente cache adequado, sharding de banco de dados e auto-escalonamento

## Conclusão

Construir sistemas RAG eficazes requer consideração cuidadosa de cada componente no pipeline. A chave para o sucesso é entender os tradeoffs entre diferentes abordagens e escolher a combinação certa de técnicas para seu caso de uso específico. Comece com abordagens simples e adicione sofisticação gradualmente com base em resultados de avaliação e requisitos de produção.

Esta skill fornece a base para tomar decisões informadas ao longo do ciclo de vida de desenvolvimento do RAG, desde o design inicial até a implantação em produção e manutenção contínua.

