Trocar Regras por Exemplos (Replace Rules with Examples) é uma refatoração de IA para sistemas com LLM, do grupo Compondo prompts. Substituir uma pilha de regras por poucos exemplos bem escolhidos que mostram o comportamento.
O prompt acumula regras de estilo, formato e comportamento que brigam entre si e mesmo assim não produzem o resultado desejado. São os smells Pilha de Regras e Prompt Inchado.
Pense numa loja online que responde avaliações de clientes com um modelo. Cada reclamação do time de marca virou uma regra nova: “agradeça pelo nome”, “não seja seco”, “não seja formal demais”. Seis meses depois o prompt tem 25 regras em maiúsculas, e o tom ainda varia de resposta para resposta. Ninguém consegue dizer qual regra o modelo está seguindo em cada caso.
Solução
Troque as regras que tentam descrever um comportamento por poucos exemplos completos de entrada e saída que mostram esse comportamento. Mantenha como regra só o que é restrição curta e clara.
Antes e depois
SYSTEM = """Você responde avaliações de clientes da loja."""-RULES = """-SEMPRE agradeça pelo nome.-NUNCA use mais de 3 frases.-Em avaliação negativa, NUNCA discuta, SEMPRE ofereça solução.-NÃO use emojis. NÃO use exclamação demais.-Se mencionar atraso, peça desculpas e informe o prazo médio.-Se for elogio, seja breve, mas NÃO seja seco.-Use tom amigável, mas profissional, mas não formal demais.-"""+EXAMPLES = """+<exemplo>+<avaliacao>Ana, 2 estrelas: chegou com 10 dias de atraso e a caixa amassada.</avaliacao>+<resposta>Ana, sentimos muito pelo atraso e pela embalagem. Já pedimos à+transportadora uma revisão do seu caso. Se o produto tiver qualquer dano,+responda aqui que fazemos a troca sem custo.</resposta>+</exemplo>+<exemplo>+<avaliacao>Bruno, 5 estrelas: perfeito, chegou antes do prazo.</avaliacao>+<resposta>Bruno, que bom saber! Obrigado por comprar com a gente.</resposta>+</exemplo>+<exemplo> ... avaliação mista: elogio ao produto, crítica ao frete ... </exemplo>+"""+CONSTRAINTS = "Até 3 frases. Sem emojis."
Antes: o comportamento descrito por regras abstratas.
flowchart LR
R[("1. 25 regras")]:::store --> M(["2. Modelo interpreta e prioriza"]):::llm
IN(["Avaliação"]):::io --> M
M --> OUT(["3. Tom imprevisível"]):::io
Depois: o comportamento mostrado por exemplos, com duas restrições claras.
flowchart LR
E[("1. 3 a 5 exemplos de referência")]:::store --> M(["2. Modelo imita o padrão"]):::llm
C["Restrições curtas"]:::tool --> M
IN(["Avaliação"]):::io --> M
M --> OUT(["3. Tom consistente"]):::io
Em vez de descrever o tom, o prompt mostra respostas que já têm o tom certo.
O modelo generaliza a partir de casos concretos, que cobrem as situações difíceis (negativa, positiva, mista).
As respostas ficam parecidas com os exemplos, inclusive nos detalhes que nenhuma regra conseguiu descrever.
Por que funciona
Regras de estilo são abstratas: “amigável, mas profissional, mas não formal demais” significa coisas diferentes para pessoas e modelos diferentes. Um exemplo é concreto: mostra o tamanho, o vocabulário, a ordem das ideias e o que fazer num caso difícil, tudo ao mesmo tempo.
Exemplos também resolvem conflitos que regras criam. “Seja breve” e “não seja seco” brigam no abstrato; o exemplo do elogio mostra o ponto exato entre os dois: duas frases, o nome, um agradecimento.
O que é restrição dura (limite de frases, sem emojis) continua como regra curta, porque é fácil de seguir e fácil de checar em código.
A ideia tem base antiga. O paper do GPT-3, “Language Models are Few-Shot Learners” (Brown et al., 2020), mostrou que poucos exemplos no prompt mudam o comportamento do modelo sem treino. A documentação da Anthropic sobre prompts com exemplos recomenda de 3 a 5 exemplos variados, cada um entre tags como <example>, para o modelo separar exemplo de instrução.
O que um exemplo ensina que a regra não ensina
Compare o que cada formato comunica sobre a avaliação da Ana:
Aspecto
Regra
Exemplo
Tamanho
“no máximo 3 frases”
Três frases de verdade, com o comprimento certo
Ordem
não diz
Desculpa, ação já tomada, oferta concreta
Vocabulário
“amigável, mas profissional”
“sentimos muito”, “sem custo”
Caso difícil
“NUNCA discuta”
Não discute e ainda oferece a troca
A regra diz o que evitar. O exemplo mostra o que fazer, e é isso que o modelo copia.
Passo a passo seguro
Meça. Monte um eval com avaliações reais de vários tipos e uma rubrica do tom desejado. Rode a versão com regras e guarde as notas por tipo de avaliação.
Separe as regras em dois grupos: restrições objetivas (tamanho, proibições claras) e descrições de comportamento (tom, como reagir).
Escolha de 3 a 5 casos que cubram as situações difíceis. Puxe de respostas reais aprovadas pelo time, não invente. Na loja, isso significa pelo menos uma negativa, um elogio e uma avaliação mista.
Escreva os exemplos completos, com a entrada e a saída ideal, marcados com tags para o modelo distinguir exemplo de instrução.
Varie os exemplos. Se todos têm a mesma estrutura, o modelo copia a estrutura em tudo.
Confira se algum exemplo contradiz uma restrição. Um exemplo de quatro frases ao lado de “até 3 frases” ensina o contrário da regra.
Apague as regras de comportamento que os exemplos cobrem. Mantenha as restrições objetivas.
Cheque restrições em código quando possível (contagem de frases, emojis).
Meça de novo com o mesmo eval. O prompt deve ficar menor, e as notas por tipo, iguais ou melhores.
Riscos
Cópia literal. O modelo pode repetir frases dos exemplos. Use exemplos variados e diga que são referência de estilo.
Exemplo que ensina o erro. Um exemplo com um detalhe ruim vira padrão. Revise cada um com quem conhece o tom da marca.
Cobertura incompleta. Um caso que nenhum exemplo cobre volta a ser imprevisível. Acrescente exemplos a partir das falhas do eval.
Exemplos fixos demais. Se os casos variam muito, escolher os exemplos por similaridade a cada pedido funciona melhor. Veja Seletor de Exemplos.
Erro comum: exemplos parecidos demais
Suponha que os três exemplos comecem com “Olá, NOME, que bom ter você aqui!”. Na semana seguinte, uma cliente reclama de produto quebrado e recebe “Olá, Carla, que bom ter você aqui!” antes do pedido de desculpas.
O modelo não aprendeu “seja simpático”. Ele aprendeu “comece assim”, porque era o único traço repetido em todos os exemplos. Quando um padrão aparece em todos, ele vira regra.
O conserto é variar de propósito: aberturas diferentes, tamanhos diferentes, um caso em que a resposta não agradece nada. O que deve se repetir é só o que você quer em todas as respostas.
Desafio
Transforme estas regras de um classificador de urgência de chamados em exemplos.
URGENTE se o sistema inteiro estiver fora do ar.URGENTE se envolver dinheiro de cliente.NÃO é urgente se for dúvida de uso, MESMO que o cliente diga que é urgente.Se o cliente xingar, isso NÃO muda a urgência.
Ver solução
Quatro exemplos, um para cada caso difícil, mostram as regras e as exceções de uma vez:
<exemplo><chamado>Ninguém da empresa consegue logar desde as 9h.</chamado><urgencia>alta</urgencia></exemplo><exemplo><chamado>Cobraram o boleto duas vezes do meu cliente.</chamado><urgencia>alta</urgencia></exemplo><exemplo><chamado>URGENTE!!! Como eu exporto o relatório em PDF?</chamado><urgencia>baixa</urgencia></exemplo><exemplo><chamado>Que sistema lixo, o botão de salvar mudou de lugar.</chamado><urgencia>baixa</urgencia></exemplo>
A urgência sai em saída estruturada com um enum, e o eval confere cada categoria.
Teste seu entendimento
Perguntas rápidas
O que é Trocar Regras por Exemplos?
Trocar Regras por Exemplos (Replace Rules with Examples) é uma refatoração de IA para sistemas com LLM, do grupo Compondo prompts. Substituir uma pilha de regras por poucos exemplos bem escolhidos que mostram o comportamento.