Escolhendo parâmetros para seu caso de uso
Configurações recomendadas para perguntas e respostas factuais, escrita criativa, código e chat.
Escolhendo parâmetros para seu caso de uso é uma aula grátis de AI Prompt Engineering 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 AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 4 aulas no total.
Estrutura para decidir os parâmetros
Escolher parâmetros de amostragem não é uma questão de tentativa e erro — isso segue uma lógica baseada nos requisitos da sua tarefa. Duas dimensões principais determinam a configuração adequada:
- Precisão da saída: qual é a importância de a saída estar correta e ser previsível?
- Diversidade da saída: qual é a importância de as saídas variarem e explorarem possibilidades?
Alta precisão → temperatura baixa. Alta diversidade → temperatura alta. A maioria das tarefas fica em algum ponto entre esses extremos.
Perguntas e respostas factuais: a precisão é tudo
Para responder a perguntas factuais, normalmente existe uma única resposta correta. Qualquer aleatoriedade aumenta a chance de uma resposta errada. Use:
- temperatura = 0: decodificação gulosa, totalmente determinística
- probabilidade acumulada = 1,0: deixe sem restrições; com temperatura=0, a probabilidade acumulada não tem efeito
Isso garante que o modelo sempre escolha a resposta em que tem mais confiança, que é a mais provável de estar correta.
import openai
client = openai.OpenAI(api_key='sk-...')
# Factual Q&A configuration
def factual_qa(question):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
{'role': 'user', 'content': question}
],
temperature=0,
top_p=1.0
)
return resp.choices[0].message.content
answer = factual_qa('What is the boiling point of water at sea level?')
print(answer) # Always: '100 degrees Celsius (212 degrees Fahrenheit).'Geração de código: quase gulosa
O código precisa estar sintaticamente correto e ser semanticamente preciso. A aleatoriedade causa erros de sintaxe, nomes de variáveis incorretos ou lógica errada. Use:
- temperatura = 0–0,2: quase gulosa — permite pequenas variações, mas favorece fortemente escolhas corretas de tokens
- probabilidade acumulada = 0,95: elimina tokens da cauda extrema que poderiam causar erros de sintaxe
# Code generation configuration
def generate_code(task):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
{'role': 'user', 'content': task}
],
temperature=0.1,
top_p=0.95
)
return resp.choices[0].message.content
code = generate_code('Write a Python function that merges two sorted lists.')
print(code)Resumo: configurações moderadas
A sumarização precisa de precisão (não distorça os fatos), mas se beneficia de uma variação moderada (execuções diferentes podem enfatizar aspectos diferentes). Use:
- temperatura = 0,3–0,5: uma aleatoriedade leve preserva formulações naturais
- probabilidade acumulada = 1,0: nenhuma restrição de núcleo é necessária em temperaturas baixas
# Summarization configuration
def summarize(text):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
{'role': 'user', 'content': text}
],
temperature=0.4,
top_p=1.0
)
return resp.choices[0].message.content
summary = summarize(long_article)
print(summary)Conversa por chat: variação natural
As respostas de chat se beneficiam de uma variação natural — a mesma pergunta não deve sempre produzir exatamente a mesma formulação. Aleatoriedade excessiva torna as respostas incoerentes. Use:
- temperatura = 0,7–0,9: conversa natural e variada
- probabilidade acumulada = 0,9–0,95: elimina tokens improváveis da cauda que produzem formulações artificiais
# Chat configuration
def chat_response(user_message, history):
messages = history + [{'role': 'user', 'content': user_message}]
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
*messages
],
temperature=0.8,
top_p=0.9
)
reply = resp.choices[0].message.content
history.append({'role': 'user', 'content': user_message})
history.append({'role': 'assistant', 'content': reply})
return reply, historyEscrita criativa: alta diversidade
A escrita criativa valoriza a originalidade e o inesperado. Temperaturas baixas produzem saídas clichês e previsíveis. Temperaturas altas produzem escolhas vívidas e inesperadas — embora valores altos demais causem incoerência. Use:
- temperatura = 0,9–1,2: vocabulário diversificado, escolhas de palavras não óbvias
- probabilidade acumulada = 0,95: evita tokens incoerentes da cauda e permite uma exploração ampla
# Creative writing configuration
def write_story_opening(prompt):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
{'role': 'user', 'content': f'Write a story opening for: {prompt}'}
],
temperature=1.1,
top_p=0.95
)
return resp.choices[0].message.content
opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)Geração de ideias
Para gerar ideias, o objetivo é obter a máxima diversidade — incluindo ideias incomuns ou inesperadas. Use a temperatura prática mais alta:
- temperatura = 1,0–1,5: exploração ampla do espaço de ideias
- probabilidade acumulada = 0,95–1,0: restrição mínima
Execute várias vezes e reúna todas as saídas — depois filtre manualmente as melhores ideias. As instruções para gerar ideias se beneficiam de pedidos explícitos de variedade: 'Dê-me 10 abordagens diferentes, incluindo algumas incomuns.'
# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
ideas = []
for _ in range(n_runs):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
{'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
],
temperature=1.3,
top_p=0.95
)
ideas.append(resp.choices[0].message.content)
return ideas
all_ideas = brainstorm('reducing customer churn')Teste de sensibilidade dos parâmetros
Antes de definir os parâmetros, execute testes de sensibilidade dos parâmetros: mantenha a instrução constante, varie um parâmetro por vez e avalie a qualidade da saída em cada configuração.
def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
results = {}
for temp in temperatures:
scores = []
for _ in range(n_samples):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': prompt}],
temperature=temp
)
score = evaluator(resp.choices[0].message.content)
scores.append(score)
results[temp] = sum(scores) / len(scores)
for temp, score in sorted(results.items()):
print(f'T={temp}: avg score = {score:.2f}')
best_temp = max(results, key=results.get)
print(f'Best temperature: {best_temp}')
return best_tempQuando manter os valores padrão
Nem toda aplicação precisa de parâmetros personalizados. Mantenha os valores padrão quando:
- O caso de uso for um chat geral — a temperatura padrão (1,0 na maioria das APIs) estiver bem ajustada
- Você estiver criando um protótipo e ainda não souber quais são as configurações corretas
- A tarefa estiver equilibrada entre precisão e criatividade (por exemplo, redigir e-mails)
Regra prática: personalize os parâmetros somente quando o comportamento padrão causar um problema de qualidade mensurável nos testes. Ajustar parâmetros prematuramente adiciona complexidade sem benefício mensurável.
# Defaults are often correct
default_resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
# No temperature or top_p specified — API defaults apply
# OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)Cartão de referência rápida
Tabela resumida das configurações recomendadas por caso de uso:
PARAMETER_PRESETS = {
# task: (temperature, top_p, notes)
'factual_qa': (0.0, 1.0, 'greedy, max accuracy'),
'classification': (0.0, 1.0, 'deterministic labels'),
'code_generation': (0.1, 0.95, 'near-greedy, avoid tail tokens'),
'data_extraction': (0.2, 1.0, 'slight variation for robustness'),
'summarization': (0.4, 1.0, 'preserve facts, vary phrasing'),
'translation': (0.3, 1.0, 'accurate but natural'),
'chat': (0.8, 0.9, 'natural conversation'),
'email_drafting': (0.7, 0.9, 'professional but varied'),
'creative_writing': (1.1, 0.95, 'vivid, original'),
'brainstorming': (1.3, 0.95, 'maximum diversity'),
}
for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')Penalidades de frequência e presença
Dois parâmetros adicionais complementam a temperatura e top-p:
- penalidade de frequência (0–2): reduz a probabilidade dos tokens proporcionalmente à frequência com que apareceram na saída até o momento — evita a repetição de palavras
- penalidade de presença (0–2): reduz a probabilidade de qualquer token que tenha aparecido — incentiva a diversidade de tópicos
Para escrita criativa: adicione uma penalidade de frequência de 0,5 para reduzir escolhas repetidas de palavras sem alterar a temperatura.
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
temperature=1.0,
top_p=0.95,
frequency_penalty=0.5, # discourage repeating the same words
presence_penalty=0.3 # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)Verificação de conhecimentos
Para uma tarefa que gera código Python que será executado em produção, qual configuração de parâmetros é mais apropriada?
Recapitulação: escolha de parâmetros de amostragem
Combine os parâmetros com suas necessidades de precisão e diversidade:
- Factual/código: temperatura=0–0,2, probabilidade acumulada=0,95 — precisão em primeiro lugar
- Sumarização: temperatura=0,3–0,5 — equilíbrio
- Chat: temperatura=0,7–0,9, probabilidade acumulada=0,9 — variação natural
- Criativo: temperatura=0,9–1,2, probabilidade acumulada=0,95 — diversidade
- Geração de ideias: temperatura=1,3, probabilidade acumulada=0,95 — exploração máxima
Execute testes de sensibilidade dos parâmetros. Mantenha os valores padrão quando nenhum problema de qualidade for observado. Adicione uma penalidade de frequência para problemas de repetição. Isso conclui o Curso 19. Próxima etapa: testes de instruções e regressão.
Aprenda AI Prompt Engineering com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 53
- Aulas
- 199
Perguntas Frequentes
A aula “Escolhendo parâmetros para seu caso de uso” é grátis?
Sim — o texto completo de “Escolhendo parâmetros para seu caso de uso” é 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 Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 4 aulas no total.
O que vou aprender em “Escolhendo parâmetros para seu caso de uso”?
Configurações recomendadas para perguntas e respostas factuais, escrita criativa, código e chat. Você pratica AI Prompt Engineering 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 Prompt Engineering?
Nenhuma experiência prévia é necessária. AI Prompt Engineering 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 “Escolhendo parâmetros para seu caso de uso”?
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 Prompt Engineering?
Sim. Cada aula de AI Prompt Engineering 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
- O que é temperatura em LLMs?
- Amostragem de núcleo top-p
- Amostragem top-k
- Escolhendo parâmetros para seu caso de uso