Os fundamentos do prompting valem para todos os modelos. Este guia cobre o que é específico dos modelos da OpenAI, no aplicativo ChatGPT e pela API, e onde o comportamento deles deve mudar a forma como você escreve.
Nomes e limites de modelos mudam com frequência, então este guia descreve comportamentos que se mantiveram estáveis entre gerações. Consulte a documentação da OpenAI para a lista atual de modelos.
Duas famílias que pedem prompts diferentes
A OpenAI oferece modelos de chat de uso geral e modelos de raciocínio. A distinção importa mais que o nome do modelo.
| Modelos de chat gerais | Modelos de raciocínio | |
|---|---|---|
| Como funcionam | Respondem diretamente | Pensam internamente antes de responder |
| Melhor estilo de prompt | Instruções explícitas, passo a passo | O objetivo, as restrições e os critérios de sucesso |
| “Pense passo a passo” | Pode ajudar | Desnecessário; pode atrapalhar |
| Exemplos | Muitas vezes úteis | Tente primeiro sem eles |
| Custo e latência | Menores | Maiores, ajustáveis com o esforço de raciocínio |
Uma forma útil de pensar: oriente um modelo de chat como um júnior competente que precisa do procedimento, e um modelo de raciocínio como um colega sênior que precisa do objetivo.
Papéis de mensagem
A API recebe mensagens com papéis. As instruções do autor da aplicação vão na mensagem de sistema, que as APIs mais novas da OpenAI chamam de mensagem developer. A entrada do usuário vai em mensagens de usuário. O modelo dá prioridade às instruções do developer.
Coloque as regras permanentes, o papel e o formato de saída na mensagem developer. Coloque a tarefa e seus dados na mensagem de usuário. Veja os prompts de sistema e o prompting por papéis.
No aplicativo ChatGPT, as instruções personalizadas e as instruções de projeto fazem o papel da mensagem de sistema.
Seja literal e explícito
Os modelos recentes da OpenAI seguem as instruções de perto e ao pé da letra. Duas consequências:
- Eles fazem o que você diz, não o que você insinuou. Se você quer sugestões além da correção pedida, peça as duas.
- Uma única frase clara costuma corrigir um comportamento. Não é preciso usar maiúsculas nem repetir. Ênfase excessiva pode fazer uma regra ser aplicada demais.
Estruture com Markdown e delimitadores
Os modelos da OpenAI lidam bem com títulos e listas em Markdown para organizar instruções, e com tags no estilo XML para envolver documentos e entradas.
## Task
Summarize the incident report for the on-call team.
## Requirements
- 5 bullet points.
- Include root cause, customer impact, and fix.
## Output format
A markdown list. No introduction.
<report>
{{report}}
</report>
Contexto longo
Quando um prompt contém um documento grande, coloque as instruções tanto no início quanto no fim. Se só puder colocá-las uma vez, ponha-as acima do documento. Isso segue a própria orientação da OpenAI para prompts de contexto longo.
Saídas estruturadas
Para tudo o que o seu código analisa, use o recurso Structured Outputs da API com um JSON Schema em modo estrito. A resposta fica então restrita ao esquema, o que elimina toda uma classe de falhas de análise.
- Nomeie e descreva bem os campos: o modelo lê o esquema.
- Use enums para conjuntos fixos de valores.
- Coloque um campo de raciocínio antes do campo de resultado se quiser uma explicação.
- Valide mesmo assim: uma resposta pode ser cortada no limite de saída ou recusada.
Mais nos prompts de saída estruturada.
Chamada de funções
As ferramentas são definidas por um nome, uma descrição e um esquema de parâmetros. A descrição é o prompt que o modelo usa para decidir quando chamar a ferramenta; diga o que ela faz, quando usá-la e o que retorna. O modo estrito restringe os argumentos ao esquema. Veja os prompts para agentes de IA.
Esforço de raciocínio
Os modelos de raciocínio expõem uma configuração de quanto pensar. Use esforço baixo para extração e classificação simples e mais alto para análises de vários passos e código difícil. Ajustar essa configuração é mais eficaz do que acrescentar instruções de raciocínio ao prompt.
A contagem de tokens é exata
A OpenAI publica seus tokenizadores, então você pode contar os tokens de um prompt offline e saber o custo de entrada antes de enviar. O PromptFlowEngine usa esses tokenizadores para os modelos da OpenAI e rotula o resultado como exato. Verifique um prompt no espaço de trabalho ou veja a otimização de tokens.
O cache de prompts se aplica automaticamente a prefixos de prompt repetidos acima de um tamanho mínimo, então mantenha o conteúdo estável primeiro e o variável por último.
Prompting no aplicativo ChatGPT
- Dê o contexto uma vez. Use instruções personalizadas ou um projeto para preferências permanentes em vez de digitá-las de novo.
- Comece um novo chat quando o assunto mudar. Instruções antigas persistem em uma conversa longa.
- Anexe o material. Envie o arquivo em vez de descrevê-lo.
- Peça o formato. Uma tabela, uma lista de verificação ou um limite de palavras.
- Verifique a memória. Se memórias salvas estiverem conduzindo as respostas de formas indesejadas, revise-as ou desative-as.
- Não cole segredos. Chaves e dados de clientes em um chat saíram do seu controle.
A extensão do Chrome do PromptFlowEngine funciona dentro do ChatGPT: analisa o rascunho na caixa do prompt, reestrutura um pedido solto e avisa quando o rascunho contém uma credencial.
Erros comuns com os modelos da OpenAI
| Erro | O que acontece | Correção |
|---|---|---|
| Instruções passo a passo a um modelo de raciocínio | Mais lento, não melhor | Declare o objetivo e as restrições |
| Pedir JSON só em prosa | Saída inválida ocasional | Use Structured Outputs |
| Instruções enterradas sob um documento longo | Instruções subponderadas | Repita-as depois do documento |
| Ênfase em cada regra | Regras aplicadas demais | Afirmações simples; explique o motivo |
| Estimar tokens por caracteres | Orçamentos estourados | Conte com o tokenizador |
Otimizando um prompt do ChatGPT
- Declare a tarefa na primeira linha.
- Acrescente público, restrições e o formato de saída.
- Envolva o material colado em tags.
- Remova enchimento e repetições.
- Teste com entradas reais e compare versões.
O otimizador de prompts do PromptFlowEngine faz os passos 3 e 4 e verifica que nenhum requisito foi perdido.
Compare com o guia de prompting para Claude e o guia de prompting para Gemini.