Arquitetura Multi-Agente

Por Que
Múltiplos Agentes?

A maioria das ferramentas de revisão de código com IA enviam seu código para um LLM com "revise isso" e torcem pelo melhor. O diffray usa agentes especializados que investigam, verificam e validam — como uma equipe de revisores especialistas.

Pergunta Justa

"Um Único Prompt Não Pode Fazer Isso?"

"Se LLMs modernos podem lidar com 200k tokens, por que não simplesmente enviar o diff com contexto relevante e deixar o modelo descobrir? Qual é o sentido de toda essa complexidade de agente?"

O Problema Fundamental: Sua Base de Código Não Cabe

Um prompt só pode ver o que você envia. Para revisão de código significativa, você precisa de contexto de toda a sua base de código — imports, dependências, arquivos relacionados, testes, convenções.

Base de código média: 100k-500k+ linhas
Janela de contexto do LLM: ~200k tokens máx
Teto prático de performance: ~25-30k tokens

Mesmo Que Coubesse — Não Funcionaria

Pesquisas provam que despejar mais contexto em LLMs prejudica ativamente a performance. Isso é chamado de "diluição de contexto."

10-20%

queda de performance de muitos documentos

Curva U

info no meio fica "perdida"

60-80%

taxa de falso positivo em ferramentas de despejo de contexto

Leia a pesquisa: Por Que Contexto Curado Vence Volume de Contexto →

O Que os Agentes Realmente Fornecem

Agentes não apenas "leem prompts melhor". Eles investigam ativamente sua base de código:

Recuperação Seletiva de Contexto

Buscar apenas arquivos relevantes sob demanda, não despejar tudo antecipadamente

Verificação de Hipóteses

"Suspeito de incompatibilidade de tipo" → buscar chamadores → confirmar com análise estática

Investigação Iterativa

Seguir pistas entre arquivos, investigar mais profundamente quando algo parece suspeito

Integração de Ferramentas

Executar linters, verificadores de tipo e analisadores para verificar descobertas com dados reais

Um prompt vê o que você dá a ele.

Um agente encontra o que precisa.

Precisão Sobre Volume

Gerenciamento de Contexto Curado

A diferença entre revisão útil e ruído não é quanto contexto você tem — é ter o contexto certo

Como o diffray Cura Contexto

Análise de Grafo de Dependências

Antes da revisão começar, construímos um mapa de como os arquivos se conectam — imports, exports, definições de tipo e cadeias de chamadas

Filtragem Inteligente

Cada agente recebe apenas o contexto relevante para sua tarefa — agente de segurança recebe fluxos de auth, não estilização de UI

Recuperação Sob Demanda

Agentes buscam contexto adicional apenas quando necessário — seguindo pistas sem sobrecarga antecipada

Contexto em Camadas

Contexto central (diff, tipos) permanece residente; contexto circundante (chamadores, testes) carregado conforme necessário

Abordagem de Despejo de Contexto

200k tokens de tudo — diff, arquivos completos, dependências aleatórias...

Sinal se afoga no ruído
Detalhes importantes no "meio perdido"
Atenção espalhada por código irrelevante

Abordagem de Contexto Curado

Pedaços focados — diff + dependências diretas + padrões relevantes

Cada token serve a um propósito
Info crítica permanece em foco
Atenção total no que importa
Saiba mais sobre nossos motores de IA →

O Problema com "Apenas Pergunte ao LLM"

Uma única chamada de LLM revisando código tem limitações fundamentais

Chamada Única de LLM
Vê apenas o que você envia

Limitado ao diff que você fornece

Geração de um tiro

Sem iteração ou verificação

Não pode seguir imports

Cego a dependências e contexto

Alucinações não verificadas

Sem maneira de validar afirmações

Janela de contexto fixa

Atenção espalhada por todas as preocupações

Conselho genérico

"Certifique-se de que os chamadores estejam atualizados"

Sistema Baseado em Agente
Explora base de código autonomamente

Navega por todo o seu projeto

Análise iterativa

Segue pistas, investiga mais profundamente

Navega estrutura do projeto

Entende imports e dependências

Valida com ferramentas reais

Executa analisadores estáticos para confirmar

Atenção focada

Cada agente se especializa em uma área

Descobertas específicas

"3 locais de chamada têm incompatibilidades de tipo nas linhas 45, 89, 112"

A diferença é entre especulação e investigação.

O Que Torna um Agente Diferente?

Um agente é um sistema de IA que pode pensar, agir e verificar

Usar Ferramentas

Ler arquivos, buscar código, executar analisadores estáticos

Tomar Decisões

Escolher o que investigar com base em descobertas

Iterar

Seguir pistas, verificar hipóteses, investigar mais profundamente

Auto-Corrigir

Validar raciocínio contra dados reais

O Que os Agentes do diffray Realmente Fazem

Quando o diffray revisa seu PR, os agentes não apenas "olham o diff"

Rastrear Dependências

Seguir imports para entender como o código alterado afeta todo o sistema

Verificar Arquivos Relacionados

Examinar testes, configs e documentação para contexto

Verificar Suposições

Executar análise estática para confirmar que problemas suspeitos realmente existem

Referência Cruzada

Consultar definições de tipo, contratos de API e convenções

Exemplo Real

Considere uma mudança de assinatura de função em um PR:

Abordagem de LLM único

"Isso muda o tipo de retorno, certifique-se de que os chamadores estejam atualizados"

Conselho genérico. Sem especificidades.

Abordagem de agente
  1. Procura por todos os usos desta função
  2. Identifica 3 locais de chamada com incompatibilidades de tipo
  3. Verifica se os testes cobrem esses cenários
  4. Reporta arquivos e números de linha específicos

→ "Encontradas 3 mudanças incompatíveis: src/api/users.ts:45, src/hooks/useAuth.ts:89, src/utils/validate.ts:112"

Consciência Completa da Base de Código

O Diff Não É Suficiente

Para realmente entender mudanças, você precisa ver como elas se encaixam em toda a base de código

O que uma revisão apenas de diff vê

Nova função formatUserName() adicionada

Parece sintaticamente correto

Sem bugs óbvios nessas 20 linhas

Veredito: "LGTM" — mas perdendo completamente o panorama geral

O que um agente consciente da base de código vê

Esta função duplica utils/names.ts:formatName()

Função existente lida com casos extremos que esta perde

3 outros arquivos já usam o utilitário existente

Isso quebra a convenção de nomenclatura em /docs/CONVENTIONS.md

Veredito: "Considere usar formatName() existente de utils/names.ts"

O que os agentes do diffray verificam além do diff:

Detecção de Duplicatas

O desenvolvedor está reinventando a roda? Uma solução similar já existe na base de código?

Consistência de Padrões

Essas mudanças seguem padrões estabelecidos? Ou introduzem uma abordagem conflitante?

Análise de Impacto

Como essas mudanças afetam o resto do sistema? O que depende do código modificado?

Aderência a Convenções

As convenções do time e padrões documentados estão sendo seguidos?

Um diff mostra o que mudou. Contexto completo da base de código mostra se deveria ter mudado.

O Problema da Diluição de Contexto

Um único LLM revisando todos os aspectos do código simultaneamente enfrenta um problema fundamental: diluição de contexto.

À medida que tenta verificar segurança, performance, bugs e estilo de uma vez, sua atenção se espalha. Quanto mais preocupações ele equilibra, mais provável é que perca problemas.

Solução do diffray: Agentes especializados, cada um com seu próprio foco estreito. Como ter uma equipe de especialistas vs. um generalista tentando fazer tudo.

Cada Agente:

Contexto Curado

Começa com contexto precisamente coletado e focado — apenas os arquivos relevantes, dependências e padrões para sua tarefa específica

Permanece Focado

Um trabalho, feito completamente — agente de segurança só procura vulnerabilidades, nunca desvia para estilização

Vai Fundo

Pode gastar todo o contexto em sua especialidade — sem dividir atenção entre 10 preocupações diferentes

Nunca Esquece

Não perde o rastro no meio da revisão — toda regra, toda verificação, toda vez, sem exceção

Nunca Cansa

50º PR do dia recebe a mesma atenção que o primeiro — sem fadiga, sem pressa, sem atalhos

9 Agentes Especializados

Conheça o Time de Revisão

Segurança, Performance, Bugs, Arquitetura, Testes e mais — cada agente traz profunda expertise para seu domínio. Veja exatamente o que cada um faz.

Os Motores Por Trás do diffray

Fundações poderosas permitindo verdadeira colaboração multi-agente

Motor Central

  • Últimos modelos da Anthropic (Haiku, Sonnet, Opus)
  • Seleção de modelo correspondente à tarefa
  • Busca inteligente de arquivos
  • Gerenciamento de tarefas integrado

Motor de Ferramentas

  • Integração com analisador estático
  • Verificação de hipóteses
  • Saída concreta de ferramenta
  • Falsos positivos drasticamente reduzidos

Arquitetura Multi-Agente

  • Execução paralela de agentes
  • Contexto compartilhado da base de código
  • Deduplicação de descobertas
  • Validação entre agentes

O Pipeline de Revisão em Fases

Cada revisão passa por um pipeline multi-fase, cada fase otimizada para seu propósito

1

Clonar

Buscar repo e fazer checkout do PR

2

Prep de Dados

Construir grafo de dependências

3

Resumir

LLM resume mudanças

4

Triagem

Rotear arquivos para agentes

5

Regras

Carregar e filtrar regras

6

Revisar

Análise paralela dos agentes

7

Deduplicar

Mesclar e re-pontuar

8

Validação

Verificar e re-pontuar

9

Reportar

Gerar comentários do PR

O Resultado

Um sistema multi-agente que combina raciocínio de IA com análise concreta de código — entregando descobertas precisas e verificadas em vez de especulação.

Recurso Gratuito

Guia de Revisão de Código com IA

Insights baseados em dados de mais de 50 fontes de pesquisa. Por que desenvolvedores gastam 5-6 horas semanais em revisão, por que código gerado por IA precisa de mais escrutínio, e como implementar ferramentas de IA em que desenvolvedores realmente confiam.

Experimente a Diferença
Que os Agentes Fazem

Veja como investigação vence especulação. Experimente o diffray grátis no seu próximo PR.

Teste grátis de 14 dias
Sem necessidade de cartão de crédito
Configuração de 2 minutos