Inicio → Ayuda

El prompt de sistema se comporta distinto según el modelo

Las APIs estilo OpenAI llevan la instrucción de sistema como primer mensaje del array messages. Las APIs estilo Anthropic la reciben como un parámetro system aparte, de nivel superior. Una capa de traducción que convierte una en otra tiene que moverla, y algunas lo hacen convirtiéndola en un turno de usuario.

Lo que ves

Por qué ocurre

Como ambas formas son JSON válido para la otra, los errores rara vez producen un fallo. La petición tiene éxito y la instrucción simplemente pesa menos, lo que parece que el modelo es peor y no un problema de conexión.

Los mensajes de sistema múltiples son otra divergencia. Algunas implementaciones los concatenan, otras se quedan solo con el primero y unas pocas rechazan la petición.

Los modelos de razonamiento añaden una tercera variante: algunos tratan las instrucciones del desarrollador por separado del texto de sistema visible, así que dónde pongas una instrucción cambia si sobrevive hasta el paso de razonamiento.

Cómo solucionarlo

  1. Un solo mensaje de sistema, el primeroUn mensaje de sistema al principio del array funciona en todas partes. Repartir las instrucciones en varios es donde las implementaciones divergen.
  2. Prueba la instrucción, no el código de respuestaCuando cambies de proveedor, pide al modelo que repita su instrucción. Un 200 no demuestra nada sobre si la instrucción llegó.
  3. No dependas solo del rol system para las reglas estrictasSi una restricción importa de verdad, repítela también en el turno del usuario. Cuesta unos pocos tokens y sobrevive a cualquier capa de traducción.
APICLAN expone ambas formas con la misma clave: /v1/chat/completions para la forma de OpenAI y /v1/messages para la de Anthropic. Usa el endpoint que corresponde a la familia del modelo y la instrucción de sistema no necesitará ninguna traducción.

Relacionado

Unexpected token '<' al llamar a una API compatible con OpenAI401 invalid API key: cuando la clave parece correcta pero sigue fallando

Revisado por última vez el 2026-10-01. Escrito a partir de problemas diagnosticados en una pasarela compatible con OpenAI en producción, no recopilado de otras webs.