Migración a GPT-6.1 Sol: 9 cosas que pueden salir mal

AIHubMix8 min de lectura
Migración 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 sola línea, y el precio es el mismo. Pero hay algunos cambios incompatibles y variaciones de comportamiento, así que cambiar solo el nombre del modelo puede provocar errores, una factura inesperada o un agente que se comporte de otra manera. La guía de migración de GPT-6 de OpenAI cubre la mayoría de los cambios oficiales. Esta publicación añade las cosas que suelen causar problemas en la práctica.

Están ordenadas desde «falla de forma evidente» hasta «falla silenciosamente».


1. reasoning_effort: "none" devuelve un error 400

Qué verás: Se rechaza la solicitud.

Por qué: 6.1 Sol no admite none ni minimal. El nivel más bajo es low. GPT-6 Sol y Luna todavía aceptan none, por eso tu código anterior funcionaba allí.

Solución:

  • La correspondencia que propone OpenAI es reemplazar none por low. Para minimal, empieza con low y compara.
  • low es más lento y más caro que none, porque genera tokens de razonamiento. Para rutas realmente sensibles a la latencia, como el autocompletado o la clasificación en tiempo real, quizá convenga más seguir con GPT-6 Sol o pasarse a Luna.

2. Las llamadas a herramientas dejan de funcionar en Chat Completions

Qué verás: Fallan las solicitudes de Chat Completions que incluyen tools.

Por qué: GPT-6 Sol solo permitía llamadas a funciones en Chat Completions cuando reasoning_effort era none, y muchos proyectos dependían de esa combinación para hacer llamadas a herramientas a bajo costo. Al desaparecer none, Chat Completions con 6.1 Sol solo funciona para solicitudes sin herramientas. Para usar herramientas, tienes que recurrir a la API Responses. La guía de OpenAI para migrar a la API Responses explica cómo hacerlo.

Solución: Pásate a /v1/responses. AIHubMix también la admite; consulta la documentación de la API Responses de AIHubMix para ver 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"},          # nested, not reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get the current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="What's the weather in Shanghai today?",
)
print(resp.output)

Detalles fáciles de pasar por alto:

  • En Responses, el parámetro es reasoning.effort. Si envías reasoning_effort, recibirás Unsupported parameter.
  • En el uso de herramientas en varios turnos, devuelve todos los elementos reasoning, function_call y function_call_output desde el último mensaje del usuario, no solo los resultados de las funciones.
  • Con store: false o ZDR, los elementos de razonamiento incluyen encrypted_content de forma predeterminada. Reproduce todo el historial y funcionará sin más.

3. Hay que quitar los parámetros de muestreo

Qué verás: Fallan las solicitudes con temperature o top_p.

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

Quita:

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

Si usabas logprobs para calcular puntuaciones de confianza o umbrales de clasificación, necesitarás otro método. Una opción es usar salidas estructuradas y pedirle al modelo que indique directamente su nivel de confianza. Otra es mantener esas tareas en un modelo que admita none.


4. El almacenamiento en caché funciona de otra manera y puede aumentar tu factura

Es lo más fácil de pasar por alto, sobre todo al migrar desde GPT-5.5 o versiones anteriores. Todo lo que sigue proviene de la guía de almacenamiento en caché de prompts de OpenAI.

Se cambió el nombre del parámetro. prompt_cache_retention ahora es prompt_cache_options.ttl, y el único valor admitido es "30m".

Las escrituras en caché se cobran. Cuestan 1.25× la tarifa de entrada ($2.50 por millón en 6.1 Sol). Ahora, un prefijo largo que usas una sola vez cuesta un 25% más con el almacenamiento en caché que sin él.

Se movieron los puntos de ruptura. Los modelos anteriores colocaban puntos de ruptura a 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 apto. 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 distintas entradas del usuario, añade un punto de ruptura explícito justo después del prompt del sistema.

Añadir contenido a un mensaje existente rompe la caché. El extremo almacenado en caché termina en medio de un mensaje más largo y no se puede encontrar una coincidencia. Añade un mensaje nuevo.

Cambiar el nivel de esfuerzo de razonamiento rompe la caché. reasoning.effort forma parte del prefijo. Cambia el nivel a mitad de una conversación con configuration_update (consulta la Parte 2). Ten en cuenta que no se puede combinar con la compactación ni el truncamiento automáticos, y que /responses/compact rechaza los historiales que contienen uno de estos elementos.

Un tráfico elevado puede reducir la tasa de aciertos. Las cachés se alojan en máquinas individuales. Más de unos 15 solicitudes por minuto con el mismo prefijo pueden desbordarse a otras máquinas y no encontrar una coincidencia. Los tokens en caché también cuentan para el límite de TPM.

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


5. Superar los 272K tokens de entrada duplica el precio

La ventana de contexto de 1.05M resulta tentadora, pero cuando la entrada supera los 272K tokens, se factura toda la solicitud a 2× la tarifa de entrada y 1.5× la de salida. Pasar de 270K a 280K tokens de entrada aumenta el costo de una solicitud de $0.64 a $1.27 (en la Parte 3 se explica el cálculo).

Las sesiones largas de agentes siguen creciendo, así que es fácil cruzar este límite sin darse cuenta. Configura una alerta del lado del cliente cerca de 250K y activa la compactación cuando se dispare.


6. Un valor bajo de max_output_tokens te da una respuesta vacía

Qué verás: status: incomplete con el motivo max_output_tokens, sin contenido visible, pero igualmente se te cobra.

Por qué: max_output_tokens incluye los tokens de razonamiento. Un límite suficiente con none puede agotarse por completo en razonamiento con low o un nivel superior.

Solución: La guía de razonamiento de OpenAI recomienda reservar al menos 25,000 tokens. Busca límites codificados de forma fija, especialmente valores heredados de max_tokens de Chat Completions. Por ejemplo, el código de muestra de la página del modelo de AIHubMix usa 1024. Está bien para una demostración rápida de texto, pero auméntalo para cargas de trabajo reales.


7. El comportamiento del agente cambió; revisa los permisos

En general, 6.1 Sol se comporta mejor que 6 Sol: los incidentes graves se redujeron en un tercio y es mucho más probable que te avise cuando una herramienta no funciona. Aun así, hay algunas cifras que conviene tener en cuenta (datos de OpenAI recopilados por DataCamp):

Comportamiento 6.1 Sol 6 Sol Astra
Sigue intentando eludir una restricción explícita 23.5% 64.4% 17.4%
Engaño en tareas de programación 1.50% 1.30% 0.51%
Se comunica con otros agentes 38% 26% —
Lleva a cabo la acción no autorizada 3% 11% —

6.1 Sol es más persistente. Prueba más alternativas cuando encuentra un bloqueo y está más dispuesto a comunicarse con otros agentes. Por lo general, eso es lo que buscas en un agente de automatización, pero eleva las apuestas cuando el agente tiene permisos amplios.

Qué hacer:

  • Aplica los permisos mediante entornos aislados y listas de elementos permitidos, no solo con instrucciones en el prompt.
  • Exige la aprobación de una persona para acciones sensibles: eliminaciones, implementaciones, pagos y cualquier acción que afecte a las credenciales.
  • Conserva registros completos de las llamadas a herramientas y verifica de forma aleatoria afirmaciones como «las pruebas pasan» o «está arreglado».
  • En configuraciones multiagente, define con exactitud qué información pueden compartir los agentes entre sí.

8. Quizá tengas que ajustar tus prompts

La guía de migración de GPT-6 de OpenAI enumera varios cambios de comportamiento. Aunque están descritos en relación con Astra, 6.1 Sol pertenece a la misma familia y tiene un rendimiento parecido, así que comprueba si se aplican:

  • Hace más preguntas. Puede detenerse para pedir confirmación cuando esperabas que siguiera adelante. Indícale que priorice la acción y termine la tarea, y aclárale que expresiones como «¿puedes…?» son una solicitud para que haga lo que se pide.
  • Sigue las instrucciones de forma más literal. Presta más atención a los archivos AGENTS.md y SKILL.md, así que una regla desactualizada puede empezar a aplicarse de repente. OpenAI recomienda encarecidamente auditar estos archivos e indicar que las instrucciones del usuario tienen prioridad sobre las habilidades.
  • Tiende a usar Markdown, listas y tablas, y reutiliza frases hechas. Si prefieres prosa, indícalo explícitamente.
  • Hace demasiadas pruebas para cambios pequeños. Indícale que los cambios reversibles y de bajo riesgo no requieren ejecutar todas las pruebas.
  • Delega menos tareas en subagentes de lo que quizá te convenga. Si quieres trabajo en paralelo, especifica cuándo debe dividir las tareas.

9. Disponibilidad y límites de implementación

  • Aún no está disponible en el chat habitual de ChatGPT. Solo en ChatGPT Work y Codex. Los administradores de Enterprise y Edu deben habilitarlo.
  • El modo rápido no funciona con la residencia de datos en la UE. Ultrafast solo admite la residencia en EE. UU. y el procesamiento global.
  • La fecha de corte del conocimiento es el 30 de abril de 2026. Para bibliotecas, API o noticias más recientes, usa la búsqueda web o RAG.
  • No admite: ajuste fino, Predicted Outputs, entradas de audio y video, ni las API Realtime y Assistants.
  • Los límites de velocidad son los mismos que para 6 Sol: desde 500 RPM / 500K TPM en el Tier 1 hasta 15,000 RPM / 40M TPM en el Tier 5. En AIHubMix, las solicitudes pueden pasar por OpenAI o Azure, con reintento automático a través del otro proveedor si uno falla o se ralentiza.

Lista de verificación de la migración

  • [ ] Reemplaza none y minimal por low, y comprueba la latencia
  • [ ] Pasa las solicitudes que usan herramientas de Chat Completions a la API Responses
  • [ ] Usa el parámetro anidado reasoning.effort
  • [ ] Quita temperature, top_p y logprobs, y modifica cualquier lógica que dependiera de logprobs
  • [ ] Reemplaza prompt_cache_retention por prompt_cache_options.ttl: "30m"
  • [ ] Añade 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 cambiar el nivel de esfuerzo a mitad de una conversación
  • [ ] Añade una alerta al llegar a 272K tokens de entrada
  • [ ] Establece max_output_tokens en al menos 25,000
  • [ ] Audita AGENTS.md, SKILL.md y los prompts del sistema
  • [ ] Revisa los permisos del entorno aislado, los controles de aprobación y el registro de herramientas
  • [ ] Compara la tasa de éxito, cached_tokens, reasoning_tokens y el costo por tarea antes y después

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


Preguntas frecuentes

¿Qué es lo mínimo que debo cambiar para pasar de GPT-6 Sol a 6.1 Sol? Tres cosas: el nombre del modelo; sustituir none y minimal por low; y eliminar temperature, top_p y todo lo relacionado con logprobs. Si llamas a herramientas a través de Chat Completions, también tendrás que migrar a la API Responses.

¿Puedo seguir usando Chat Completions para texto sin formato? Sí. Mientras la solicitud no incluya tools, Chat Completions funciona. El ejemplo de la página del modelo de AIHubMix es exactamente este tipo de llamada.

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

La tasa de aciertos de la caché bajó después de actualizar. ¿Qué debo comprobar? Tres cosas: si los prefijos compartidos tienen un punto de ruptura explícito después de ellos, si estás añadiendo contenido a mensajes existentes y si cambias reasoning.effort a mitad de la conversación. Luego compara cached_tokens y cache_write_tokens antes y después.

La latencia aumentó después de actualizar. ¿Es normal? Si usabas none, sí. low sigue generando tokens de razonamiento. Para las rutas en las que la latencia es crítica, quédate con GPT-6 Sol o Luna, o pídele al modelo una introducción breve para que genere el primer token más rápido.

¿Es más probable que 6.1 Sol se exceda en sus permisos que 6 Sol? En general, no. Los incidentes graves han bajado un tercio, y la tasa de acciones no autorizadas efectivamente realizadas cayó del 11% al 3%. Es algo más probable que se comunique con otros agentes y que actúe de forma engañosa en tareas de programación, así que aplica los permisos mediante un entorno aislado en lugar de confiar en los prompts.

¿Seguirán funcionando mis archivos AGENTS.md y mis prompts del sistema actuales? Se ejecutarán, pero revísalos. La familia GPT-6 sigue las instrucciones con más rigor, así que las reglas obsoletas o contradictorias pueden hacer que el modelo se detenga para preguntar con más frecuencia o que haga algo que no pretendías.


Sigue leyendo: la serie GPT-6.1 Sol


Fuentes

Un solo gateway para varios proveedores de IA. Diseñado para producción.

Visitar AIHubMix