API de Qwen3 Coder Next en Novita AI para Agentes de Codificación

API de Qwen3 Coder Next en Novita AI para Agentes de Codificación

Qwen3 Coder Next está disponible en Novita AI como un modelo de texto serverless para flujos de trabajo de agentes de codificación que necesitan comprensión de código de contexto largo, salidas estructuradas y coordinación de herramientas estilo function-calling a través de una API de chat completions. Use el ID de modelo verificado qwen/qwen3-coder-next con el endpoint compatible con OpenAI POST https://api.novita.ai/openai/v1/chat/completions cuando necesite un modelo centrado en codificación en un bucle de agente sin administrar el alojamiento del modelo.

Si desea primero una visión general del lanzamiento y posicionamiento del modelo, lea Qwen3-Coder-Next en Novita AI. Si su objetivo inmediato es conectar el mismo modelo a herramientas compatibles con Anthropic, use la guía complementaria para Qwen3-Coder-Next en Claude Code.

Cuándo usar Qwen3 Coder Next para Agentes de Codificación

Use Qwen3 Coder Next cuando su aplicación necesite un modelo de lenguaje orientado a codificación dentro de un flujo de trabajo controlado de desarrollo de software: explicación de código, planificación de parches, localización de errores, redacción de casos de prueba, revisión de refactorización o inspección de repositorios mediada por herramientas.

La distinción importante es que esta guía no es una visión general genérica del modelo. Se centra en un patrón de implementación de agente de codificación:

  • enviar contexto de repositorio o archivo a una solicitud de chat completion;
  • pedir al modelo una siguiente acción acotada;
  • opcionalmente solicitar JSON estructurado para que su agente pueda decidir si inspeccionar otro archivo, proponer un parche o detenerse;
  • ejecutar herramientas en su propia capa de aplicación, no dentro de la llamada al modelo;
  • enviar la observación de vuelta al siguiente turno del chat.

El catálogo de Novita AI describe a Qwen3 Coder Next como un LLM de texto a texto con disponibilidad serverless, soporte de function-calling, soporte de salidas estructuradas y contexto largo. Esas son las piezas que importan para los agentes de codificación: el modelo puede producir instrucciones tipo tool-call y decisiones estructuradas, mientras que su aplicación sigue siendo responsable del acceso al sistema de archivos, la ejecución de comandos, los cambios en el repositorio y las puertas de aprobación.

Evite tratar al modelo como si editara directamente un repositorio por sí mismo. Un agente de codificación necesita código circundante que prepare el contexto, valide las salidas, ejecute herramientas, aplique parches y registre los resultados. Qwen3 Coder Next proporciona el paso del modelo de lenguaje en ese bucle.

ID de modelo, endpoint, precios y límites

El ID de modelo verificado en Novita AI es qwen/qwen3-coder-next.

Campo Valor verificado
Nombre mostrado Qwen3 Coder Next
ID de modelo qwen/qwen3-coder-next
Modalidad de entrada Texto
Modalidad de salida Texto
Familia de endpoint chat/completions, anthropic
Endpoint compatible con OpenAI POST https://api.novita.ai/openai/v1/chat/completions
Tamaño de contexto 262,144 tokens
Máximo de tokens de salida 65,536 tokens
Precio de entrada listado $0.20 por 1M tokens
Precio de salida listado $1.50 por 1M tokens
Características listadas Function calling, salidas estructuradas, serverless
RPM listados en cuota T1 30 RPM

Los precios, límites de tasa y disponibilidad pueden cambiar. Consulte la biblioteca de modelos de Novita AI y su cuota en la consola antes del despliegue en producción.

Paso 1: Obtener una clave API de Novita AI

Cree o abra su cuenta de Novita AI, luego genere una clave API desde la consola. Almacénela como variable de entorno en lugar de codificarla directamente en su aplicación.

export NOVITA_API_KEY="su_clave_api_aqui"

Para desarrollo local, use su perfil de shell, cargador .env o gestor de secretos. Para producción, inyecte la clave a través del sistema de secretos de su plataforma de despliegue y manténgala fuera de los registros, el código del lado del cliente y el historial del repositorio.

Paso 2: Enviar una primera solicitud de codificación

Comience con la solicitud útil más pequeña: un mensaje de sistema que limite el rol del asistente, más un mensaje de usuario que contenga un fragmento de código corto y una tarea de codificación específica.

curl https://api.novita.ai/openai/v1/chat/completions \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-coder-next",
"messages": [
{
"role": "system",
"content": "Eres un asistente de codificación. Explica los riesgos con claridad y evita cambiar el comportamiento a menos que se te pida."
},
{
"role": "user",
"content": "Revisa esta función de JavaScript en busca de casos límite:\n\nfunction divide(a, b) {\n return a / b;\n}"
}
],
"temperature": 0.2,
"max_tokens": 600
}'

Una respuesta exitosa sin streaming devuelve un objeto de chat completion con un array choices. Lea choices[0].message.content para la salida del modelo y usage para el recuento de tokens.

import os
import requests

api_key = os.environ["NOVITA_API_KEY"]

response = requests.post(
    "https://api.novita.ai/openai/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "model": "qwen/qwen3-coder-next",
        "messages": [
            {
                "role": "system",
                "content": (
                    "Eres un asistente de codificación. Explica los riesgos con claridad "
                    "y mantén las recomendaciones dentro del código proporcionado."
                ),
            },
            {
                "role": "user",
                "content": (
                    "Revisa esta función de Python en busca de errores:\n\n"
                    "def normalize(items):\n"
                    "    return [x.strip().lower() for x in items]\n"
                ),
            },
        ],
        "temperature": 0.2,
        "max_tokens": 600,
    },
    timeout=60,
)

response.raise_for_status()
data = response.json()
print(data["choices"][0]["message"]["content"])

Este ejemplo es intencionadamente simple. Agregue streaming, herramientas o salida estructurada solo después de que la solicitud básica funcione en su entorno.

Paso 3: Usar Qwen3 Coder Next en un bucle de agente

Un agente de codificación es un bucle alrededor del modelo. El modelo propone la siguiente acción; su aplicación decide si ejecutarla y luego alimenta el resultado de vuelta.

Para un bucle de agente de codificación mínimo, mantenga el espacio de acciones pequeño:

Acción Qué hace su aplicación
inspect_file Lee una ruta de archivo permitida y devuelve el contenido relevante.
search_code Busca en el repositorio con una consulta acotada.
propose_patch Pide al modelo que produzca un plan de parche o diff para revisión.
finish Termina el bucle con un resumen y los riesgos restantes.

No dé al modelo acceso sin restricciones al shell. Trate cada acción sugerida como una solicitud que su aplicación valida. Una buena validación incluye listas blancas de rutas, tamaño máximo de archivo, listas blancas de comandos si se admiten comandos, límites de tiempo de espera y aprobación humana antes de aplicar cambios.

Un bucle simple puede verse así:

import json
import os
import requests

API_URL = "https://api.novita.ai/openai/v1/chat/completions"
MODEL = "qwen/qwen3-coder-next"

def call_model(messages):
    response = requests.post(
        API_URL,
        headers={
            "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}",
            "Content-Type": "application/json",
        },
        json={
            "model": MODEL,
            "messages": messages,
            "temperature": 0.1,
            "max_tokens": 1200,
            "response_format": {"type": "json_object"},
        },
        timeout=60,
    )
    response.raise_for_status()
    return response.json()["choices"][0]["message"]["content"]

messages = [
    {
        "role": "system",
        "content": (
            "Eres un planificador de agente de codificación. Devuelve solo JSON con las claves "
            "action, path, query, rationale y final_answer. Las acciones permitidas "
            "son inspect_file, search_code, propose_patch y finish."
        ),
    },
    {
        "role": "user",
        "content": (
            "Necesitamos encontrar por qué normalize_user falla cuando falta el email. "
            "Comienza eligiendo el siguiente paso seguro de inspección."
        ),
    },
]

raw = call_model(messages)
decision = json.loads(raw)
print(decision)

Este ejemplo usa el modo JSON para mantener simple el analizador de la aplicación. Para producción, valide que la respuesta contenga una action permitida y que campos como path y query cumplan sus reglas de seguridad antes de ejecutar cualquier cosa.

Paso 4: Agregar salida estructurada para decisiones del agente

La API de chat completions de Novita AI incluye response_format, con opciones json_object y json_schema. Qwen3 Coder Next aparece con soporte de salida estructurada en la biblioteca de modelos, por lo que los objetos de decisión estructurados son adecuados para la orquestación de agentes de codificación.

Use salida estructurada para decisiones que su software debe analizar de manera confiable:

  • clasificar si se necesita un cambio;
  • devolver un plan de parche con rutas de archivo y notas de riesgo;
  • decidir si se requiere más contexto;
  • producir una lista de verificación de pruebas;
  • emitir un resumen final que separe el comportamiento cambiado, la validación y los riesgos.

Para una validación más estricta, use json_schema y mantenga el esquema pequeño. La salida del modelo sigue siendo una entrada no confiable para su programa, así que valídela después de analizarla.

schema = {
    "name": "coding_agent_decision",
    "schema": {
        "type": "object",
        "properties": {
            "action": {
                "type": "string",
                "enum": ["inspect_file", "search_code", "propose_patch", "finish"],
            },
            "path": {"type": "string"},
            "query": {"type": "string"},
            "rationale": {"type": "string"},
            "risk": {"type": "string"},
        },
        "required": ["action", "rationale", "risk"],
        "additionalProperties": False,
    },
    "strict": True,
}

payload = {
    "model": "qwen/qwen3-coder-next",
    "messages": [
        {
            "role": "system",
            "content": "Devuelve la siguiente decisión del agente de codificación como JSON estructurado.",
        },
        {
            "role": "user",
            "content": "Encuentra el primer paso más seguro para depurar una prueba de inicio de sesión que falla.",
        },
    ],
    "response_format": {
        "type": "json_schema",
        "json_schema": schema,
    },
    "temperature": 0.1,
    "max_tokens": 800,
}

Use function calling cuando su aplicación ya tenga una capa de despacho de herramientas. La referencia de la API de Novita AI documenta un campo tools donde se pueden suministrar funciones. El modelo puede generar entradas JSON para esas funciones, pero su aplicación sigue ejecutando la función y devolviendo observaciones en un turno posterior. Mantenga las descripciones de las herramientas precisas y evite exponer operaciones destructivas a menos que requieran aprobación explícita.

Paso 5: Planificar contexto, salida y costo

Qwen3 Coder Next tiene un tamaño de contexto listado de 262,144 tokens y un tamaño máximo de salida listado de 65,536 tokens en Novita AI. Esto da a los agentes de codificación espacio para contexto de múltiples archivos, pero los prompts más grandes aumentan el costo y pueden diluir la atención del modelo.

Use un paso de recuperación en lugar de volcar un repositorio completo en cada solicitud:

  1. Comience con la solicitud del usuario, el mensaje de error relevante y un mapa del repositorio.
  2. Pida al modelo que elija archivos para inspeccionar.
  3. Agregue solo los fragmentos o archivos seleccionados.
  4. Solicite un plan de parche acotado antes de pedir un diff.
  5. Mantenga un resumen breve en ejecución en lugar de reproducir cada observación anterior.

El costo se basa en tokens de entrada y salida. Con los precios listados de $0.20 por 1M tokens de entrada y $1.50 por 1M tokens de salida, los diffs generados verbosos pueden costar más que un análisis conciso. Establezca max_tokens al valor más pequeño que se ajuste al paso. Por ejemplo, un paso de planificación puede necesitar cientos de tokens, mientras que una explicación final de parche puede necesitar más.

Los límites de tasa también importan en un bucle de agente. La biblioteca de modelos lista cuota T1 a 30 RPM para Qwen3 Coder Next, con niveles de RPM más altos mostrados en el catálogo. Diseñe su agente para reintentar respuestas 429 con backoff, evite bucles paralelos que inspeccionen repetidamente los mismos archivos y almacene en caché los resúmenes cuando sea apropiado.

Solución de problemas

Problema Causa probable Solución
401 o fallo de autenticación Clave API faltante, caducada o mal formada Verifique el encabezado Authorization: Bearer $NOVITA_API_KEY y regenere la clave si es necesario.
Modelo no encontrado ID de modelo incorrecto Use exactamente qwen/qwen3-coder-next.
La salida no es JSON válido El prompt o esquema es demasiado flexible Use response_format, reduzca temperature y valide el objeto analizado.
Contexto demasiado grande Demasiados archivos o registros largos en una solicitud Recupere fragmentos más pequeños y resuma turnos anteriores.
El agente se repite sin progreso El espacio de acciones es demasiado amplio o las observaciones se repiten Agregue un límite máximo de iteraciones y exija una nueva justificación para cada paso.
Acción de herramienta inesperada El modelo sugirió una acción que su aplicación no debería ejecutar Imponga listas blancas y puertas de aprobación fuera del modelo.
Errores de límite de tasa Demasiadas llamadas paralelas o bucles de reintento ajustados Agregue backoff exponencial y ponga en cola los pasos del agente.

Preguntas frecuentes

¿Está Qwen3 Coder Next disponible a través de la API de Novita AI?

Sí. La biblioteca de modelos de Novita AI lista a Qwen3 Coder Next como un LLM serverless con el ID de modelo qwen/qwen3-coder-next.

¿Qué endpoint debo usar para Qwen3 Coder Next?

Use el endpoint de chat completions compatible con OpenAI: POST https://api.novita.ai/openai/v1/chat/completions. El catálogo de modelos también lista una familia de endpoints anthropic, pero los ejemplos ejecutables de esta guía usan chat completions.

¿Cuánto cuesta Qwen3 Coder Next en Novita AI?

El catálogo verificado de Novita AI lista Qwen3 Coder Next a $0.20 por 1M tokens de entrada y $1.50 por 1M tokens de salida. Vuelva a verificar los precios en la biblioteca de modelos antes del lanzamiento, ya que los precios pueden cambiar.

¿Cuáles son los límites de contexto y salida?

El catálogo verificado de Novita AI lista un tamaño de contexto de 262,144 tokens y un máximo de tokens de salida de 65,536 para Qwen3 Coder Next.

¿Qwen3 Coder Next admite function calling y salidas estructuradas?

Sí. La biblioteca de modelos de Novita AI lista a Qwen3 Coder Next con las características function-calling y structured-outputs. Su aplicación aún necesita validar y ejecutar cualquier acción de herramienta.

¿Puede Qwen3 Coder Next editar mi repositorio directamente?

No. La API devuelve la salida del modelo. La lectura del repositorio, la ejecución de comandos, la aplicación de parches, las pruebas y las aprobaciones deben implementarse en su propio entorno de ejecución del agente.

Guías relacionadas de codificación con Qwen