Prompts zero-shot e few-shot
Entenda a diferença entre pedir algo diretamente ao modelo e fornecer exemplos, e aprenda quando cada abordagem produz melhores resultados em tarefas de classificação, extração e geração.
Prompts zero-shot e few-shot é uma aula grátis de AI Engineering Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Engineering Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Engineering Academy inclui 4 aulas no total.
O que é prompting zero-shot?
Prompting zero-shot significa pedir ao modelo que execute uma tarefa sem fornecer exemplos de como fazê-la. Você simplesmente descreve a tarefa e permite que o modelo aplique seu conhecimento pré-treinado. Isso funciona bem para tarefas que o modelo encontrou muitas vezes durante o treinamento, como tradução, resumo ou classificação simples.
Por exemplo, pedir ao modelo para Classificar esta avaliação como Positiva ou Negativa é um prompt zero-shot. O modelo absorveu milhares de exemplos de classificação de sentimentos durante o pré-treinamento, portanto consegue executar a tarefa sem receber exemplos no próprio prompt.
Um exemplo simples de zero-shot
Prompts zero-shot são concisos e dependem do conhecimento incorporado ao modelo. Eles funcionam melhor quando a tarefa é comum e não ambígua. Observe que o prompt abaixo define claramente a tarefa sem mostrar exemplos de resultados corretos.
import openai
client = openai.OpenAI()
prompt = 'Classify the sentiment of the following customer review.\nRespond with only one word: Positive, Negative, or Neutral.\n\nReview: The delivery was fast but the packaging was damaged.\n\nSentiment:'
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=5
)
print(response.choices[0].message.content) # Expected: NegativeQuando o zero-shot não é suficiente
O prompting zero-shot pode falhar quando o formato da tarefa é incomum, quando o modelo precisa seguir um esquema de resultado pouco comum ou quando você precisa de uma formatação consistente que o modelo pode interpretar de maneira diferente a cada execução. Pedir ao modelo que extraia dados em uma estrutura JSON muito específica, com nomes de campos personalizados, é arriscado em um prompt zero-shot, pois o modelo precisa adivinhar exatamente a sua intenção.
O zero-shot também tem dificuldades com jargão específico de um domínio ou categorias de classificação de nicho que o modelo talvez não tenha encontrado com frequência durante o pré-treinamento. Nesses casos, fornecer exemplos melhora significativamente a precisão.
O que é prompting few-shot?
Prompting com poucos exemplos significa fornecer ao modelo de 2 a 8 exemplos da tarefa (entrada e saída desejada) antes de apresentar sua consulta real. Os exemplos ensinam ao modelo o formato exato e o esquema de classificação que você deseja, sem exigir ajuste fino ou treinamento.
Esta é uma das técnicas mais poderosas e subutilizadas da engenharia de prompts. O modelo usa os exemplos para inferir o padrão e aplicá-lo à nova entrada. Pesquisas do artigo sobre GPT-3 mostraram que o desempenho em muitas tarefas aumentava significativamente com o número de exemplos, até cerca de 8; depois disso, os ganhos se estabilizam e você apenas desperdiça tokens.
Estrutura de prompt com poucos exemplos
Um prompt com poucos exemplos segue um padrão consistente: mostre N exemplos como pares de entrada e saída; depois, apresente a nova entrada e deixe o modelo completar a saída. A formatação dos exemplos ensina ao modelo o formato exato da saída que você espera.
import openai
client = openai.OpenAI()
prompt = ('Extract the product name and price from each sentence.\n'
'Respond in the format: Product: <name> | Price: <price>\n\n'
'Sentence: The blue headphones cost $79.99.\n'
'Product: Blue Headphones | Price: $79.99\n\n'
'Sentence: You can get the leather wallet for just $34.\n'
'Product: Leather Wallet | Price: $34\n\n'
'Sentence: Order the ergonomic keyboard for $129.99 today.\n')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=30
)
print(response.choices[0].message.content)Escolhendo bons exemplos para poucos exemplos
A qualidade dos seus exemplos é tão importante quanto a quantidade. Escolha exemplos que:
- Abranjam casos extremos — inclua um exemplo com entrada ambígua para que o modelo veja como você deseja que ela seja tratada
- Cubram o espaço de saída — se você tiver três classes, inclua pelo menos um exemplo de cada uma
- Sejam representativos — use exemplos semelhantes, em estilo e complexidade, às entradas reais de produção
- Tenham formato consistente — qualquer inconsistência de formato nos seus exemplos será propagada para a saída do modelo
Exemplos mal escolhidos podem, na verdade, prejudicar o desempenho ao induzir o modelo a entender incorretamente a distribuição da tarefa.
Zero-shot ou poucos exemplos: quando usar cada um
Use zero-shot quando: a tarefa for comum e bem definida, você quiser minimizar o custo de tokens ou estiver iterando rapidamente e ainda for difícil coletar exemplos. O zero-shot também é preferível quando o conhecimento geral do modelo não deve ser limitado pelos exemplos.
Use poucos exemplos quando: o formato da saída for incomum ou rígido, você tiver categorias específicas do domínio, o zero-shot produzir formatação inconsistente ou precisar que o modelo siga consistentemente um estilo ou tom específico. Poucos exemplos são especialmente eficazes para extração, classification e geração com restrições de formato.
Poucos exemplos para tarefas de classificação
Classification é um dos casos de uso de maior valor para prompting com poucos exemplos. Quando você tem rótulos personalizados que não correspondem a categorias comuns, fornecer exemplos treina o modelo na sua taxonomia. Os exemplos abaixo definem exatamente o que Bug, Feature Request e Question significam no contexto de tíquetes de suporte.
import openai
client = openai.OpenAI()
prompt = ('Classify the support ticket into: Bug, Feature Request, or Question.\n\n'
'Ticket: The login button does nothing when I click it.\n'
'Category: Bug\n\n'
'Ticket: Can you add dark mode to the dashboard?\n'
'Category: Feature Request\n\n'
'Ticket: How do I export my data to CSV?\n'
'Category: Question\n\n'
'Ticket: The export button crashes the app every time.\n'
'Category:')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=10
)
print(response.choices[0].message.content) # BugPrompting com um exemplo
Entre zero-shot e poucos exemplos, existe o prompting com um exemplo: fornecer exatamente um exemplo. Isso geralmente é suficiente para corrigir problemas de formatação ou esclarecer tarefas ambíguas, e custa muito menos tokens do que um prompt completo com poucos exemplos. Usar um exemplo é um bom primeiro passo quando o zero-shot produz resultados pouco confiáveis.
Na prática, comece com zero-shot, avalie uma amostra de entradas reais e adicione exemplos apenas onde o modelo estiver falhando. Assim, seus prompts permanecem enxutos e eficientes em tokens, enquanto você direciona as melhorias para os pontos mais importantes.
Seleção dinâmica de poucos exemplos
Em sistemas de produção, codificar os mesmos poucos exemplos para cada consulta não é o ideal. A seleção dinâmica de poucos exemplos recupera, de um banco de exemplos rotulados, os exemplos mais semelhantes à entrada atual usando similaridade entre incorporações e, em seguida, insere apenas esses exemplos no prompt.
Dessa forma, o modelo sempre vê as demonstrações mais relevantes para a entrada específica, em vez de exemplos genéricos que podem não corresponder ao estilo ou ao domínio da entrada. Essa técnica combina os benefícios do prompting com poucos exemplos com a escalabilidade de um sistema de recuperação e, às vezes, é chamada de prompting aumentado por recuperação baseado em exemplos.
Restrições de formato em prompts com poucos exemplos
O prompting com poucos exemplos é a maneira mais confiável de impor formatos rígidos de saída antes de você ter acesso a saídas estruturadas ou ao modo JSON. Ao mostrar ao modelo o formato exato que você espera — incluindo nomes de campos, delimitadores e ordenação — você aumenta significativamente a chance de obter uma saída que possa ser analisada.
Finalize sempre seu prompt com poucos exemplos com o início do padrão de saída esperado (por exemplo, a chave de abertura de um objeto JSON ou o nome do primeiro campo). Isso prepara o modelo para continuar o padrão, em vez de possivelmente resumir ou comentar a tarefa primeiro.
Verificação rápida
Teste sua compreensão dos conceitos de Engenharia de IA desta lição.
Recapitulação da lição
Nesta lição, você aprendeu: o prompting zero-shot pede que o modelo execute tarefas apenas com base na descrição, o prompting com poucos exemplos fornece de 2 a 8 exemplos de entrada e saída para ensinar o formato e a taxonomia e a seleção dinâmica de poucos exemplos recupera os exemplos mais relevantes para cada consulta usando similaridade entre incorporações. Em seguida, exploraremos o prompting de cadeia de raciocínio para tarefas de raciocínio complexo.
Perguntas Frequentes
A aula “Prompts zero-shot e few-shot” é grátis?
Sim — o texto completo de “Prompts zero-shot e few-shot” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Engineering Academy, atualize para CoddyKit PRO. O curso de AI Engineering Academy inclui 4 aulas no total.
O que vou aprender em “Prompts zero-shot e few-shot”?
Entenda a diferença entre pedir algo diretamente ao modelo e fornecer exemplos, e aprenda quando cada abordagem produz melhores resultados em tarefas de classificação, extração e geração. Você pratica AI Engineering Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Engineering Academy?
Nenhuma experiência prévia é necessária. AI Engineering Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Prompts zero-shot e few-shot”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Engineering Academy?
Sim. Cada aula de AI Engineering Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Prompts zero-shot e few-shot
- Cadeia de pensamento e raciocínio passo a passo
- Prompts de sistema e definição de persona
- Iteração e depuração de prompts