Engenharia de prompts para aplicações LLM em produção
Design do prompt de sistema, exemplos few-shot, formatação da saída, lógica de novas tentativas e otimização de custos.
Engenharia de prompts para aplicações LLM em produção é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 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 Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Criando instruções para produção
Em aplicativos reais, as instruções são código: precisam de estrutura, testes e confiabilidade. Uma boa engenharia de instruções reduz alucinações, impõe o formato da saída e controla os custos. Esta lição aborda as técnicas importantes para produção.
Criação da instrução do sistema
A instrução do sistema define a função, o tom, as restrições e as regras do modelo. Seja específico: diga o que o assistente é, o que deve e não deve fazer e qual deve ser o formato das respostas. Uma instrução do sistema clara é sua ferramenta mais poderosa para orientar o modelo.
system = (
"You are a support agent for an e-commerce store. "
"Answer only questions about orders and shipping. "
"If asked anything else, politely decline. "
"Keep replies under 3 sentences."
)Exemplos com poucas amostras
A técnica de poucas amostras consiste em mostrar ao modelo pares de entrada e saída de exemplo para que ele aprenda o padrão. Você coloca esses exemplos como mensagens alternadas do usuário e do assistente antes da solicitação real.
messages = [
{"role": "system", "content": system},
{"role": "user", "content": "Classify: I love this!"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "Classify: This broke instantly."},
{"role": "assistant", "content": "negative"},
{"role": "user", "content": "Classify: It is okay I guess."}
]Por que poucas amostras funcionam
Os exemplos esclarecem sua intenção melhor do que instruções isoladas. Eles fixam o estilo exato da saída (uma palavra, JSON, um rótulo) e melhoram bastante a consistência em tarefas de classificação, extração e formatação.
Forçando a saída em JSON
Para obter respostas legíveis por máquinas, solicite o modo JSON com response_format. Com {"type": "json_object"}, o modelo fica limitado a emitir JSON válido, que você pode então analisar com segurança.
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)Contando tokens com tiktoken
Os custos e os limites de contexto são medidos em tokens. A biblioteca tiktoken conta tokens localmente para que você possa definir o orçamento antes do envio. Instale-a com pip install tiktoken.
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("Hello, how are you?")
print(len(tokens))Por que a contagem de tokens é importante
Cada modelo tem uma janela de contexto (uma quantidade máxima de tokens), e você paga por token. Contar antecipadamente permite reduzir o histórico, rejeitar entradas grandes demais e prever o custo antes que a chamada saia do seu servidor.
def cost_estimate(text, price_per_1k=0.005):
enc = tiktoken.encoding_for_model("gpt-4o")
n = len(enc.encode(text))
return n, n / 1000 * price_per_1kLidando com limites de taxa
O tráfego de produção encontra limites de taxa (HTTP 429) e erros temporários. Em vez de falhar, tente novamente usando espera exponencial. A biblioteca tenacity transforma isso em um decorador de uma linha.
pip install tenacity
from tenacity import retry, wait_exponential, stop_after_attemptRepetindo com tenacity
Aplique o decorador @retry à sua chamada de API. Use wait_exponential para aumentar o intervalo entre as tentativas e stop_after_attempt para limitar o total de tentativas. Isso permite lidar normalmente com interrupções temporárias.
@retry(wait=wait_exponential(min=1, max=30), stop=stop_after_attempt(5))
def ask(prompt):
return client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)Definindo um esquema JSON para a saída
Ao forçar o modo JSON, sempre descreva no prompt o formato exato desejado para que as chaves sejam previsíveis. Especificar o esquema em texto simples, junto com o modo JSON, fornece resultados válidos que podem ser analisados e validados todas as vezes.
system = (
"Return ONLY JSON with this shape: "
"{\"sentiment\": \"positive|negative|neutral\", "
"\"confidence\": number between 0 and 1}"
)Juntando tudo
Um fluxo de instruções para produção consiste em: criar uma instrução do sistema rigorosa, adicionar exemplos com poucas amostras, forçar a saída em JSON quando necessário, contar tokens para gerenciar custos e contexto e envolver as chamadas em uma lógica de retry. Juntos, esses elementos tornam os recursos de LLM confiáveis.
Verificação rápida
Teste seus conhecimentos sobre a criação de instruções para produção.
Recapitulação: Instruções para produção
Você aprendeu a criar instruções de sistema rigorosas, orientar o comportamento com exemplos com poucas demonstrações e garantir respostas estruturadas por meio do modo JSON de response_format. Você contou tokens com tiktoken para gerenciar o contexto e os custos, e acrescentou resiliência com novas tentativas de tenacity para lidar com limites de taxa.
Perguntas Frequentes
A aula “Engenharia de prompts para aplicações LLM em produção” é grátis?
Sim — o texto completo de “Engenharia de prompts para aplicações LLM em produção” é 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 Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Engenharia de prompts para aplicações LLM em produção”?
Design do prompt de sistema, exemplos few-shot, formatação da saída, lógica de novas tentativas e otimização de custos. Você pratica Learn AI with Python 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 Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python 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 4 de 4.
Quanto tempo leva a aula “Engenharia de prompts para aplicações LLM em produção”?
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 Learn AI with Python?
Sim. Cada aula de Learn AI with Python 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
- API da OpenAI: chat.completions e transmissão
- API Anthropic Claude em Python
- Chamadas de funções e uso de ferramentas com LLMs
- Engenharia de prompts para aplicações LLM em produção