AWS Certified AI Practitioner
Anatomia de um prompt
Por que o mesmo modelo dá a um time uma resposta útil e a outro lixo: as partes de um prompt, o que cada uma faz e como instrução, contexto, entrada e indicador de saída se encaixam.
- Identificar as quatro partes de trabalho de um prompt: instrução, contexto, entrada e indicador de saída
- Distinguir a instrução da entrada sobre a qual ela age
- Explicar o que é um template de prompt e por que as variáveis usam chaves duplas
- Definir o prompting zero-shot e few-shot e o que é um shot
Você dá um pedido a um modelo e recebe algo vago ou mal formatado. Um colega pede o que parece ser a mesma coisa e recebe exatamente o que queria. O modelo é o mesmo. A diferença é o prompt, e mais precisamente se ele foi montado com as partes certas nos lugares certos.
Um prompt não é só "a pergunta que você digita". É um pequeno documento estruturado, e assim que você enxerga as partes dele, dá para consertar uma resposta fraca consertando a parte que faltou. Esta lição desmonta um prompt para que o resto do tema tenha algo concreto sobre o que construir.
Um prompt é feito de partes
Comece com um real. Este é um prompt para uma ferramenta de suporte ao cliente que precisa rotear as mensagens que chegam:
You are a support assistant for a bank.
Classify the message below as Billing, Technical, or Other.
Message: "My card was charged twice for one purchase."
Reply with only the category name.
Esse único bloco faz quatro trabalhos separados, e cada linha corresponde a um deles:
- O contexto monta o cenário: "You are a support assistant for a bank." Ele diz ao modelo em que mundo está operando e, aqui, que papel deve assumir.
- A instrução é a tarefa: "Classify the message below as Billing, Technical, or Other." Essa é a única parte que um prompt nunca pode largar.
- A entrada são os dados sobre os quais a instrução age: a mensagem "My card was charged twice for one purchase."
- O indicador de saída restringe a resposta: "Reply with only the category name." Sem ele, o modelo poderia responder "This looks like a Billing issue because the customer mentions a duplicate charge", o que é mais difícil de o seu código usar.
A AWS descreve um prompt como uma combinação desses componentes: a instrução que você quer executada, o contexto da tarefa, exemplos de demonstração e o texto de entrada que o modelo deve usar. Você raramente precisa de todos ao mesmo tempo. Um prompt deve combinar as partes que a tarefa de fato exige, e nada além disso.
Instrução versus entrada: a distinção que mais importa
A fonte de confusão mais comum é tratar a instrução e a entrada como um bloco só. Elas são diferentes, e mantê-las separadas é o que torna um prompt reutilizável.
Pegue o texto de avaliação "A comida estava ótima, mas o atendimento foi lento." Sozinho, é só entrada. Ele vira uma tarefa apenas quando uma instrução o envolve:
- "Resuma esta avaliação em uma frase" te dá um resumo.
- "Classifique o sentimento desta avaliação como positivo, negativo ou neutro" te dá um rótulo.
- "Traduza esta avaliação para o inglês" te dá uma tradução.
A mesma entrada, três instruções diferentes, três trabalhos diferentes. É por isso que os prompts de produção mantêm a instrução fixa e trocam a entrada a cada requisição. A sua ferramenta de suporte nunca reescreve "Classify the message" para cada cliente. Ela reutiliza essa instrução e encaixa uma mensagem nova a cada vez.
Contexto e indicador de saída: as duas partes que a gente esquece
A instrução e a entrada ficam óbvias depois de nomeadas. As outras duas são puladas, e pular elas é de onde vêm as respostas fracas.
O contexto é informação de fundo que o modelo precisa, mas que não é a entrada em si. "O texto a seguir é de uma avaliação de restaurante" diz ao modelo como ler o que vem depois. Um papel como "Você é um contador sênior de impostos" muda o vocabulário e o nível de cautela da resposta. O contexto não pede nada; ele enquadra o pedido.
O indicador de saída descreve a forma da resposta. A AWS mostra isso com clareza usando um resumo: "Summarize the above text" devolve um parágrafo quase tão longo quanto o original, enquanto "Summarize the above text in one phrase" devolve uma linha só, bem apertada. Se o seu código posterior espera uma única palavra, um objeto JSON ou três tópicos, o indicador de saída é onde você diz isso. Quando o modelo devolve o formato errado, quase sempre é essa a parte que faltou.
Zero-shot e few-shot: ensinar com exemplos dentro do prompt
Às vezes uma instrução sozinha não basta para fixar o que você quer, principalmente o formato exato ou o tratamento de casos de borda. Você pode mostrar ao modelo em vez de só contar, incluindo exemplos resolvidos no prompt.
Um par de exemplo, uma entrada mais a saída correta dela, se chama shot. Um prompt sem exemplos é zero-shot: você se apoia no que o modelo já aprendeu durante o treinamento. Um prompt que inclui um ou mais exemplos é few-shot (ou one-shot para exatamente um), também chamado de in-context learning, porque o modelo capta o padrão a partir do próprio prompt.
Este é um prompt de sentimento zero-shot:
Diga o sentimento desta manchete como positivo, negativo ou neutro:
Nova rota aérea oferece uma grande oportunidade para passageiros e investidores.
E a versão few-shot, que mostra ao modelo o formato exato da resposta primeiro:
Diga o sentimento de cada manchete como positivo, negativo ou neutro.
Empresa de pesquisa rebate acusações de conduta imprópria sobre nova tecnologia.
Resposta: Negativo
Parques eólicos offshore prosperam enquanto a oposição diminui.
Resposta: Positivo
Fábrica é o alvo mais recente de uma investigação estadual.
Resposta:
Os exemplos fazem duas coisas: fixam a saída em uma única palavra e mostram como lidar com frases difíceis. O ponto-chave para as próximas lições é que o few-shot learning acontece inteiramente dentro do prompt. Ele não muda o modelo. Feche a sessão e o modelo não lembra de nada disso, que é exatamente o que separa o prompting do fine-tuning.
Templates de prompt: a receita reutilizável
Depois que um prompt funciona, você não quer redigitá-lo e correr o risco de quebrar a redação. Um template de prompt congela a estrutura e marca as partes que mudam. A AWS escreve os espaços variáveis com chaves duplas:
Diga o sentimento do seguinte {{tipo de texto}} como {{rótulo A}} ou {{rótulo B}}.
Texto: {{exemplo de entrada 1}}
Resposta: {{rótulo A}}
Texto: {{entrada}}
Resposta:
As chaves são um sinal para quem preenche o template, não texto que o modelo veja. Antes de enviar, você troca {{entrada}} pela mensagem real do cliente e tira as chaves. Isso importa porque a última lição deste tema, gestão de prompts, é construída inteiramente sobre templates com variáveis nomeadas, e os ataques de prompt de uma lição posterior exploram justamente a costura onde a sua instrução fixa se encontra com a {{entrada}} não confiável.
Dicas para a prova
- Se uma questão te entrega um prompt e pede para nomear as partes, mapeie cada linha: o que fazer (instrução), sobre o que fazer (entrada), o enquadramento (contexto), o formato exigido (indicador de saída).
- "Instrução" e "entrada" são o par-armadilha clássico. A instrução é o verbo, a entrada é o substantivo sobre o qual ele age. Uma questão que troca as duas está testando exatamente essa confusão.
- Um shot é um par de exemplo dentro do prompt. Zero exemplos significa zero-shot; um ou mais significa few-shot. Se uma alternativa disser que o few-shot muda o modelo ou os pesos dele, está errada. O in-context learning vive só no prompt.
- Um indicador de saída controla o formato e o tamanho. Quando um cenário reclama que as respostas estão longas demais ou na forma errada, o conserto é um indicador de saída, não um modelo novo.
O que levar daqui: um prompt é uma estrutura, não uma frase. Quando uma resposta decepciona, pergunte qual parte faltou em vez de reescrever tudo do zero. A seguir você vai ver as técnicas nomeadas, do zero-shot ao chain-of-thought, que decidem quanto dessa estrutura cada tarefa de fato precisa.
