NVIDIA lanza Polar, un marco de implementación fiel a tokens para la capacitación de GRPO en Codex, Claude Code y Qwen Code

El aprendizaje por refuerzo para los agentes lingüísticos es cada vez más complejo. Los agentes ahora administran el uso de herramientas en múltiples turnos, contextos de larga duración y orquestación de múltiples agentes. El principal desafío de ingeniería es conectar el software de agente existente con los canales de capacitación sin alterar el funcionamiento de esas herramientas.

El equipo de investigación de NVIDIA presentó Polar, un marco de implementación que permite a los investigadores ejecutar el aprendizaje por refuerzo sobre cualquier arnés de agente sin modificar ese arnés.

El problema central que resuelve Polar

Un 'arnés de agente' es una herramienta como Codex CLI, Claude Code, Qwen Code o Pi. Estos arneses gestionan las indicaciones del sistema, el formateo de herramientas, la ingeniería de contexto y cómo el agente envía parches. Estos detalles afectan directamente el comportamiento del agente en el momento de la evaluación.

La infraestructura RL tradicional requiere que la lógica del aprovechamiento se reescriba detrás de una API de entorno propiedad del marco, generalmente env.init(), env.step(), env.reset() en el estilo OpenAI Gym. Cada nuevo arnés requiere un nuevo código de integración. Esa integración también puede perder detalles de ejecución específicos de la ruta del arnés nativo.

La observación clave de Polar es que cada agente basado en LLM debe llamar a un modelo. Ese límite de API modelo es una interfaz común fuera del propio agente. En lugar de integrarse dentro del arnés, Polar coloca un proxy en ese límite.

Cómo funciona el proxy

Para cada solicitud de modelo entrante, el proxy de puerta de enlace realiza cuatro pasos:

Detecta la API del proveedor: utilizando la ruta de solicitud y los encabezados, distingue mensajes antrópicos, finalizaciones de chat OpenAI, respuestas OpenAI y llamadas de estilo Google generateContent. Normalice la solicitud: convierte roles, partes de contenido, definiciones de herramientas y parámetros de generación en la forma de finalización de chat de OpenAI utilizada por el servidor de inferencia local. Capture datos a nivel de token: almacena mensajes de solicitud, mensajes de respuesta, ID de tokens de solicitud, ID de tokens de respuesta de muestra, motivo de finalización y probabilidades de registro. Devolver la forma del proveedor: transforma la respuesta nuevamente al esquema que espera el arnés.

Para las solicitudes de transmisión, Polar obtiene una respuesta ascendente sin transmisión y emite una transmisión sintética en forma de proveedor. Esto preserva la compatibilidad con arneses que esperan eventos enviados por el servidor y, al mismo tiempo, garantiza la captura completa de tokens.

El único cambio necesario en un arnés existente es señalar la URL base del modelo a la puerta de enlace.

https://arxiv.org/pdf/2605.24220

Arquitectura: servidor de implementación y nodos de puerta de enlace

Polar tiene dos componentes principales:

El servidor de implementación acepta una TaskRequest y la expande en num_samples sesiones independientes. Cada sesión lleva un ID de sesión, un ID de tarea, un presupuesto de tiempo de espera, una especificación de tiempo de ejecución, una especificación de agente, un generador de trayectoria, un evaluador y una URL de devolución de llamada. El servidor envía sesiones a los nodos de puerta de enlace y acepta devoluciones de llamada cuando se completan las sesiones.

Los nodos de puerta de enlace son propietarios del ciclo de vida de cada sesión: iniciar el tiempo de ejecución, ejecutar el arnés, crear trayectorias, evaluar el resultado y desmantelar. La puerta de enlace también aloja el extremo proxy para las llamadas al modelo de esa sesión, manteniendo la captura completa vinculada al registro de la sesión.

Dentro de cada puerta de enlace, grupos de trabajadores aislados manejan las etapas INIT, RUNNING y POSTRUN. Un búfer READY limitado contiene tiempos de ejecución inicializados hasta que haya una ranura de ejecución disponible. La preparación del tiempo de ejecución con uso intensivo de CPU y el precalentamiento del evaluador se salen de la ruta crítica, sin bloquear la ejecución activa del agente vinculado a la GPU. Si el tiempo de espera de un arnés se agota después de que se hayan capturado las llamadas al modelo, la puerta de enlace aún ingresa a POSTRUN para que se puedan recuperar los seguimientos parciales.

Los evaluadores integrados incluyen una recompensa por completar la sesión, un evaluador de prueba de rendimiento configurable y un evaluador de arnés SWE-Bench/SWE-Gym. Se pueden agregar evaluadores personalizados a través de una interfaz de registro.

Actualmente, Polar admite los tiempos de ejecución de Docker y Apptainer sin raíz. Los atajos de arnés integrados incluyen codex, claude_code, gemini_cli, qwen_code, opencode y pi.

Reconstrucción de trayectoria: por solicitud frente a fusión de prefijos

Una vez completada una sesión, Polar reconstruye trayectorias entrenables a partir de llamadas de modelos capturadas.

Hay dos estrategias disponibles:

El constructor per_request trata cada llamada al modelo como un seguimiento independiente. No tiene pérdidas por llamada individual, pero fragmenta sesiones de varios turnos. Un único problema de codificación puede producir cientos de seguimientos por solicitud, lo que aumenta la carga para los formadores posteriores.

El constructor prefix_merging reconstruye seguimientos más largos donde la sesión de aprovechamiento conserva historiales de conversaciones de solo anexar. Divide las terminaciones en cadenas ordenadas verificando una relación estricta de prefijo de token entre terminaciones adyacentes. Los subagentes, los límites de compactación del contexto y las ramas de agentes paralelas forman naturalmente cadenas separadas. Dentro de cada rastro combinado, solo los tokens de asistente de muestra están marcados como entrenables. Los tokens intersticiales canónicos reciben una máscara de pérdida de cero.

Resultados de la ablación

El equipo de investigación compara ambas estrategias en el mismo modelo, hardware y topología en tres pasos de capacitación.

Metricper_requestprefix_mergingActualizaciones del entrenador1,185218Tiempo de reloj de pared189,5 min35,2 minAceleración: 5,39 × promedio. Utilización de GPU en implementación 20,4 % 87,7 %

Resultados verificados de SWE-Bench

La capacitación utiliza GRPO estándar en el modelo base Qwen3.5-4B. El conjunto de datos es SkyRL-v0-293-data SWE-Gym (293 tareas, 1 época, tamaño de lote de implementación 4, 16 muestras por mensaje) con el entrenador Slime. Todos los experimentos utilizan prefix_merging para la construcción de trayectorias.

Progreso de la recompensa del lanzamiento del entrenamiento (pass@1)

ArnésPrimeros 10 pasosÚltimos 10 pasosCódice9.5%54.5%Código Claude28.8%67.0%Código Qwen61.6%66.0%Pi61.6%76.2%

Puntajes finales verificados por SWE-Bench

HarnessBasePolar RLGainCodex3.8%26.4%+22.6 ptsCódigo Claude29.8%34.6%+4.8 ptsCódigo Qwen34.6%35.2%+0.6 ptsPi34.2%40.4%+6.2 pts

El mayor beneficio se produce en el marco del Codex. Codex presenta un protocolo de acción y un estilo de envío de parches desconocidos para un modelo Qwen que no estaba entrenado originalmente con ese arnés. Polar adjunta la señal de recompensa a los tokens muestreados reales que fluyen a través de la ruta de ejecución del Codex, por lo que GRPO optimiza el comportamiento que utiliza el modelo en el momento de la evaluación. Bajo el arnés nativo del Código Qwen, donde el modelo base ya está bien alineado, Polar aún ofrece una ganancia de 0,6 puntos.

Generación de datos SFT sin conexión

Polar también puede servir como un servicio distribuido de generación de datos fuera de línea sin cambios en el tiempo de ejecución. El equipo de investigación demuestra esto utilizando Qwen3.5-122B-A10B en un servidor 8×H100 (TP=8, max_model_len=32,768) con el arnés pi frente a 1,638 instancias de siete repositorios de SWE-Gym.

Se acepta una trayectoria en el corpus SFT solo si el arnés de evaluación de SWE-Bench confirma que el parche del agente resuelve cada prueba FAIL_TO_PASS y deja cada prueba PASS_TO_PASS en verde.

RepositoryAttemptsAcceptedRategetmoto/moto34318453.6%python/mypy25710139.3%conan-io/conan712738.0%pydanti c/pydantic812429.6%iterative/dvc2194520.5%pandas-dev/pandas4779819.7%dask/dask1412517.7%Total1,63850430.8%

La ejecución costó aproximadamente 64 horas de GPU. Las trayectorias aceptadas promedian 104 mensajes por sesión y 51 turnos de asistente.

Comparación de marcos

SystemAsync RLAsync Rollout StagingRollout como servicioHarness AgnosticPolar ✓ ✓ ✓ ✓ ProRL Agent ✓ ✓ ✓✗ SkyRL-Agent ✓ ✓✗partialPRIME-RL ✓✗✗✗Agent Lightningpartial✗partialpartialrLLMpartial✗✗✗OpenClaw-RL ✓✗✗partial

Polar es el único sistema en esta comparación con soporte de primera clase en las cuatro propiedades.

Fortalezas y limitaciones

Fortalezas

No se requieren cambios en el código de arnés: el proxy intercepta en el límite de la API del modelo. Independiente del proveedor: admite formatos Anthropic, OpenAI Chat, OpenAI Responses y Google API de forma nativa. prefix_merging reduce las actualizaciones del entrenador de 1185 a 218 y reduce el tiempo de reloj de pared 5,39 × Funciona para la generación de datos RL en línea y SFT fuera de línea con el mismo tiempo de ejecución. El RL nativo de arnés ofrece grandes ganancias para rutas de ejecución desconocidas. 22,6 puntos en el Codex. Los rastros parciales se recuperan cuando el tiempo de espera de un arnés se agota a mitad de la sesión. Publicado como código abierto bajo NeMo Gym.

Limitaciones

El diseño de recompensas, la calidad del evaluador y el cambio de distribución siguen siendo responsabilidad del investigador. Requiere que el arnés admita una URL base de modelo configurable. La captura a nivel de token depende de que la pila de servicio proporcione ID de token confiables y probabilidades de registro por estrategia de solicitud producida por piratería de recompensas en experimentos debido a una asignación de crédito ruidosa a nivel de sesión; la normalización de sesiones y la asignación de créditos estilo PRM están en la hoja de ruta

Explicador visual de Marktechpost

Polar de investigación de NVIDIA : marco de trabajo RL agente

arXiv:2605.24220

Gimnasio NeMo – mayo de 2026

Polar: Agentic RL
en cualquier arnés

El marco de implementación de NVIDIA capacita a los agentes LLM a través de RL sin modificar sus arneses. Un proxy API modelo captura interacciones a nivel de token y reconstruye trayectorias listas para el entrenador.

GRPO Entrenamiento Token-Trayectorias fieles SWE-Bench Verified Apache-2.0 NeMo Gym

01 — El problema

Por qué es difícil la integración de RL con arneses de agentes

Arneses como Codex CLI, Claude Code, Qwen Code y Pi gestionan los avisos del sistema, el formateo de herramientas y el envío de parches. La RL tradicional requiere reescribir esta lógica detrás de una API de entorno propiedad del marco.

1

Cada nuevo arnés requiere un nuevo código de integración

Sistemas como SkyRL-Agent y PRIME-RL requieren que los agentes se ajusten a la infraestructura de RL, y no al revés.

2

La integración pierde detalles de ejecución nativa

Reescribir un arnés detrás de una API env puede eliminar políticas de contexto, esquemas de herramientas y lógica de orquestación que son importantes en el momento de la evaluación.

3

La visión clave de Polar

Cada agente basado en LLM debe llamar a un modelo. Polar coloca un proxy en ese límite de API en lugar de integrarlo dentro del arnés.

02 — El apoderado

Cómo Polar captura las llamadas de LLM (4 pasos)

El único cambio en un arnés existente es señalar la URL base del modelo a la puerta de enlace.

1

Detectar la API del proveedor

Distingue los mensajes antrópicos, las finalizaciones de chat de OpenAI, las respuestas de OpenAI y el contenido generado por Google de la ruta y los encabezados de la solicitud.

2

Normalizar la solicitud

Convierte roles, partes de contenido, definiciones de herramientas y parámetros de generación en la forma Finalizaciones de chat de OpenAI para el servidor de inferencia local.

3

Capture datos a nivel de token

Almacena mensajes de solicitud, mensajes de respuesta, ID de token de solicitud, ID de token de respuesta de muestra, motivo de finalización y probabilidades de registro.

4

Devolver la forma del proveedor

Transforma la respuesta nuevamente al esquema que espera el arnés. Las solicitudes de transmisión reciben una transmisión sintética en forma de proveedor.

03 — Arquitectura

Implementación de nodos de puerta de enlace y servidor

Servidor de implementación

Acepta una TaskRequest y se expande a num_samples sesiones. Cada sesión lleva un ID de sesión, un ID de tarea, un tiempo de espera, una especificación de tiempo de ejecución, una especificación de agente, un generador de trayectoria, un evaluador y una URL de devolución de llamada. Envíos a pasarelas y seguimiento de estado.

Nodos de puerta de enlace

Sea dueño del ciclo de vida completo de la sesión: inicie el tiempo de ejecución, ejecute el aprovechamiento, cree trayectorias, evalúe y desmonte. Los grupos de trabajadores INIT / READY / RUNNING / POSTRUN se ejecutan de forma aislada. Tiempo de espera con gracia; Se recuperan rastros parciales.

Tiempos de ejecución: Docker y Apptainer sin raíz

Arneses incorporados:

códice claude_code gemini_cli qwen_code código abierto pi

Evaluadores incorporados:

prueba de recompensa por finalización de sesión en el rendimiento Arnés SWE-Bench / SWE-Gym

04 — Reconstrucción de Trayectoria

per_request frente a prefix_merging

por solicitud

Cada llamada de modelo se convierte en un rastro. Sin pérdidas por llamada pero fragmenta sesiones de varios turnos. Un problema de codificación puede producir cientos de rastros. Produce piratería de recompensas a nivel de sesión debido a una asignación de créditos ruidosa.

fusión_prefijo

Reconstruye rastros más largos mediante una relación estricta de prefijo de token. Los subagentes, la compactación de contexto y las ramas paralelas forman cadenas separadas. Sólo los tokens de muestra se pueden entrenar; los intersticiales tienen una máscara de pérdida a cero.

Ablación: mismo modelo, hardware y topología, 3 pasos de capacitación

Metricper_requestprefix_merging Actualizaciones del entrenador1,185218 Tiempo de reloj de pared 189,5 min 35,2 min Aceleración: 5,39 × promedio. Utilidad de GPU de implementación 20,4 % 87,7 %
05 — Resultados verificados por SWE-Bench

GRPO en Qwen3.5-4B en cuatro arneses

SkyRL-v0-293-data – 293 tareas – 1 época – tamaño de lote 4 – 16 muestras/mensaje – Entrenador de limo – prefix_merging

HarnessBasePolar RLGain Codex3.8%26.4%+22.6 pts Código Claude29.8%34.6%+4.8 pts Código Qwen34.6%35.2%+0.6 pts Pi34.2%40.4%+6.2 pts

+22,6 puntos de ganancia en Codex
(3,8% → 26,4%)

Entrenamiento 5,39 veces más rápido con
fusión_prefijo

06 — Generación de datos SFT sin conexión

Generación de trayectorias SFT a escala

Qwen3.5-122B-A10B — 8×H100 (TP=8, max_model_len=32,768) — arnés pi — 1,638 instancias — ~64 horas de GPU — Apache-2.0

RepositoryAttemptsAcceptedRate getmoto/moto34318453.6% python/mypy25710139.3% conan-io/conan712738.0% pydantic/pydantic812429.6% iterative/dvc2194520.5% pandas-dev/pandas4779819.7% dask/dask1412517,7% Total1.63850430,8%

Promedio 104 mensajes/sesión – 51 turnos de asistente – 90/10 entrenamiento/prueba divididos por repositorio

07 – Conclusiones clave

Lo que los ingenieros deben saber

Polar capacita a los agentes de LLM a través de un proxy API modelo: no se requieren cambios en el código de arnés. Admite mensajes antrópicos, finalización de chat OpenAI, respuestas OpenAI y API de generación de contenido de Google de forma nativa. prefix_merging reduce las actualizaciones del entrenador de 1185 a 218 y el tiempo del reloj de pared 5,39 veces en comparación con per_request . GRPO en Qwen3.5-4B mejora SWE-Bench Verified hasta en 22,6 puntos (Codex) en los cuatro arneses. Funciona para la generación de datos RL en línea y SFT fuera de línea con el mismo tiempo de ejecución, sin necesidad de cambios de orquestación. El diseño de la recompensa, la calidad del evaluador y el cambio de distribución siguen siendo responsabilidad del investigador. Código: github.com/NVIDIA-NeMo/ProRL-Agent-Server: registrado como entorno NeMo Gym.

Conclusiones clave

Polar entrena a los agentes de LLM a través de un proxy API modelo: no se requieren cambios en el código de arnés. Admite mensajes antrópicos, finalización de chat OpenAI, respuestas OpenAI y API de Google generateContent. Utilizando GRPO en Qwen3.5-4B, Polar mejora SWE-Bench Verified en hasta 22,6 puntos en cuatro arneses de codificación, la reconstrucción de trayectoria prefix_merging ofrece una aceleración de reloj de pared de 5,39 × por solicitud generada 504 aceptó trayectorias SFT de 1.638 intentos (30,8%) a ~64 horas de GPU; lanzado bajo Apache-2.0 Rewrites ProRL Agent; registrado como entorno NeMo Gym

Consulte el repositorio de Paper y GitHub. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 150.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.

¿Necesita asociarse con nosotros para promocionar su repositorio de GitHub O su página principal de Hugging O su lanzamiento de producto O seminario web, etc.? Conéctate con nosotros