Você construiu o agente. O demo foi impecável. O cliente ficou impressionado.
Então você entregou. E na primeira semana real de uso, o agente começou a esquecer o que foi decidido três mensagens atrás. Respondeu de forma inconsistente. Repetiu erros que você já tinha corrigido. Eventualmente, travou.
Você voltou ao Claude, ao Cursor, ao GPT-4. Tentou mais prompts. Nada resolveu de forma permanente.
Esse é o padrão mais comum em 2026: agentes que funcionam no demo e falham em produção.
A causa não é o modelo. A causa é o contexto.
O Demo Funciona. A Produção Quebra.
Estudos de mercado consistently documentam que a maioria dos projetos de IA não chega a produção com sucesso. O RAND Corporation documentou que mais de 80% dos projetos de IA falham — o dobro da taxa de falha de projetos de TI convencionais. Para agentes de IA especificamente, a taxa tende a ser ainda maior porque as exigências operacionais são mais complexas: decisões autônomas, multi-step, em dados reais.
Comunidades como r/ArtificialIntelligence e r/SideProject estão cheia de threads sobre o mesmo tema: agentes que funcionam no demo e quebram na primeira semana de uso real.
Porque o problema não aparece quando você está construindo. Aparece quando o sistema precisa funcionar sem você do lado.
Builders que chegaram longe com vibe coding relatam o mesmo padrão: o agente resolve bem os primeiros casos, depois começa a errar em variações simples. A inconsistência aumenta com o tempo de uso. O debugging vira rotina.
Isso não é bug. É arquitetura.
O Problema Não É o Modelo
A primeira coisa que a maioria dos builders faz quando um agente quebra: troca o modelo. GPT-4 para Claude. Claude para Gemini. Gemini para o novo modelo da semana.
O problema persiste.
Porque a causa não é capacidade do modelo — é o que o modelo recebe para trabalhar.
O que são context failures
Todo LLM opera sobre uma janela de contexto: um bloco de tokens que inclui instruções do sistema, histórico de conversa, documentos recuperados, definições de ferramentas, e dados do usuário. O modelo responde com base nesse bloco. Só nele.
Quando esse bloco está:
- sobrecarregado com instruções desnecessárias
- sem as informações relevantes para aquela tarefa específica
- com histórico acumulado que contradiz instruções anteriores
- com schemas de ferramentas que ocupam milhares de tokens sem necessidade
…o modelo degrada. Não porque é ruim. Porque não tem o contexto certo para responder bem.
A Anthropic documentou isso diretamente: “Most production AI failures are context failures, not model failures.”
Context engineering é a disciplina que resolve isso.
O que é Context Engineering
Context engineering é a prática de arquitetar o ambiente de informação completo de um agente de IA — definindo o que ele sabe, quando sabe, e em que formato recebe esse conhecimento ao longo do tempo.
Em termos práticos: não é escrever um bom prompt. Enquanto prompt engineering otimiza uma pergunta específica, context engineering define toda a infraestrutura de informação que o agente recebe antes de responder qualquer coisa.
Inclui:
- instruções do sistema
- documentos recuperados
- histórico de conversa
- definições de ferramentas
- memória estruturada
- dados do usuário
A diferença prática: um bom prompt melhora uma resposta. Context engineering bem implementado faz o agente inteiro se comportar de forma consistente ao longo de semanas de uso real.
Para o solo builder, isso significa a diferença entre um agente que você precisa monitorar constantemente e um agente que opera de forma autônoma enquanto você trabalha em outra coisa.
Os 5 Padrões que Separam Demos de Produtos Reais
A prática de context engineering em produção consolidou cinco padrões que aparecem consistentemente nos sistemas mais robustos. Aqui estão eles traduzidos para a realidade do solo builder.
1. Progressive Disclosure — Carregue Contexto Sob Demanda
O erro mais comum: colocar todas as instruções no system prompt desde o início.
Se o agente pode realizar 20 tipos de tarefas diferentes, mas o usuário nessa sessão vai usar só 2, você está desperdiçando tokens em 18 conjuntos de instruções que o modelo vai tentar processar de qualquer forma — aumentando custo e reduzindo qualidade.
Progressive disclosure resolve isso em três camadas:
- Discovery — o agente conhece o nome e a descrição de cada capacidade
- Activation — as instruções completas carregam apenas quando a capacidade é acionada
- Execution — scripts específicos da tarefa carregam durante a execução
O formato que a Anthropic adotou em dezembro de 2025 — skills em markdown com frontmatter YAML — foi replicado pelo OpenAI, Google, GitHub e Cursor em semanas. Se você usa Claude Code, já está operando nesse modelo.
Como implementar hoje: Estruture seu CLAUDE.md em seções modulares. Não coloque tudo no system prompt. Use arquivos separados para capacidades distintas e carregue-os conforme a tarefa.
<!-- CLAUDE.md básico com progressive disclosure -->
# Sistema Principal
Você é um assistente de negócios para [nome do projeto].
## Capacidades disponíveis
- /clientes — gerenciar base de clientes
- /relatorios — gerar relatórios financeiros
- /suporte — responder tickets
<!-- As instruções completas de cada capacidade ficam em arquivos separados -->
<!-- Carregadas via MCP ou RAG somente quando acionadas -->
Ganho direto: redução de 40-60% no uso de tokens em sessões focadas.
2. Context Compression — Gerencie Histórico Longo
Agentes que operam por horas ou dias acumulam histórico. Esse histórico ocupa tokens. Depois de algumas horas, o início da conversa começa a cair fora da janela de contexto — e o agente “esquece” decisões importantes.
A abordagem ingênua: simplesmente truncar o histórico. O resultado: o agente perde continuidade e começa a contradizer o que foi definido horas antes.
Context compression resolve com duas técnicas combinadas:
- Sliding window: mantém as últimas N mensagens completas (preserva o “ritmo” do modelo)
- LLM summarization: comprime mensagens mais antigas em resumos estruturados que preservam decisões, erros encontrados e contexto relevante
A regra crítica: preserve sempre os traces de erro. Se o agente tentou algo que falhou, esse registro precisa sobreviver à compressão. Sem ele, o agente repete os mesmos erros indefinidamente.
Como implementar com n8n:
Estrutura do workflow: dois Code nodes em sequência com um HTTP Request entre eles. O Code node 1 separa as mensagens em recentes e antigas. O HTTP Request envia as
antigaspara um LLM (ex: GPT-4o-mini, baratíssimo para sumarização). O Code node 2 monta o array final com o resumo injetado.
// Code node 1/2 — separa janela de contexto
// Saída 'antigas': HTTP Request node para LLM → retorna resumo
// Saída 'recentes': vai direto para o Code node 2
const itens = $input.all();
const mensagens = itens.map(item => item.json);
const janela = 10;
const recentes = mensagens.slice(-janela);
const antigas = mensagens.slice(0, -janela);
if (antigas.length > 0) {
$output.first().item.json = {
recentes,
count: antigas.length
};
return antigas.map(m => ({ json: { ...m, _compress: true } }));
}
$output.first().item.json = {
recentes: mensagens,
count: 0
};
return [];
// Code node 2/2 — injeta resumo no contexto
// Entrada 1: $input (recentes)
// Entrada 2: $('HTTP Request') (resumo do LLM em choices[0].message.content)
const item = $input.first().json;
const recentes = item.recentes;
const recentesAsSystem = recentes.map(m => ({
json: {
role: m.role || 'user',
content: m.content || JSON.stringify(m)
}
}));
let contextoAnterior = '';
const llmResponse = $('HTTP Request').first().json;
if (llmResponse && llmResponse.choices && llmResponse.choices[0]) {
contextoAnterior = llmResponse.choices[0].message.content;
}
return [
{ json: { role: 'system', content: `## Contexto Anterior Resumido\n\n${contextoAnterior}\n\n---\n\n## Sessão Recente` } },
...recentesAsSystem
];
Configuração do HTTP Request node:
- Method: POST
- URL:
https://api.openai.com/v1/chat/completions(ou endpoint do seu provedor)- Body:
{ "model": "gpt-4o-mini", "messages": [ {"role": "system", "content": "Você é um sumarizador de conversação. Receberá um histórico de mensagens. Retorne um resumo estruturado que preserve: decisões tomadas, erros mencionados, contexto do problema, e preferências declaradas. Formato: ## Decisões\n## Erros a Evitar\n## Contexto\n## Preferências"}, {"role": "user", "content": "Histórico:\n" + $input.all().map(i => JSON.stringify(i.json)).join('\n') } ] }- Headers:
Authorization: Bearer YOUR_API_KEY,Content-Type: application/json
3. Context Routing — Direcione Queries para o Contexto Certo
Agentes multi-domínio — que lidam com suporte ao cliente, faturamento, onboarding e produto ao mesmo tempo — sofrem de contaminação de contexto. Uma query sobre faturamento puxa instruções de suporte que não são relevantes, confundindo o modelo.
Context routing classifica a query antes de qualquer outra coisa e carrega apenas o conjunto de contexto relevante para aquele domínio.
Dois modelos práticos:
- Rule-based routing: regras simples por keyword ou pattern matching (rápido, barato, confiável para casos previsíveis)
- LLM-powered routing: um modelo menor classifica a intent e direciona para o agente especializado correto (mais preciso para casos ambíguos)
A combinação híbrida funciona melhor: regras simples para 70-80% dos casos, LLM para o restante.
Aplicação direta para o solo builder: se você está construindo um agente para atender clientes de um micro-SaaS, separe os contextos de suporte técnico, billing e onboarding. O agente responde melhor quando opera no contexto certo, não em um soup de todas as instruções ao mesmo tempo.
Exemplo concreto em n8n: workflow de routing para um assistente de micro-SaaS com 3 domínios.
// Code node — classificador de intent
// Input: $input.first().json.message (texto do usuário)
// Output: json com { routing: 'suporte' | 'billing' | 'onboarding' }
const message = $input.first().json.message || '';
const lower = message.toLowerCase();
// Padrões de billing
const billingPatterns = /reembolso|estorno|fatura|cobranca|pagamento|plano|preço|upgrade|downgrade|cancelar assinatura/i;
if (billingPatterns.test(message)) {
return [{ json: { routing: 'billing', confidence: 'high' } }];
}
// Padrões de onboarding
const onboardingPatterns = /começar|primeiro passo|instalar|configurar|conta nova|criar|como começar/i;
if (onboardingPatterns.test(message)) {
return [{ json: { routing: 'onboarding', confidence: 'high' } }];
}
// Padrões de suporte técnico
const suportePatterns = /bug|erro|não funciona|problema|crash|falha|tela|bloqueio/i;
if (suportePatterns.test(message)) {
return [{ json: { routing: 'suporte', confidence: 'high' } }];
}
// Fallback: LLM classifier para casos ambíguos
return [{ json: { routing: 'suporte', confidence: 'low', needs_llm_classify: true } }];
O node de decisão do n8n usa o campo routing para direcionar o fluxo para o sub-agente correto. Se confidence é ’low’, primeiro passa por um classificador LLM barato (GPT-4o-mini) antes de rotear.
4. Agentic RAG — Recuperação Dinâmica vs. Pipeline Fixo
RAG tradicional: o usuário faz uma query, o sistema busca documentos relevantes, injeta no contexto, modelo responde. Pipeline linear, fixo.
O problema em produção: queries complexas não se resolvem com uma única busca. O agente precisa buscar, analisar o resultado, reformular a query, buscar de novo, e sintetizar.
Agentic RAG coloca o agente no controle do loop de recuperação:
- O agente decide se precisa buscar informação
- Reformula a query para maximizar relevância
- Avalia a qualidade do que foi recuperado
- Decide se precisa de mais uma rodada de busca antes de responder
Combinado com graph-based reasoning — uma técnica que conecta informações entre documentos via grafo de conhecimento, em vez de tratá-los como arquivos isolados — o resultado é dramaticamente mais preciso para casos de uso complexos.
Stack prática: Supabase com pgvector é o ponto de entrada mais acessível. Para o solo builder, é suficiente para 90% dos casos de uso.
-- Busca semântica eficiente com IVFFlat (usa o índice)
-- $1 = embedding da query como array de floats (ex: via binding de parâmetro no Supabase client)
-- A cláusula WHERE sobre expressão calculada impede o uso do índice — use ORDER BY + LIMIT
select content, 1 - (embedding <=> $1) as similarity
from documents
order by embedding <=> $1
limit 5;
-- Se precisar filtrar por threshold mínimo, faça em subquery:
-- select * from (
-- select content, 1 - (embedding <=> $1) as similarity
-- from documents order by embedding <=> $1 limit 20
-- ) ranked where similarity > 0.7;
5. Tool Management — O Custo Oculto dos Schemas JSON
MCP (Model Context Protocol), agora governado pela Linux Foundation, standardizou como agentes se conectam a ferramentas. Isso é ótimo para interoperabilidade. Tem um custo oculto que a maioria ignora.
Um único schema JSON complexo consome 500+ tokens. Com 90 ferramentas disponíveis, você consome mais de 50.000 tokens antes do usuário digitar uma palavra. Isso é custo de API real e latência real, antes de qualquer trabalho útil.
A solução é o mesmo princípio de progressive disclosure aplicado a ferramentas:
- Fase de descoberta: o agente conhece apenas os nomes e descrições das ferramentas
- Fase de ativação: o schema completo carrega apenas quando a ferramenta vai ser usada
- Auditoria periódica: elimine ferramentas que raramente são usadas ou que podem ser mescladas
Regra prática: se você tem mais de 20 ferramentas disponíveis, você provavelmente está pagando por contexto que nunca gera valor. Audite trimestralmente.
Stack Prática para Implementar Hoje
Você não precisa de infraestrutura complexa para começar. Esta stack cobre os 5 padrões com ferramentas que você provavelmente já usa. Estimativa total de setup do zero: 4 a 8 horas.
CLAUDE.md como base de contexto
O CLAUDE.md é seu sistema de progressive disclosure nativo. Estruture-o com:
- Seção de identidade do projeto (sempre carregada)
- Seções de capacidade separadas (carregadas sob demanda via referência)
- Instruções de routing explícitas
- Traces de erros conhecidos e como evitá-los
MCP para conexões padronizadas
Use MCP para conectar o agente a ferramentas externas. Documente cada ferramenta com descrição precisa de quando usar — isso é o que o agente usa para routing automático.
Priorize servidores MCP com schemas enxutos. Prefira ferramentas especializadas a ferramentas genéricas que fazem tudo.
n8n para orquestração e routing
n8n é onde o routing e a compressão acontecem na prática. Você pode:
- Classificar queries antes de enviar para o LLM
- Compimir histórico de conversa automaticamente
- Rotear para agentes especializados baseado na intent
- Executar agentic RAG loops com nodes de decisão
Supabase + pgvector para RAG
Para a maioria dos casos de uso do solo builder, Supabase com pgvector é suficiente. Free tier suporta projetos em desenvolvimento. Plano Pro ($25/mês) suporta projetos em produção com uso moderado.
Estrutura mínima funcional:
-- Ativar extensão pgvector (uma vez por banco de dados)
create extension if not exists vector;
-- Tabela de documentos para RAG
create table documents (
id uuid primary key default gen_random_uuid(),
content text,
embedding vector(1536), -- dimensão para text-embedding-3-small (OpenAI) ou similar
metadata jsonb,
created_at timestamp default now()
);
-- Índice ivfflat: busca aproximada por similaridade coseno (mais rápido que busca exata para grandes volumes)
-- lists = 100 é adequado para até ~1 milhão de vetores
create index on documents using ivfflat (embedding vector_cosine_ops)
with (lists = 100);
5 Formas de Ganhar Dinheiro com Context Engineering
Context engineering não é só uma skill técnica. É um ativo comercial.
1. Vender templates de CLAUDE.md e system prompts estruturados
O mercado de “configurações de contexto” está nascendo agora. Builders que precisam de agentes confiáveis para casos de uso específicos — suporte ao cliente, gestão de projetos, análise de dados — estão dispostos a pagar por uma configuração pronta que funciona.
Templates bem estruturados de CLAUDE.md para nichos específicos valem $19 a $99 em plataformas como Gumroad, Lemon Squeezy ou Notion template marketplaces.
O diferencial é a especificidade: não “template genérico de agente”, mas “context engineering setup para agência de social media” ou “CLAUDE.md para assistente de suporte SaaS B2B”.
Como conseguir os primeiros compradores: publique um thread no Reddit (r/SideProject, r/Entrepreneur) ou no Twitter/X mostrando o antes e depois de um agente com e sem o setup. Um post demonstrando o problema real gera mais conversão do que qualquer página de vendas.
2. Serviço de context engineering setup para clientes
Enquanto o mercado de “agentes de IA para empresas” cresce, a maioria das empresas pequenas contrata um dev para construir o agente e descobre que ele quebra em produção.
Você pode entrar exatamente nesse ponto: como especialista em context engineering que faz agentes existentes funcionarem de forma confiável. Proposta de valor clara: “seu agente não funciona em produção — eu faço funcionar.”
Precificação: $500 a $2.000 por projeto, dependendo da complexidade. Para clientes que precisam de manutenção contínua, planos mensais de $200 a $500.
Como conseguir o primeiro cliente: procure em grupos de Slack de startups, comunidades no Discord de builders e LinkedIn por posts com reclamações de “meu agente parou de funcionar” ou “automação quebrou”. Ofereça uma auditoria gratuita do contexto como entrada — a maioria aceita porque o problema é real e poucos sabem diagnosticar.
3. Construir micro-SaaS com agentes confiáveis
A vantagem competitiva real de dominar context engineering: você consegue construir produtos com agentes que concorrem com SaaS que custam 10x mais, mas são operados por equipes inteiras.
Um micro-SaaS de suporte automatizado com agente confiável pode cobrar $99-299/mês por cliente. Se você domina context engineering, a qualidade do seu agente é comparável a soluções enterprise — com margem de solo builder.
Como validar antes de construir: identifique um vertical onde agentes quebram com frequência (suporte, extração de dados, onboarding). Ofereça o serviço manualmente para os primeiros 3 clientes e automatize só quando o problema — e o pagamento — forem confirmados.
4. Redução de custo de API como proposta de valor
Se você já tem clientes usando agentes, context engineering bem implementado pode reduzir o custo de API em 40-60%. Isso é margem direta.
Para agências que constroem automações para clientes: esse custo a menos é lucro a mais. Ou é uma proposta de valor clara para clientes que reclamam de custo de operação dos agentes.
Como apresentar: calcule o custo atual de API do cliente, mostre a projeção com context engineering implementado e apresente a diferença como ROI. Clientes que pagam por token entendem esse argumento imediatamente.
5. Cobrar premium por automações “que não quebram”
No mercado de automações, a diferença entre uma automação que funciona por 3 meses e uma que funciona por 3 anos é gigante. Context engineering é parte do que garante a segunda.
Se você consegue demonstrar histórico de agentes que operam de forma consistente em produção, você tem justificativa para precificação premium — e para contratos de manutenção recorrentes que geram renda previsível.
Como construir o histórico: documente publicamente. Um post mensal no LinkedIn ou Twitter mostrando métricas reais — “agente rodou X horas sem falhar, custou $Y de API” — constrói credibilidade antes de qualquer portfolio formal.
O Próximo Passo
Context engineering não é uma skill que você aprende em um tutorial e domina. É uma prática que se aprofunda com uso real.
O caminho mais eficiente:
Implemente progressive disclosure no seu próximo CLAUDE.md. Esse único padrão já resolve a maioria dos problemas de inconsistência.
Adicione um node de compressão de contexto no seu workflow n8n principal. Não precisa ser sofisticado — o básico já faz diferença.
Audite as ferramentas MCP que você tem conectadas. Quantas você realmente usa? Quantas estão consumindo tokens sem agregar valor?
Teste Supabase + pgvector para o seu caso de uso mais óbvio. Você provavelmente tem um conjunto de documentos que o agente deveria consultar dinamicamente mas hoje estão colados no system prompt.
Cada um desses passos leva menos de um dia para implementar. O efeito cumulativo é a diferença entre um agente que você precisa monitorar e um agente que trabalha enquanto você não está olhando.
Perguntas Frequentes
Context engineering é diferente de prompt engineering?
Sim. Prompt engineering otimiza uma pergunta específica. Context engineering arquiteta o sistema completo de informação que o agente recebe ao longo do tempo. Um bom prompt melhora uma resposta. Context engineering bem implementado faz o agente se comportar de forma consistente em semanas de uso real.
Com modelos de 200K+ tokens de janela de contexto, ainda preciso me preocupar com isso?
Sim — e o motivo não é intuitivo. Primeiro, degradação de qualidade acontece antes da janela encher. Modelos degradam em atenção e precisão muito antes de atingir o limite de tokens por uma razão simples: quanto mais contexto, mais difícil é para o modelo distinguir sinal de ruído. Segundo, custo composto: se você faz 1.000 chamadas por dia, mesmo 10% de redução de tokens por chamada é significativo no fim do mês. Terceiro, latência: cada token de contexto adiciona tempo de processamento. Um agente que processa 50.000 tokens de overhead antes de qualquer trabalho útil tem latência perceptivelmente maior que um agente que processa 5.000. Para projetos pequenos, você pode adiar. Para produção, essas pequenas ineficiências se multiplicam.
Preciso ser engenheiro para aplicar esses padrões?
Não no sentido tradicional. Os 5 padrões podem ser implementados com ferramentas que o solo builder intermediário já usa: CLAUDE.md, n8n, Supabase, MCP. O padrão mais impactante — progressive disclosure — começa com como você estrutura seus arquivos de configuração.
Esses padrões funcionam com outros modelos além de Claude?
Sim. Os padrões de context engineering são agnósticos de modelo — funcionam com GPT-4, Gemini, modelos locais via Ollama. A implementação específica varia, mas os princípios são os mesmos.
Qual padrão implementar primeiro?
Progressive disclosure. É o mais impactante, mais simples de implementar, e gera resultados visíveis imediatamente. Context compression vem em segundo, especialmente se você opera agentes em tarefas longas ou conversas multiturno.
Isso é relevante para quem usa n8n como base de automação?
Muito. n8n é uma plataforma natural para implementar routing e compressão de contexto. Os nodes de decisão do n8n mapeiam diretamente para context routing. A orquestração de múltiplos agentes especializados — cada um com seu próprio contexto otimizado — é exatamente o que n8n faz bem.
