Saltar al contenido principal
Utiliza auto_routing cuando quieras que el gateway elija entre variantes cuantizadas, MoE y densas según la complejidad de la solicitud. Cuando las variantes hermanas aún no están registradas, usa auto_routing_debug para verificar la decisión de enrutamiento en sí. La metadata de la respuesta incluirá:
  • routed_model
  • auto_routing_debug
auto_routing_debug es una cadena JSON compacta con el modelo solicitado, el nivel seleccionado, el esfuerzo de razonamiento, la puntuación y los motivos.

Ejecutar la validación

La verificación en producción del 31 de marzo de 2026 utilizó el endpoint de Responses directamente con un modelo fijo y una bandera de depuración opcional.
bash
curl https://apigw.mka1.com/api/v1/llm/responses \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <mka1-api-key>' \
  --data '{
    "model": "gpt-5",
    "input": "Summarize this in one sentence: The quick brown fox jumps over the lazy dog.",
    "auto_routing": true,
    "auto_routing_debug": true,
    "max_output_tokens": 64
  }'
Si el despliegue está en vivo, la metadata de la respuesta incluye un payload como este:
{
  "metadata": {
    "routed_model": "meetkai:functionary-pt",
    "auto_routing_debug": "{\"requested_model\":\"meetkai:functionary-pt\",\"routed_model\":\"meetkai:functionary-pt\",\"desired_tier\":\"quantized\",\"reasoning_effort\":\"minimal\",\"score\":-3,\"reasons\":[\"short prompt\",\"simple transform task\"]}"
  }
}
El routed_model aún puede ser igual al modelo solicitado si no existe todavía una familia hermana compatible en producción. Eso no significa que la heurística haya fallado. La prueba está en los campos desired_tier, reasoning_effort, score y reasons dentro de auto_routing_debug.

Método de prueba

La comprobación en producción utilizó seis solicitudes Responses contra https://apigw.mka1.com/api/v1/llm/responses. Cada solicitud estableció:
  • model: "gpt-5"
  • auto_routing: true
  • auto_routing_debug: true
La matriz cubría:
  1. Prompt de transformación corto en inglés
  2. Prompt de salida estructurada de longitud media
  3. Prompt largo de análisis de incidentes
  4. Prompt forzado de uso de herramienta
  5. Prompt de transformación corto en portugués
  6. Prompt largo de análisis de incidentes en portugués
Para cada respuesta, la validación registró:
  • Estado HTTP
  • metadata.routed_model
  • metadata.auto_routing_debug analizado
  • reasoning.effort efectivo

Resultados en producción en vivo

Estos fueron los resultados observados en producción el 31 de marzo de 2026 después del despliegue del PR 321:
Caso de pruebaNivel esperadoNivel observadoEsfuerzo de razonamientoPuntuaciónMotivos clave
simple_summaryquantizedquantizedminimal-3short prompt, simple transform task
structured_analysis_jsonmoemoelow2structured output requested, short prompt, complex reasoning markers in prompt
complex_incident_plandensedensehigh6large max_output_tokens, long prompt, complex reasoning markers in prompt
forced_code_interpreterdensedensehigh5high-agency tools enabled, tool use required
portuguese_simple_transformquantizedquantizedminimal-3short prompt, simple transform task
portuguese_complex_incidentdensedensehigh5large max_output_tokens, complex reasoning markers in prompt
Las seis solicitudes devolvieron 200 OK. Las seis respuestas incluyeron auto_routing_debug. El nivel observado coincidió con el nivel esperado en todos los casos.

Fragmentos de respuesta en crudo

Los siguientes ejemplos están adaptados del registro de producción en vivo.

Prompt de transformación corto

Solicitud:
{
  "model": "gpt-5",
  "input": "Summarize this in one sentence: The quick brown fox jumps over the lazy dog.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 64
}
Fragmento de respuesta observado:
{
  "name": "simple_summary",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "minimal",
    "summary": null
  },
  "debug": {
    "desired_tier": "quantized",
    "reasoning_effort": "minimal",
    "score": -3,
    "reasons": [
      "short prompt",
      "simple transform task"
    ]
  },
  "error": null
}

Prompt de salida estructurada

Solicitud:
{
  "model": "gpt-5",
  "input": "Analyze three customer complaints, identify the top themes, and return a compact JSON object with themes and recommended actions.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 256,
  "text": {
    "format": {
      "type": "json_object"
    }
  }
}
Fragmento de respuesta observado:
{
  "name": "structured_analysis_json",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "low",
    "summary": null
  },
  "debug": {
    "desired_tier": "moe",
    "reasoning_effort": "low",
    "score": 2,
    "reasons": [
      "structured output requested",
      "short prompt",
      "complex reasoning markers in prompt"
    ]
  },
  "error": null
}

Prompt largo de análisis de incidentes

Solicitud:
{
  "model": "gpt-5",
  "input": "You are reviewing a TypeScript production incident in a request router. Investigate the root cause, identify failure modes, compare remediation trade-offs, and produce a step-by-step refactor and rollout plan. Consider error handling, retries, observability, regression risk, and operational safeguards. Explain the likely root cause, list the most important contributing factors, compare at least two possible fixes, and recommend one with justification. Also call out any assumptions, open questions, and follow-up verification steps. Keep the reasoning structured and explicit so an engineer can execute the plan safely. You are reviewing a TypeScript production incident in a request router. Investigate the root cause, identify failure modes, compare remediation trade-offs, and produce a step-by-step refactor and rollout plan. Consider error handling, retries, observability, regression risk, and operational safeguards. Explain the likely root cause, list the most important contributing factors, compare at least two possible fixes, and recommend one with justification. Also call out any assumptions, open questions, and follow-up verification steps. Keep the reasoning structured and explicit so an engineer can execute the plan safely. You are reviewing a TypeScript production incident in a request router. Investigate the root cause, identify failure modes, compare remediation trade-offs, and produce a step-by-step refactor and rollout plan. Consider error handling, retries, observability, regression risk, and operational safeguards. Explain the likely root cause, list the most important contributing factors, compare at least two possible fixes, and recommend one with justification. Also call out any assumptions, open questions, and follow-up verification steps. Keep the reasoning structured and explicit so an engineer can execute the plan safely.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 4000
}
Fragmento de respuesta observado:
{
  "name": "complex_incident_plan",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "high",
    "summary": null
  },
  "debug": {
    "desired_tier": "dense",
    "reasoning_effort": "high",
    "score": 6,
    "reasons": [
      "large max_output_tokens",
      "long prompt",
      "complex reasoning markers in prompt"
    ]
  },
  "error": null
}

Prompt forzado de uso de herramienta

Solicitud:
{
  "model": "gpt-5",
  "input": "Use the code interpreter to inspect this issue and report what it finds.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 256,
  "tools": [
    {
      "type": "code_interpreter",
      "container": {
        "type": "auto"
      }
    }
  ],
  "tool_choice": {
    "type": "code_interpreter"
  }
}
Fragmento de respuesta observado:
{
  "name": "forced_code_interpreter",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "high",
    "summary": null
  },
  "debug": {
    "desired_tier": "dense",
    "reasoning_effort": "high",
    "score": 5,
    "reasons": [
      "high-agency tools enabled",
      "tool use required"
    ]
  },
  "error": null
}

Prompt de transformación en portugués

Solicitud:
{
  "model": "gpt-5",
  "input": "Traduza e resuma este texto em português em uma frase curta.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 64
}
Fragmento de respuesta observado:
{
  "name": "portuguese_simple_transform",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "minimal",
    "summary": null
  },
  "debug": {
    "desired_tier": "quantized",
    "reasoning_effort": "minimal",
    "score": -3,
    "reasons": [
      "short prompt",
      "simple transform task"
    ]
  },
  "error": null
}

Prompt de análisis de incidentes en portugués

Solicitud:
{
  "model": "gpt-5",
  "input": "Investigue a causa raiz deste incidente em um serviço TypeScript, analise os trade-offs entre correções possíveis e produza um plano passo a passo para corrigir, refatorar e implantar com segurança. Considere tratamento de erros, observabilidade, risco de regressão e validação operacional. Explique a provável causa raiz, liste os fatores contribuintes mais importantes, compare pelo menos duas alternativas de correção e recomende uma com justificativa. Também destaque premissas, dúvidas em aberto e etapas de verificação posteriores. Investigue a causa raiz deste incidente em um serviço TypeScript, analise os trade-offs entre correções possíveis e produza um plano passo a passo para corrigir, refatorar e implantar com segurança. Considere tratamento de erros, observabilidade, risco de regressão e validação operacional. Explique a provável causa raiz, liste os fatores contribuintes mais importantes, compare pelo menos duas alternativas de correção e recomende uma com justificativa. Também destaque premissas, dúvidas em aberto e etapas de verificação posteriores. Investigue a causa raiz deste incidente em um serviço TypeScript, analise os trade-offs entre correções possíveis e produza um plano passo a passo para corrigir, refatorar e implantar com segurança. Considere tratamento de erros, observabilidade, risco de regressão e validação operacional. Explique a provável causa raiz, liste os fatores contribuintes mais importantes, compare pelo menos duas alternativas de correção e recomende uma com justificativa. Também destaque premissas, dúvidas em aberto e etapas de verificação posteriores.",
  "auto_routing": true,
  "auto_routing_debug": true,
  "max_output_tokens": 4000
}
Fragmento de respuesta observado:
{
  "name": "portuguese_complex_incident",
  "httpStatus": 200,
  "ok": true,
  "reasoning": {
    "effort": "high",
    "summary": null
  },
  "debug": {
    "desired_tier": "dense",
    "reasoning_effort": "high",
    "score": 5,
    "reasons": [
      "large max_output_tokens",
      "complex reasoning markers in prompt"
    ]
  },
  "error": null
}

Interpretar el resultado

Utiliza esta lista de verificación al validar un despliegue:
  1. Confirma que la respuesta incluya metadata.auto_routing_debug.
  2. Analiza la cadena JSON e inspecciona desired_tier.
  3. Verifica que reasoning_effort coincida con el nivel de complejidad esperado.
  4. Verifica que los reasons coincidan con las características del prompt que pretendías activar.
  5. Si existen variantes hermanas, también confirma que routed_model cambie al hermano esperado.
Si falta auto_routing_debug, probablemente la imagen API desplegada aún no incluye la funcionalidad.

Notas

  • auto_routing_debug está destinado a validación y comprobaciones de despliegue. Es opcional y no debe habilitarse por defecto para tráfico normal de producción.
  • auto_routing_debug está disponible actualmente en la API de Responses.
  • Las heurísticas para prompts en portugués están incluidas en la lógica de enrutamiento de producción actual, por lo que los prompts cortos de transformación y los prompts complejos de análisis de incidentes pueden validarse tanto en inglés como en portugués.