Migrando a GPT-6.1 Sol: 9 cosas que pueden salir mal

AIHubMix8 min de lectura
Migrando a GPT-6.1 Sol: 9 cosas que pueden salir mal

Pasar de GPT-6 Sol a 6.1 Sol parece un cambio de una línea, y el precio es el mismo. Pero hay algunos cambios importantes y algunos cambios en el comportamiento, por lo que cambiar solo el nombre del modelo puede ocasionarte errores, una factura sorpresa o un agente que se comporta de manera diferente. La guía de migración de GPT-6 de OpenAI cubre la mayoría de los cambios oficiales. Esta publicación agrega las cosas que tienden a causar problemas en la práctica.

Están ordenadas de "fallos ruidosos" a "fallos silenciosos."


1. reasoning_effort: "none" devuelve un 400

Lo que verás: La solicitud es rechazada.

Por qué: 6.1 Sol no soporta none o minimal. El nivel más bajo es low. GPT-6 Sol y Luna aún aceptan none, que es la razón por la que tu antiguo código funcionaba allí.

Solución:

  • El mapeo de OpenAI es reemplazar none con low. Para minimal, comienza en low y compara.
  • low es más lento y más caro que none, porque genera tokens de razonamiento. Para caminos verdaderamente sensibles a la latencia, como autocompletar o clasificación en tiempo real, quedarse en GPT-6 Sol o pasar a Luna puede ser la mejor opción.

2. La llamada a herramientas en Chat Completions deja de funcionar

Lo que verás: Las solicitudes de Chat Completions que incluyen tools fallan.

Por qué: GPT-6 Sol solo permitía la llamada a funciones en Chat Completions cuando reasoning_effort era none, y muchos proyectos dependían de esa combinación para llamadas a herramientas económicas. Con none fuera, Chat Completions en 6.1 Sol solo funciona para solicitudes sin herramientas. Para herramientas, debes usar la API de Responses. La guía de OpenAI para migrar a la API de Responses te lo explica.

Solución: Cambia a /v1/responses. AIHubMix también lo soporta; consulta la documentación de la API de Responses de AIHubMix para los parámetros.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

resp = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "low"},          # anidado, no reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Obtener el clima actual de una ciudad",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="¿Cuál es el clima en Shanghái hoy?",
)
print(resp.output)

Cosas fáciles de pasar por alto:

  • En Responses, el parámetro es reasoning.effort. Enviar reasoning_effort te dará Unsupported parameter.
  • En el uso de herramientas de múltiples turnos, envía de vuelta cada elemento de reasoning, function_call y function_call_output desde el último mensaje del usuario, no solo los resultados de la función.
  • Con store: false o ZDR, los elementos de razonamiento incluyen encrypted_content por defecto. Reproduce el historial completo y simplemente funcionará.

3. Los parámetros de muestreo deben eliminarse

Lo que verás: Las solicitudes con temperature o top_p fallan.

Por qué: Estos parámetros solo se permiten cuando el esfuerzo es none. 6.1 Sol no tiene none, así que nunca puedes usarlos con este modelo.

Eliminar:

  • temperature, top_p, top_logprobs
  • logprobs en Chat Completions
  • message.output_text.logprobs de include en Responses

Si usaste logprobs para puntajes de confianza o umbrales de clasificación, necesitarás un nuevo enfoque. Una opción son salidas estructuradas que le piden al modelo que informe su confianza directamente. Otra es mantener esas tareas en un modelo que soporte none.


4. La caché funciona de manera diferente y tu factura puede aumentar

Esta es la más fácil de pasar por alto, especialmente al migrar desde GPT-5.5 o anterior. Todo lo siguiente proviene de la guía de caché de prompts de OpenAI.

El parámetro fue renombrado. prompt_cache_retention ahora es prompt_cache_options.ttl, y el único valor soportado es "30m".

Las escrituras en caché se facturan. Cuestan 1.25× la tarifa de entrada ($2.50 por millón en 6.1 Sol). Un prefijo largo que usas solo una vez ahora cuesta un 25% más con caché que sin ella.

Los puntos de ruptura se movieron. Los modelos más antiguos colocaban puntos de ruptura en intervalos fijos (cada 2,048 tokens en GPT-5.5). El modo implícito ahora coloca un punto de ruptura al final del último mensaje elegible. Como resultado, un prefijo más corto compartido entre solicitudes no se reutiliza automáticamente. Si muchas solicitudes comparten un prompt del sistema seguido de diferentes entradas de usuario, agrega un punto de ruptura explícito justo después del prompt del sistema.

Agregar a un mensaje existente rompe la caché. El endpoint en caché termina en medio de un mensaje más largo y no puede ser emparejado. Agrega un nuevo mensaje en su lugar.

Cambiar el esfuerzo de razonamiento rompe la caché. reasoning.effort es parte del prefijo. Cambia a mitad de conversación con configuration_update (ver Parte 2). Ten en cuenta que no se puede combinar con compactación o truncamiento automáticos, y /responses/compact rechaza historiales que contengan uno.

El tráfico alto puede reducir las tasas de aciertos. Las cachés viven en máquinas individuales. Más de aproximadamente 15 solicitudes por minuto en el mismo prefijo pueden desbordarse a otras máquinas y fallar. Los tokens en caché también siguen contando hacia tu límite de tasa TPM.

Antes y después de migrar, compara cached_tokens, cache_write_tokens, latencia y costo por tarea.


5. Cruzar 272K de entrada duplica el precio

La ventana de contexto de 1.05M es tentadora, pero una vez que la entrada supera los 272K tokens, toda la solicitud se factura a 2× la entrada y 1.5× la salida. Pasar de 270K a 280K de entrada lleva una solicitud de $0.64 a $1.27 (la Parte 3 tiene los cálculos).

Las sesiones largas de agentes siguen creciendo, por lo que es fácil cruzar esta línea sin darse cuenta. Configura una alarma del lado del cliente alrededor de 250K y activa la compactación cuando se dispare.


6. Un pequeño max_output_tokens te da una respuesta vacía

Lo que verás: status: incomplete con razón max_output_tokens, sin salida visible, y aún así se te cobra.

Por qué: max_output_tokens incluye tokens de razonamiento. Un límite que estaba bien en none puede ser consumido completamente por razonamiento en low o superior.

Solución: La guía de razonamiento de OpenAI recomienda reservar al menos 25,000 tokens. Busca límites codificados, especialmente valores que se trasladaron de Chat Completions max_tokens. El código de muestra en la página del modelo AIHubMix, por ejemplo, usa 1024. Eso está bien para una demostración rápida de texto, pero aumenta para cargas de trabajo reales.


7. El comportamiento del agente ha cambiado, así que revisa los permisos

En general, 6.1 Sol se comporta mejor que 6 Sol: los incidentes graves han disminuido en un tercio, y es mucho más probable que te informe cuando una herramienta está rota. Algunos números aún merecen atención (datos de OpenAI, compilados por DataCamp):

Comportamiento6.1 Sol6 SolAstra
Sigue intentando eludir una restricción explícita23.5%64.4%17.4%
Engaño en tareas de codificación1.50%1.30%0.51%
Se comunica con otros agentes38%26%—
…y realmente toma una acción no autorizada3%11%—

6.1 Sol es más persistente. Intenta más soluciones alternativas cuando está bloqueado, y es más dispuesto a hablar con otros agentes. Eso es generalmente lo que deseas de un agente de automatización, pero aumenta las apuestas cuando el agente tiene amplios permisos.

Qué hacer:

  • Aplica permisos con sandboxes y listas de permitidos, no solo instrucciones en el prompt.
  • Requiere aprobación humana para acciones sensibles: eliminaciones, implementaciones, pagos y cualquier cosa que toque credenciales.
  • Mantén registros completos de llamadas a herramientas y verifica afirmaciones como "las pruebas pasan" o "arreglado".
  • En configuraciones de múltiples agentes, define exactamente qué pueden compartir los agentes entre sí.

8. Tus prompts pueden necesitar ajustes

La guía de migración de GPT-6 de OpenAI enumera varios cambios de comportamiento. Están escritos sobre Astra, pero 6.1 Sol es de la misma familia y se comporta de manera similar, así que verifica si están presentes:

  • Hace más preguntas. Puede detenerse para confirmar donde esperarías que siguiera. Dile que se incline hacia la acción y complete la tarea, y que frases como "¿puedes...?" son una solicitud para hacer la cosa.
  • Sigue las instrucciones más literalmente. Presta más atención a los archivos AGENTS.md y SKILL.md, por lo que una regla obsoleta puede comenzar a aplicarse de repente. OpenAI recomienda encarecidamente auditar estos archivos y declarar que las instrucciones del usuario tienen prioridad sobre las habilidades.
  • Se apoya en Markdown, listas y tablas, y reutiliza frases estándar. Si deseas prosa, dilo explícitamente.
  • Prueba en exceso cambios pequeños. Dile que las ediciones de bajo riesgo y reversibles no necesitan una prueba completa.
  • Delegar a subagentes menos de lo que podrías querer. Si deseas trabajo paralelo, especifica cuándo dividir las tareas.

9. Límites de disponibilidad y despliegue

  • Aún no en el chat regular de ChatGPT. Solo ChatGPT Work y Codex. Los administradores de Enterprise y Edu necesitan habilitarlo.
  • El modo rápido no funciona con la residencia de datos de la UE. Ultrafast solo admite residencia en EE. UU. y procesamiento global.
  • El corte de conocimiento es el 30 de abril de 2026. Para bibliotecas, API o noticias más recientes, usa búsqueda web o RAG.
  • No soportado: ajuste fino, salidas predichas, entrada de audio y video, y las APIs de Realtime y Assistants.
  • Los límites de tasa coinciden con 6 Sol: de 500 RPM / 500K TPM en el Nivel 1 hasta 15,000 RPM / 40M TPM en el Nivel 5. En AIHubMix, las solicitudes pueden pasar a través de OpenAI o Azure, con reintento automático en el otro proveedor si uno falla o se ralentiza.

Lista de verificación de migración

  • [ ] Reemplaza none y minimal con low, y verifica la latencia
  • [ ] Mueve las solicitudes de llamada a herramientas de Chat Completions a la API de Responses
  • [ ] Usa el parámetro anidado reasoning.effort
  • [ ] Elimina temperature, top_p, y logprobs, y reestructura cualquier lógica que dependiera de logprobs
  • [ ] Reemplaza prompt_cache_retention con prompt_cache_options.ttl: "30m"
  • [ ] Agrega un punto de ruptura explícito después de los prefijos compartidos, y confirma que tengan al menos 1,024 tokens
  • [ ] Usa configuration_update para cambios de esfuerzo a mitad de conversación
  • [ ] Agrega una alarma de 272K de entrada
  • [ ] Establece max_output_tokens en al menos 25,000
  • [ ] Audita AGENTS.md, SKILL.md, y prompts del sistema
  • [ ] Revisa permisos de sandbox, puertas de aprobación y registro de herramientas
  • [ ] Compara la tasa de éxito, cached_tokens, reasoning_tokens, y costo por tarea antes y después

Si usas Codex, ejecutar $openai-docs migrate this project to the GPT-6 model family manejará la mayoría de los cambios mecánicos. Aún así, revisa la lista de verificación tú mismo.


FAQ

¿Cuál es el mínimo que necesito cambiar para pasar de GPT-6 Sol a 6.1 Sol? Tres cosas: el nombre del modelo; reemplazar none y minimal con low; y eliminar temperature, top_p, y cualquier cosa relacionada con logprobs. Si llamas a herramientas a través de Chat Completions, también necesitarás pasar a la API de Responses.

¿Puedo seguir usando Chat Completions para texto plano? Sí. Siempre que la solicitud no tenga tools, Chat Completions funciona. La muestra en la página del modelo AIHubMix es exactamente este tipo de llamada.

¿AIHubMix soporta la API de Responses? Sí. Establece base_url en https://aihubmix.com/v1 y llama a client.responses.create.

Mi tasa de aciertos en caché cayó después de la actualización. ¿Qué debo verificar? Tres cosas: si los prefijos compartidos tienen un punto de ruptura explícito después de ellos, si estás agregando a mensajes existentes, y si estás cambiando reasoning.effort a mitad de conversación. Luego compara cached_tokens y cache_write_tokens antes y después.

La latencia aumentó después de la actualización. ¿Es eso esperado? Si estabas usando none, sí. low todavía genera tokens de razonamiento. Para caminos críticos en latencia, quédate en GPT-6 Sol o Luna, o pídele al modelo un breve preámbulo para obtener el primer token más rápido.

¿Es 6.1 Sol más propenso que 6 Sol a sobrepasar sus permisos? En general, no. Los incidentes graves han disminuido en un tercio, y la tasa de realmente tomar una acción no autorizada cayó del 11% al 3%. Es algo más probable que contacte a otros agentes y que sea engañoso en tareas de codificación, así que aplica permisos con un sandbox en lugar de confiar solo en los prompts.

¿Seguirán funcionando mis existentes AGENTS.md y prompts del sistema? Funcionarán, pero revísalos. La familia GPT-6 sigue las instrucciones más estrictamente, por lo que reglas obsoletas o conflictivas pueden hacer que el modelo se detenga a preguntar más a menudo, o haga algo que no pretendías.


Sigue leyendo: la serie GPT-6.1 Sol


Fuentes