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 función-llamada a través de una API de completaciones de chat. Usa 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 quieras un modelo centrado en codificación dentro de un bucle de agente sin gestionar el alojamiento del modelo.

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

Usa Qwen3 Coder Next cuando tu aplicación necesite un modelo de lenguaje orientado a la codificación dentro de un flujo de trabajo de desarrollo de software controlado: 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 repositorio 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 completación de chat;
  • pedir al modelo una próxima acción acotada;
  • opcionalmente solicitar JSON estructurado para que tu agente decida si inspeccionar otro archivo, proponer un parche o detenerse;
  • ejecutar herramientas en tu propia capa de aplicación, no dentro de la llamada al modelo;
  • devolver la observación al siguiente turno de chat.

El catálogo de Novita AI describe a Qwen3 Coder Next como un LLM de texto a texto con disponibilidad serverless, soporte para función-llamada, soporte para salidas estructuradas y contexto largo. Esas son las piezas que importan para los agentes de codificación: el modelo puede producir instrucciones tipo llamada a herramienta y decisiones estructuradas, mientras que tu 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.

Evita 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 del Modelo, Endpoint, Precios y Límites

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

Campo Valor verificado
Nombre para mostrar Qwen3 Coder Next
ID del modelo qwen/qwen3-coder-next
Modalidad de entrada Texto
Modalidad de salida Texto
Familia de endpoints 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 de tokens
Precio de salida listado $1.50 por 1M de tokens
Funcionalidades listadas Función-llamada, salidas estructuradas, serverless
RPM listados en cuota T1 30 RPM

Los precios, límites de velocidad y disponibilidad pueden cambiar. Verifica la biblioteca de modelos de Novita AI y tu consola de cuota antes del lanzamiento en producción.

Paso 1: Obtener una Clave API de Novita AI

Crea o abre tu cuenta de Novita AI, luego genera una clave API desde la consola. Guárdala como una variable de entorno en lugar de codificarla directamente en tu aplicación.

export NOVITA_API_KEY="tu_clave_api_aqui"

Para desarrollo local, usa tu perfil de shell, cargador de .env o administrador de secretos. Para producción, inyecta la clave a través del sistema de secretos de tu plataforma de despliegue y mantenla fuera de registros, código del lado del cliente e historial del repositorio.

Paso 2: Enviar una Primera Solicitud de Codificación

Comienza 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 breve ejemplo de código 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 claramente 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 completación de chat con un array choices. Lee choices[0].message.content para la salida del modelo y usage para la contabilidad 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 claramente "
                    "y mantén las recomendaciones limitadas al 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 intencionalmente simple. Agrega streaming, herramientas o salidas estructuradas solo después de que la solicitud básica funcione en tu 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; tu aplicación decide si ejecutarla y luego retroalimenta el resultado.

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

Acción Lo que hace tu 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 des al modelo acceso sin restricciones al shell. Trata cada acción sugerida como una solicitud que tu 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 correo electrónico. "
            "Comienza eligiendo el siguiente paso de inspección seguro."
        ),
    },
]

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

Este ejemplo usa el modo JSON para mantener el analizador de la aplicación simple. En producción, valida que la respuesta contenga una action permitida y que campos como path y query coincidan con tus reglas de seguridad antes de ejecutar cualquier cosa.

Paso 4: Agregar Salida Estructurada para Decisiones del Agente

La API de completaciones de chat de Novita AI incluye response_format, con opciones como json_object y json_schema. Qwen3 Coder Next aparece con soporte de salidas estructuradas en la biblioteca de modelos, por lo que los objetos de decisión estructurados son una buena opción para la orquestación de agentes de codificación.

Usa salida estructurada para decisiones que tu 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, usa json_schema y mantén el esquema pequeño. La salida del modelo sigue siendo una entrada no confiable para tu programa, así que valídala 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 fallida.",
        },
    ],
    "response_format": {
        "type": "json_schema",
        "json_schema": schema,
    },
    "temperature": 0.1,
    "max_tokens": 800,
}

Usa función-llamada cuando tu 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 tu aplicación sigue ejecutando la función y devuelve observaciones en un turno posterior. Mantén las descripciones de las herramientas precisas y evita 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. Eso da espacio a los agentes de codificación para contexto de múltiples archivos, pero los prompts más grandes aumentan el costo y pueden diluir la atención del modelo.

Usa un paso de recuperación en lugar de volcar todo el repositorio en cada solicitud:

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

El costo se basa en los 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 detallados pueden costar más que un análisis conciso. Configura 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 del parche puede necesitar más.

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

Solución de Problemas

Problema Causa probable Solución
401 o error de autenticación Clave API faltante, caducada o mal formada Verifica el encabezado Authorization: Bearer $NOVITA_API_KEY y regenera la clave si es necesario.
Modelo no encontrado ID de modelo incorrecto Usa exactamente qwen/qwen3-coder-next.
La salida no es JSON válido Prompt o esquema demasiado flexible Usa response_format, baja temperature y valida el objeto analizado.
Contexto demasiado grande Demasiados archivos o registros largos en una solicitud Recupera fragmentos más pequeños y resume turnos anteriores.
El agente entra en bucle sin progreso Espacio de acciones demasiado amplio u observaciones repetidas Agrega un límite máximo de iteraciones y exige una nueva justificación para cada paso.
Acción de herramienta inesperada El modelo sugirió una acción que tu aplicación no debería ejecutar Impón listas blancas y puertas de aprobación fuera del modelo.
Errores de límite de velocidad Demasiadas llamadas paralelas o bucles de reintento ajustados Agrega retroceso exponencial y encola los pasos del agente.

Preguntas Frecuentes

¿Qwen3 Coder Next está 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?

Usa el endpoint de completaciones de chat 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 completaciones de chat.

¿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. Verifica los precios nuevamente 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 soporta función-llamada y salidas estructuradas?

Sí. La biblioteca de modelos de Novita AI lista a Qwen3 Coder Next con las funcionalidades function-calling y structured-outputs. Tu 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 tu propio tiempo de ejecución del agente.