Como você gasta a janela de contexto determina o que o modelo consegue fazer
Como você gasta a janela de contexto determina o que o modelo consegue fazer
Existe uma percepção comum sobre janelas de contexto grandes que merece ser corrigida: ter mais contexto disponível não significa que você vai ter resultados melhores automaticamente. O que importa não é a capacidade total. É o que você decide colocar ali.
A janela de contexto é a memória de trabalho do modelo. Cada chamada começa do zero. Tudo que o modelo vai usar para raciocinar e gerar a resposta precisa estar presente naquele contexto naquela chamada. Se a informação relevante não está lá, o modelo vai gerar com base no que tem, que pode ser insuficiente ou errado.
O que muda quando você trata contexto como recurso escasso
Quando você ainda trata contexto como campo de instrução onde você descreve o que quer, você está usando talvez 5% do potencial. A mudança acontece quando você começa a tratar contexto como o conjunto de fatos e exemplos que o modelo precisa para resolver o problema que você está dando a ele.
Para um problema de análise de contrato, o contexto não deve ter só "analise esse contrato". Deve ter o contrato, as cláusulas que são o foco da análise, exemplos de análises similares que serviram bem, as perguntas específicas que precisam ser respondidas, e o formato de output que você quer.
Para geração de query SQL (o que o Athena faz), o contexto não deve ter só a pergunta do usuário. Deve ter o schema das tabelas relevantes, exemplos de queries corretas para perguntas similares, as regras de negócio que afetam os filtros, e as convenções específicas da empresa para os campos utilizados.
Em ambos os casos, o modelo com esse contexto vai produzir algo qualitativamente diferente do modelo sem esse contexto, mesmo que o modelo seja exatamente o mesmo.
Por que documentos no contexto mudam o jogo
Existe um salto de qualidade que acontece quando você para de fazer perguntas sobre documentos e começa a colocar os documentos no contexto antes de fazer as perguntas.
"Como funciona o processo X da nossa empresa?" respondida pelo modelo sem contexto vai gerar uma resposta genérica razoável.
A mesma pergunta com o manual de processos no contexto vai gerar a resposta que está no manual, com os detalhes específicos da empresa, incluindo as exceções que estão documentadas e que qualquer resposta genérica vai ignorar.
Isso parece óbvio quando descrito assim. Mas a maioria das pessoas que usa LLMs em workflows corporativos ainda não faz isso de forma sistemática. A diferença entre "conversa com o modelo" e "modelo com todos os documentos relevantes no contexto" é enorme e é o primeiro ajuste de alta alavancagem que qualquer time pode fazer.
O custo de contexto ruim
Contexto não é só o que você inclui. É também o que você inclui que não deveria estar lá.
Um contexto com muito ruído, informação desatualizada, ou detalhes irrelevantes para o problema em questão prejudica a qualidade do output. O modelo vai tentar usar tudo que está no contexto para gerar a resposta, e informação irrelevante dilui a atenção para o que importa.
Contexto longo com baixa densidade de informação relevante performa pior do que contexto curto com alta densidade de informação relevante. Isso tem implicações diretas para como você projeta os prompts e o pipeline de injeção de contexto.
Quando o Athena começou a gerar queries piores depois de um certo ponto, a investigação revelou que o contexto estava crescendo com informação de schema de tabelas que não eram usadas naquela consulta específica. A solução foi filtrar mais rigorosamente quais tabelas incluir baseado na pergunta do usuário. A qualidade das queries voltou.
Como usar contexto de forma sofisticada na prática
Três práticas que mudam resultados de forma consistente:
Coloque exemplos no formato correto. Se você quer uma análise estruturada com campos específicos, inclua um exemplo de análise com os campos preenchidos corretamente. O modelo vai continuar o padrão.
Seja específico sobre o que você não quer. O modelo tende a incluir coisas que parecem úteis, mesmo sem instrução para isso. Se você não quer resumo introdutório, instrua explicitamente para omitir. Se você não quer especulação fora dos dados fornecidos, instrua para responder só com o que está no contexto.
Separe o contexto de referência da instrução. A instrução fica curta e clara. O contexto de referência, documentos, exemplos, e dados, fica separado e organizado. Misturar os dois dificulta tanto a clareza da instrução quanto a densidade do contexto de referência.
O modelo que você tem hoje é provavelmente mais capaz do que o que você está extraindo dele. A diferença entre o teto e o que você extrai está no contexto que você fornece.
Qual dado relevante você regularmente não coloca no contexto porque parece óbvio ou desnecessário?
Assine a Newsletter
Receba conteúdo exclusivo sobre IA, LLMs e desenvolvimento em produção diretamente no seu email.
Sem spam. Cancele quando quiser.
Posts Relacionados
Prompt não é instrução. Contexto é o recurso que o modelo usa para raciocinar
A maioria das pessoas ainda trata prompt como uma instrução que você dá ao modelo. A mudança de perspectiva que importa é perceber que contexto é o recurso escasso, e o que você injeta nele determina o teto de qualidade do que sai.
O gargalo não é o modelo, é atenção humana gerenciando sessões
O teto de quanto você consegue extrair de agentes de código não é mais capacidade do modelo. É quanto contexto humano você consegue manter ativo ao mesmo tempo. A mudança de paradigma é de gerenciar sessões para gerenciar resultados.
Quando o modelo não degradou, mas o agente piorou
Existe uma categoria de reclamações sobre 'degradação de modelo' que, olhando com cuidado, não é degradação de modelo nenhuma. É degradação de harness. A diferença importa para quem está construindo sistemas que precisam ser estáveis.