Few-Shot Prompting (In-Context Learning)
Metodologia de engenharia de prompts em que o modelo se adapta a um formato, estilo ou lógica específicos diretamente durante a inferência (In-Context Learning), por meio da apresentação de 2 a 5 exemplos de referência.
1. Visão geral do conceito e problema sistêmico
Um dos desafios mais comuns no trabalho com modelos de linguagem é a ambiguidade da linguagem natural. Quando um desenvolvedor escreve na instrução: «Escreva uma interface TypeScript concisa no estilo do nosso projeto», o modelo é forçado a recorrer a representações médias da internet:
- Subjetividade das formulações: Conceitos como "conciso", "bom" ou "estrito" são interpretados pelo modelo de forma excessivamente ampla, causando instabilidade nos resultados entre execuções.
- Impossibilidade de descrever todas as regras por texto: A descrição das convenções de uma base de código pode ocupar 10 páginas de regras que o modelo inevitavelmente começará a violar.
- "Ver uma vez vale mais que mil palavras": Assim como para um programador humano, é significativamente mais fácil para um modelo de linguagem replicar o estilo seguindo dois exemplos concretos do que interpretar descrições abstratas.
O Few-Shot prompting elimina a ambiguidade através da demonstração: você mostra ao modelo 2–4 pares contrastantes de "Entrada -> Resultado de Referência", estabelecendo um cânone claro de comportamento.
2. Taxonomia arquitetural e modelo mental
Gradação dos métodos de aprendizado em contexto (In-Context Learning):
- 1. Zero-Shot (Sem exemplos): O modelo recebe apenas uma instrução textual e a nova tarefa. Adequado para tarefas básicas e rotineiras, mas gera a maior variabilidade na saída.
- 2. One-Shot (Um exemplo de referência): Um exemplo ideal é adicionado ao prompt. Isso é suficiente para definir a estrutura sintática (por exemplo, o formato do JSON de saída).
- 3. Few-Shot (Conjunto clássico de 2–5 exemplos): O equilíbrio de ouro. Inclui exemplos de diferentes cenários: caso simples, caso complexo com dados aninhados e um caso extremo (Edge Case / Error Handling).
- 4. Retrieval-Augmented (Dynamic) Few-Shot: Padrão avançado de produção: uma biblioteca de 500 exemplos é indexada em um banco de dados vetorial. Para cada consulta do usuário, a busca vetorial recupera os 3 exemplos mais relevantes.
3. Pipeline técnico e mecânica interna
Ciclo de vida da preparação e execução do prompt Few-Shot:
- Exemplar Selection & Curation (Seleção e curadoria de exemplos): Forma-se um conjunto compacto de pares que demonstram o resultado desejado sem erros e sem verbosidade desnecessária.
- Structural Delimitation (Isolamento estrutural):
Os exemplos são envolvidos em tags XML ou Markdown rigorosas para evitar a mistura de instruções com exemplos:
<example id="1"><input>...</input><output>...</output></example>. - Induction Head Pattern Activation (Ativação de cabeças de indução):
Durante o cálculo das camadas de atenção, o transformer registra a transição da tag
<input>para<output>como uma transformação determinística de dados. - Target Inference Alignment (Geração da resposta alvo): O modelo gera a resposta para a nova pergunta, copiando implicitamente a sintaxe, o comprimento, as convenções de nomenclatura e as chaves utilizadas nos exemplos.
4. Cenários práticos de engenharia em produção
01. Parsing rigoroso de dados não estruturados para JSON
Você precisa converter descrições textuais de transações bancárias em um JSON válido. O Zero-shot frequentemente confunde campos de data ou copia centavos incorretamente. O Few-shot com três exemplos (incluindo reembolsos e pagamentos multimoeda) garante 99,8% de estabilidade no esquema.
02. Adesão ao estilo de código corporativo da empresa
A equipe precisa que o agente de código escreva testes unitários estritamente conforme o padrão interno: uso de describe.concurrent, helper específico de fábrica de usuários makeUser() e proibição de mocks via jest.spyOn. Dois exemplos no system prompt resolvem completamente o problema.
03. Canonização e tradução de termos técnicos
Tradução de documentação para português com a exigência de manter termos específicos no original (por exemplo, Checkpointer, Race condition) e traduzir outros conforme o glossário corporativo.
5. Armadilhas, erros comuns e segurança
- Viés de maioria e recência (Majority & Recency Bias): Os modelos são extremamente sensíveis à ordem dos exemplos. Se em 3 de 4 exemplos o resultado foi a resposta "Sim", o modelo terá um forte viés para "Sim" em qualquer nova entrada. Sempre equilibre as classes nos exemplos (50/50).
- Copiar bugs dos exemplos (Error Mimicry): Se em um dos exemplos você acidentalmente omitiu um colchete de fechamento ou cometeu um erro ortográfico, o modelo reproduzirá esse erro nas novas saídas.
- Inflação do contexto de entrada: Dez exemplos detalhados de Few-shot podem ocupar 15.000 tokens. Use sempre Prompt Caching para system prompts que contêm exemplos.
FAQ: Few-Shot Prompting (In-Context Learning)
Termos relacionados
Engenharia de Prompts (Arquitetura de Contexto & Prompt Engineering)
Disciplina de engenharia focada na estruturação de diretivas de sistema, marcação XML, delimitadores semânticos e exemplos para alcançar resultados determinísticos e previsíveis a partir de modelos probabilísticos.
System Prompt (System Instructions & Metaprompting)
Priority meta-contextual instruction block transmitted at the zero position of the context window, defining the agent's role, security rules, available tools, and behavioral boundaries.
Cadeia de Pensamento (Chain of Thought - CoT)
Metodologia que induz o modelo de linguagem a gerar etapas intermediárias sequenciais de raciocínio antes de formular a resposta final, convertendo tokens adicionais (Test-Time Compute) em qualidade e precisão do resultado.
Markdown AST para agentes (Abstract Syntax Tree)
Representação hierárquica em árvore da marcação Markdown (padrão mdast / Unified.js), permitindo que sistemas programáticos e agentes de IA analisem, transformem e editem com segurança conteúdo técnico de forma determinística, sem depender de expressões regulares frágeis.