Prompts OpenAI acabam em 30/11: mantenha IDs pmpt_ e versões

Conteúdo
  1. O que a OpenAI vai encerrar e quando?
  2. Como manter uma chamada pmpt_ funcionando sem mudar o código?
  3. Os prompts devem ficar no código ou em uma biblioteca?
  4. Quanto custa chamar um prompt por id?
  5. Como testar uma nova versão em parte do tráfego de produção?
  6. Como testar uma versão antes de publicá-la?
  7. O que fazer antes de 30 de novembro?
  8. Perguntas frequentes
  9. O que acontece com os prompts armazenados na OpenAI em 30 de novembro de 2026?
  10. Posso continuar chamando um id pmpt_ depois do encerramento?
  11. O que substitui o OpenAI Evals?
  12. Leituras relacionadas

A OpenAI vai encerrar os objetos de prompt reutilizáveis e a API v1/prompts em 30 de novembro de 2026. O painel e a API do Evals serão encerrados no mesmo dia. A OpenAI diz que esses objetos têm encerramento previsto, mas não informa o que uma chamada à Responses API com prompt={"id": "pmpt_..."} retornará depois disso. Por isso, o texto dos prompts precisa ser migrado antes. Recriamos um prompt com seu id pmpt_ na biblioteca de prompts da Synthorai e direcionamos uma chamada do SDK da OpenAI para o gateway da Synthorai, um proxy de API entre a aplicação e os provedores de modelos. Alteramos apenas a URL base e a chave: a requisição usou a versão 2 da biblioteca quando pediu a versão "2" e a versão de produção quando não especificou nenhuma.

TL;DR

  • Os objetos de prompt e a API v1/prompts da OpenAI serão encerrados em 30 de novembro de 2026; as avaliações da OpenAI passam a ser somente leitura em 31 de outubro.
  • Uma chamada à Responses API com prompt={"id": "pmpt_...", "version": "2"} foi atendida pela versão 2 de um prompt com esse id na biblioteca da Synthorai; só a URL base mudou.
  • Sob tráfego constante, a troca do rótulo de produção de um prompt da biblioteca passou a valer nas chamadas em 8 a 9 s.
  • Um teste definido antes da execução detectou uma alteração que violava uma regra em 16% das respostas; uma execução anterior com 40 casos havia aprovado a alteração.

Este artigo apresenta uma série de três guias sobre a biblioteca de prompts. Cada seção abaixo resume um guia, traz as medições e inclui o link para o código e as capturas de tela do console. Todas as execuções são de 19 e 20 de outubro de 2026, e o código está em github.com/synthorai-io/use-cases, no diretório prompt-library/.

O que a OpenAI vai encerrar e quando?

A página de descontinuações da OpenAI lista dois encerramentos para o mesmo dia:

RecursoAnúncioMudançaEncerramento
Prompts reutilizáveis: objetos de prompt e API v1/prompts3 de junho de 2026criação de prompts perdeu destaque na plataforma30 de novembro de 2026
Plataforma Evals: painel e API3 de junho de 2026avaliações existentes passam a ser somente leitura em 31 de outubro de 202630 de novembro de 2026

Um objeto de prompt é um prompt salvo no painel da OpenAI e chamado pelo id pmpt_, com versões e variáveis opcionais. O guia de migração da OpenAI recomenda tirar o texto do objeto de prompt e colocá-lo no código da aplicação, enviá-lo como input à Responses API e controlar suas versões com git, revisão de código e testes. O guia não informa o que uma requisição com um id pmpt_ retornará após o encerramento.

Como manter uma chamada pmpt_ funcionando sem mudar o código?

Recrie o prompt em uma biblioteca com o mesmo id e aponte o cliente para um gateway que o disponibilize. O gateway da Synthorai lê o campo prompt de uma requisição a /v1/responses: se o id corresponder a um prompt da biblioteca, ela atende à requisição, e um version numérico seleciona a versão correspondente. Esta foi a chamada da nossa demonstração. Fora a URL base e a chave, é a mesma que uma aplicação integrada à OpenAI envia:

import os
from openai import OpenAI

# The only change: the base URL and the key.
client = OpenAI(base_url="https://synthorai.io/v1", api_key=os.environ["SYNTHORAI_API_KEY"])

raw = client.responses.with_raw_response.create(
    model="gpt-6-luna",
    prompt={"id": "pmpt_68f2a1c09d4e4b7a8c3f5e21d0b97a64", "version": "2"},
    input="Where is order A-50977? It has been a week.",
)
print(raw.headers["x-synthorai-prompt-version"])   # 2
print(raw.parse().output_text)
ChamadaAtendida porTokens de entradaTokens de saídaCusto
prompt={"id": ..., "version": "2"}versão 2 da biblioteca92177$0.0000977
prompt={"id": ...}versão 1 da biblioteca, indicada pelo rótulo de produção96207$0.0001131

As duas respostas vieram do GPT-6 Luna, o modelo configurado nas versões da biblioteca. O id pmpt_ da demonstração é fictício; na migração, use o seu. Mais três verificações feitas em 20 de outubro cobrem o que uma aplicação migrada envia:

RequisiçãoResultado
"variables": {"product": "garden tools"} dentro de prompto valor substituiu {{product}} na versão; a resposta começou com “Vendemos ferramentas de jardinagem online.”
model: "gpt-4o" na requisiçãosubstituído pelo modelo configurado na versão, GPT-6 Luna
"version": "7", uma versão que não existe na biblioteca404 prompt_not_found, “não tem versão 7”

É fácil deixar passar o detalhe da última linha. Um número de versão da OpenAI corresponde à versão de mesmo número na biblioteca. Portanto, uma chamada que fixa "version": "7" precisa de uma v7 na biblioteca. Recrie na ordem as versões fixadas pelo código, para que os números coincidam, ou altere essas chamadas para a versão que você recriou.

A documentação da OpenAI não descreve nenhuma API para recuperar um objeto de prompt, e não encontramos uma opção de exportação. Copie o texto e as configurações de cada prompt do painel da OpenAI enquanto ainda estiverem disponíveis. No console, monte um corpo de requisição da Responses API com o texto copiado e cole-o na importação de um novo prompt. A importação cria a primeira versão com as mensagens, o modelo, os parâmetros, as ferramentas e o esquema de saída. Outra opção é escrever a versão no editor.

Os prompts devem ficar no código ou em uma biblioteca?

A OpenAI recomenda mantê-los no código. Uma biblioteca permite alterar um prompt sem fazer deploy, mas acrescenta um serviço ao caminho da requisição:

Prompts no códigoPrompts em uma biblioteca, chamados por id
Publicar uma alteraçãoalterar o código, revisar e fazer deploymover um rótulo; nas nossas execuções, a mudança chegou às chamadas em 8 a 9 s
Reverterreverter o código e fazer deploymover o rótulo de volta
Enviar 10% do tráfego para uma nova versãoimplementar uma flag ou um roteadorconfigurar um rollout no rótulo
Revisãogit diff e pull requestsdiff entre versões no console; as alterações não ficam no repositório
Testar antes de publicarusar seu próprio executor de testesconjuntos de teste e execuções de avaliação no prompt
Dependêncianenhuma além do provedor do modeloo gateway precisa estar acessível para resolver o prompt

A última linha é o custo de usar uma biblioteca. Se não conseguir ler a biblioteca, o gateway da Synthorai usa a última cópia do prompt que leu por até 24 horas. Ele só retorna 503 para um prompt do qual não tem uma cópia recente. Uma equipe que queira as duas opções pode exportar um prompt da biblioteca, com todas as suas versões, em JSON para o repositório.

Quanto custa chamar um prompt por id?

Uma chamada por id não tem custo adicional: em 20 pares, uma chamada por prompt_id enviou uma mediana de 114.5 tokens de prompt, o mesmo valor da requisição idêntica escrita diretamente no código. O gateway preenche as mensagens, o modelo e os parâmetros da versão e envia uma requisição comum ao provedor. Chamadas que não podem ser atendidas, por exemplo por uma variável ausente ou um id desconhecido, falham com 400 ou 404 antes de executar qualquer modelo e não são cobradas. Um rótulo é um ponteiro nomeado, como production ou staging, que aponta para uma versão por vez. Com chamadas a cada meio segundo, a troca do rótulo production passou a valer após uma mediana de 8.0 a 8.5 s. Após 15 s sem tráfego, a mudança já valia na primeira chamada. Versionamento de prompts traz o código, os cinco casos de erro e o método de medição dos tempos.

Como testar uma nova versão em parte do tráfego de produção?

Associe uma segunda versão e uma porcentagem de tráfego ao rótulo production. O gateway distribui as chamadas pelo id de sessão, enviado no header X-Session-Id, que agrupa as chamadas de uma conversa. Assim, a versão não muda no meio da conversa. No nosso rollout de 10%, 16 de 200 sessões (8.0%) foram para a versão candidata, e todas as 400 sessões das execuções de 10% e 50% permaneceram em uma única versão. Usuários finais identificados por um rótulo _user, pelo campo user da requisição ou por safety_identifier também permaneceram na mesma versão. A candidata usava o mesmo prompt, mas trocava o GPT-6 Luna pelo DeepSeek V4.1 Flash. Ela respondeu mais rápido, com mediana de 3.1 s contra 4.9 s. Porém, considerando apenas a parcela de 10%, suas 71 chamadas custaram 1.92 vezes mais por chamada do que as de produção. Teste A/B de uma alteração de prompt mostra como os totais por versão revelaram essa diferença.

Como testar uma versão antes de publicá-la?

Execute a versão nova e a atual em um conjunto fixo de testes e avalie cada resposta com critérios definidos por escrito: padrões, esquemas JSON, limites de latência e custo ou um modelo como avaliador. Nossa v2 encurtou o texto de sistema e removeu a regra “sempre informar o número do pedido”. Em 110 mensagens que não haviam sido usadas em nenhuma execução anterior, a v2 omitiu o número do pedido em 18 respostas (16%); a v1 não omitiu em nenhuma. No teste definido antes da execução, o teste exato de Fisher, que calcula a probabilidade de uma diferença desse tamanho ocorrer por acaso, resultou em p = 3.6 × 10⁻⁶. Uma execução anterior com 40 casos havia aprovado a v2 em todos eles. O avaliador, Claude Sonnet 5.5, respondeu pela maior parte do custo do teste: cerca de um décimo de centavo de dólar por caso. Teste um prompt antes de publicá-lo apresenta a regra de dimensionamento que decorre desse resultado.

Para equipes que estão saindo do OpenAI Evals, esse é o substituto dentro da biblioteca de prompts. Há uma diferença a considerar no planejamento: uma execução de teste iniciada pela API fica a cargo do chamador, que chama as duas versões, avalia as respostas e grava os resultados de volta. O console executa os mesmos testes pelo navegador.

O que fazer antes de 30 de novembro?

A migração se resume a cinco etapas:

  • Liste todos os ids pmpt_ chamados pelo código, junto com as versões fixadas.
  • Copie o texto e as configurações de cada prompt do painel da OpenAI enquanto ainda estiverem disponíveis.
  • Decida o destino de cada prompt: o código, como recomenda a OpenAI, ou uma biblioteca com o mesmo id.
  • Recrie os prompts na biblioteca com seus ids pmpt_, mantendo cada versão fixada com seu número original, e aponte a URL base do cliente para o gateway; confira o header X-Synthorai-Prompt-Version na primeira chamada.
  • Migre as avaliações das quais você depende antes de 31 de outubro, quando as avaliações da OpenAI passam a ser somente leitura.

Perguntas frequentes

O que acontece com os prompts armazenados na OpenAI em 30 de novembro de 2026?

A página de descontinuações da OpenAI informa que os objetos de prompt reutilizáveis e a API v1/prompts têm encerramento previsto para 30 de novembro de 2026. O guia de migração recomenda mover o texto dos prompts para o código da aplicação, mas não informa o que uma requisição com um id pmpt_ retornará após essa data.

Posso continuar chamando um id pmpt_ depois do encerramento?

Sim, se um gateway atender esse id a partir da própria biblioteca de prompts. No nosso teste, uma chamada do SDK da OpenAI com prompt={"id": "pmpt_...", "version": "2"}, enviada ao gateway da Synthorai, foi atendida pela versão 2 da biblioteca. Só a URL base e a chave mudaram. Uma versão fixada precisa existir na biblioteca com o mesmo número; caso contrário, a chamada retorna 404.

O que substitui o OpenAI Evals?

Qualquer executor de testes que chame duas versões de um prompt com entradas fixas e avalie as respostas pode substituí-lo. Em uma biblioteca de prompts, os conjuntos de teste e as execuções de avaliação ficam junto do prompt, e a janela de troca de versão mostra a última execução da versão antes da publicação.

Leituras relacionadas

← Voltar ao blog