Exemplos ensinam o formato de uma resposta bem melhor do que descrevê-lo. O problema é montá-los: blocos de exemplo feitos à mão são onde um delimitador solto dentro do conteúdo de alguém fecha em silêncio a seção que deveria contê-lo. Isto escapa o conteúdo, oferece os quatro formatos que valem a pena — com tags, Markdown, array JSON ou turnos de conversa — e confere o conjunto quanto aos dois erros que tornam exemplos prejudiciais. Se todas as saídas forem idênticas, elas ensinam uma constante em vez de uma regra. Se discordarem sobre o próprio formato, não ensinam nada.
Recursos
Quatro formatos: tags XML, Markdown, array JSON ou turnos de conversa
Conteúdo escapado para que um sinal de menor não feche uma tag antes da hora
Nomes de elemento saneados em tags válidas
Avisa quando todos os exemplos têm a mesma saída
Avisa quando as saídas discordam sobre o formato
Nota quando há só um exemplo, ou exemplos demais
Rótulos personalizados para as metades de entrada e saída
Numeração opcional
Como usar Exemplos few-shot
Acrescente cada entrada com a saída que você quer para ela
Escolha o formato conforme onde os exemplos vão
Leia os avisos sobre o conjunto como um todo
Copie o bloco para o seu prompt
Exemplo
Entrada
The export button does nothing on Safari.
Saída
{"category": "bug", "severity": "medium"}
Um formato de saída consistente entre exemplos é o que ensina o formato.
Erros comuns e solução de problemas
Meus exemplos têm sinais de menor e quebram o prompt. — Aqui eles são escapados, que é justamente o ponto. Blocos montados à mão são onde isso dá errado.
Avisa que minhas saídas são todas iguais. — Saídas idênticas ensinam uma resposta constante. Varie-as entre os casos que você realmente quer distinguir.
Avisa que as saídas têm formatos diferentes. — Um exemplo devolvendo JSON e outro devolvendo prosa dão instruções contraditórias sobre o formato. Escolha um.
Quantos exemplos devo usar? — Dois ou três costumam fixar o comportamento. Passando de uma dúzia você está pagando tokens reais em toda requisição, então os últimos precisam estar valendo.
Perguntas frequentes
Que formato funciona melhor?
Exemplos com tags são o padrão mais seguro, porque as fronteiras sobrevivem a conteúdo com Markdown ou chaves. Turnos de conversa costumam ser ainda mais fortes, já que são um formato que o modelo já entende, mas custam mais para montar.
Por que escapar o conteúdo do exemplo?
Porque um exemplo contendo uma tag de fechamento encerraria a seção em que está, e tudo depois seria lido como instrução e não como conteúdo. É a mesma classe de problema de uma injeção de SQL, dentro de um prompt.
Exemplos funcionam melhor que uma descrição?
Para formato, quase sempre. Um exemplo trabalhado fixa o formato de uma resposta como um parágrafo descrevendo o formato não fixa. Para julgamentos, descrever a regra costuma generalizar melhor.
Há custo em ter muitos exemplos?
Sim: eles vão em toda requisição. Com um punhado tudo bem e passando de uma dúzia vale revisar, e por isso o número é apontado em vez de deixado acumular.
Os exemplos devem ser casos reais?
Os reais são melhores, porque os inventados tendem a ser mais arrumados que a realidade e ensinam o caso arrumado. Só confira se contêm algo que você não queira num prompt enviado repetidamente.
Ferramentas relacionadas
Seções XML do prompt — Envolva seções em tags das quais o conteúdo não consegue escapar.
Linter de prompts — Encontre contradições, instruções mortas e marcadores não preenchidos.