AUTOMAÇÃO IA
• 29 · MAI · 2026 • 4 min de leitura • Por Daniel Almeida

Answer Kit: Como Contornar o Limite de Contexto (Tokens) no n8n

Resumo Executivo

O obstáculo técnico número um no desenvolvimento de Agentes SDR Autônomos é o esgotamento do Context Window. Aprenda a implementar a arquitetura de Sumarização e Memória Vetorial.

O Obstáculo Crítico em Agentes de Atendimento B2B

Se você já colocou um Agente Autônomo de IA para atender clientes no WhatsApp ou webchat em produção usando o n8n, certamente se deparou com a barreira invisível mais cara do desenvolvimento de software com LLMs: o estouro da janela de contexto (Context Window Exhaustion).

Em fluxos simples com 3 ou 4 trocas de mensagens, tudo funciona perfeitamente. No entanto, em vendas B2B ou suporte consultivo — onde uma conversa se estende por 15, 20 ou 40 mensagens — a abordagem tradicional de injetar todo o histórico de conversas no prompt causa três problemas graves:


A Falácia da Abordagem Ingênua

A reação comum da maioria dos desenvolvedores iniciantes no n8n é simplesmente usar o nó Window Buffer Memory com limite fixo (ex: k = 10 turnos). Embora isso evite o erro de limite máximo de tokens, ele introduz um problema ainda pior:

"Cortar mensagens antigas de forma cega faz o robô esquecer o nome do cliente, a empresa onde ele trabalha e a dor principal que ele relatou nos primeiros 3 minutos de conversa."

Se o cliente disse na mensagem 1 que tem uma distribuidora com 40 funcionários e na mensagem 12 o agente pergunta novamente qual é o tamanho da equipe dele, a percepção de inteligência é destruída instantaneamente.


A Arquitetura de Memória em 3 Camadas da Nexora

Para solucionar esse gargalo em escala de produção em nossos clientes B2B, implementamos no n8n uma arquitetura modular de memória dividida em três camadas distintas:

Camada Tipo de Armazenamento Escopo Temporal Objetivo Estratégico
1. Curto Prazo (Hot) Redis / Buffer Local Últimas 4 a 6 mensagens Preservar a coerência sintática imediata do diálogo.
2. Médio Prazo (Warm) PostgreSQL (JSONB) Resumo Executivo Dinâmico Manter entidades extraídas (nome, cargo, dores, orçamento).
3. Longo Prazo (Cold) Pinecone / pgvector / Qdrant Embeddings de sessões anteriores Resgatar histórico histórico apenas quando semanticamente relevante (Top-K).

Implementando a Sumarização Progressiva no n8n

Em vez de esperar o contexto atingir o limite para disparar uma limpeza de emergência, utilizamos um gatilho de Sumarização Progressiva Assíncrona.

O fluxo funciona com os seguintes passos dentro do n8n:

  1. A cada mensagem recebida, um nó de código em JavaScript calcula a contagem aproximada de tokens acumulados na sessão ativa do lead.
  2. Quando a contagem ultrapassa 2.500 tokens (ou a cada 6 mensagens concluídas), o fluxo principal responde ao lead imediatamente com a camada Hot e dispara um Sub-Workflow em segundo plano.
  3. O Sub-Workflow aciona um modelo leve e ultra-rápido (como gpt-4o-mini ou claude-3-5-haiku) exclusivamente para sintetizar o histórico recente em um objeto JSON estruturado:
{
  "lead_name": "Marcos Vinicius",
  "company_segment": "Logística e Distribuição",
  "team_size": "45 colaboradores",
  "primary_pain": "Atendimento de pedidos bloqueado por falta de integração no ERP",
  "budget_range": "R$ 5.000 - R$ 10.000/mês",
  "decision_stage": "Avaliação de fornecedores",
  "last_topics_discussed": ["Integração com Sankhya", "Prazo de implantação em 15 dias"]
}

Esse resumo executivo ocupa menos de 150 tokens. Ao injetar esse resumo compacto no System Prompt do Agente Principal, o robô tem conhecimento total do lead consumindo menos de 5% da janela de contexto original.


Código: Truncamento Inteligente com Nó Code (JavaScript)

Abaixo está o código JavaScript otimizado que utilizamos em nossos nós de processamento no n8n para podar o histórico de mensagens mantendo a integridade do diálogo:

// Code Node n8n: Prune Conversation Context
const MAX_RECENT_MESSAGES = 6;
const rawHistory = $input.first().json.messages || [];

// Separar mensagens recentes do histórico profundo
const recentMessages = rawHistory.slice(-MAX_RECENT_MESSAGES);
const olderMessages = rawHistory.slice(0, -MAX_RECENT_MESSAGES);

// Estimativa conservadora de tokens (1 token ~ 3.8 caracteres em PT-BR)
const totalChars = recentMessages.reduce((acc, m) => acc + (m.content || '').length, 0);
const estimatedTokens = Math.ceil(totalChars / 3.8);

return [{
  json: {
    readyMessages: recentMessages,
    hasOlderMessages: olderMessages.length > 0,
    olderMessagesCount: olderMessages.length,
    estimatedTokens: estimatedTokens,
    needsSummarization: rawHistory.length >= 10 && (rawHistory.length % 6 === 0)
  }
}];

Resultados e Métricas Reais

Após a migração para a arquitetura de 3 camadas no n8n em clientes corporativos da Nexora, os dados de telemetria mostraram resultados expressivos:


Conclusão e Boas Práticas

Agentes autônomos que operam em escala comercial exigem engenharia de dados rigorosa. Não trate a janela de contexto de um LLM como um arquivo de log infinito. Ao combinar janela deslizante, sumarização de entidades em JSON e vetorização pontual, sua empresa garante sistemas robustos, rápidos e economicamente sustentáveis.

NEXORA TECNOLOGIA • IA B2B

Quer implementar essa arquitetura na sua empresa?

Consultoria técnica especializada para desenhar fluxos de IA generativa, RAG e automação de alta performance.

DA
Daniel Almeida
Nexora Tecnologia

Engenharia de automações inteligentes, desenvolvimento cognitivo e infraestruturas avançadas de IA.