Agent-Reflex: la reflexión como skill entrenable — un Qwen3-8B pasa de 40,2 a 58,6 en tool-use long-horizon y aguanta ruido
TL;DR
- Verificado (arXiv 2610.17953, v1 del 13-oct-2026): Guanting Dong et al. —Renmin University of China (GSAI) y National University of Singapore— publican Agent-Reflex, un pipeline de tres etapas (RSD → ReSFT → ORPO) que trata la reflexión como una skill que se entrena, no como un prompt que se añade. Sobre Qwen3-8B: 40,2 → 58,6 de media en cinco benchmarks long-horizon de tool-use y 12,3 → 29,1 en AgentNoiseBench, siempre según los autores.
- Verificado: el dato se fabrica minando 1.170 meta-skills de pares éxito/fallo en 557 entornos MCP perturbados, convirtiéndolas en 54.663 trayectorias SFT verificadas —auto-reflexión, recuperación ante fallos y corrección del usuario— y reforzándolas con RL agéntico bajo ruido más destilación on-policy. Checkpoint (Agent-Reflex-8B), código (MIT) y los dos datasets, abiertos.
- Claim de los autores: la reflexión queda internalizada. En despliegue el agente va sin skills —“skills are used only in training; the deployed agent is skill-free”, README— y aun así el comportamiento traslada a perturbaciones no vistas; el propio paper dedica su §E.2 a explicar por qué AgentNoiseBench es out-of-distribution para su método.
- Verificado (la comparación incómoda de la Tabla 1): Reflexion-8B —la reflexión como prompt— se queda en 44,7; la misma tabla reporta 58,6 para la reflexión entrenada. Entre pedirle al modelo que reflexione y entrenarle a reflexionar hay 13,9 puntos.
- Matices que importan: los baselines se citan mayoritariamente de sus papers originales (Apéndice C), con reproducción local de los autores solo para los cuatro métodos sin checkpoint abierto —Agent-R-8B, NoisyAgent-8B, EnvACE-8B y Agent-World-8B, marcados con ∗ en la Tabla 1—; todo es auto-reportado a las ~36 horas del v1; y entrenar la receta completa requiere 16 GPUs de 80 GB. Detalles abajo.
El problema: entrenas en un entorno limpio y despliegas en uno que se cae
Cualquiera que haya puesto un agente con tools en producción conoce la escena que este paper industrializa: la tool MCP devuelve un timeout, el permiso no está concedido, el resultado llega malformado y, mientras tanto, el usuario interrumpe a mitad de tarea para corregir algo. Los agentes se entrenan en entornos que responden bien y se despliegan en entornos que no. La reflexión tipo prompt —el patrón Reflexion: falla, reflexionas en texto, reintentas— fue la primera respuesta, y la Tabla 1 de este paper le da una cifra: 44,7 frente al 58,6 de la reflexión entrenada. La brecha no la cierra el prompt; la cierra el gradiente.
Lo nuevo de Agent-Reflex es exactamente ese movimiento: convertir la reflexión en material de entrenamiento. Los autores minan pares éxito/fallo en 557 temas de entornos reales de alto uso —infraestructura que heredan de Agent-World, del mismo grupo— y extraen 1.170 meta-skills de reflexión. Esas skills alimentan la generación de datos SFT, que pasa tres verificadores (auto-reflexión, recuperación de skill y corrección centrada en el usuario), y después un RL agéntico ejecutado con ruido, no a pesar del ruido.
Cómo funciona: minar fallos, destilar reflexión, reforzar bajo ruido
RSD (§3.1), la minería. De 557 entornos MCP reales salen 1.170 meta-skills de reflexión, una librería offline bilingüe (inglés/chino) de 22 MB que está en el repo. La idea es que un fallo seguido de una recuperación exitosa contiene un patrón reutilizable —qué mirar cuando una tool falla, cuándo pedir permiso, cómo validar una respuesta sospechosa— y que ese patrón se puede escribir, verificar y convertir en dato.
ReSFT (§3.2), la destilación. Las skills no van al prompt del modelo entrenado: se usan para generar y verificar trayectorias —54.663 en el dataset SFT-54K— que pasan tres verificadores: SR (que la reflexión sea correcta), KR (que la recuperación ante el fallo lo sea) y UR (que la corrección que introduce el usuario se incorpore de verdad). Detalle importante: los skill prompts se eliminan del dato final. El modelo aprende el comportamiento, no a recitar la librería. La receta documentada es full fine-tuning de Qwen3-8B con LLaMA-Factory (ZeRO-3, 3 épocas, 5.127 steps).
ORPO (§3.3), el refuerzo. RL agéntico sobre 2.550 tareas con skills (dataset RL-2K) ejecutado bajo perturbaciones, más destilación on-policy same-token guiada por las skills (L_ORPO = L_RL + λ_opd·L_OPD, ec. 12 del paper). En producción sobre verl.
El resultado en despliegue: un agente sin habilidades adjuntas. Ninguna librería en el prompt, ningún retrieval de skills en runtime. Todo lo que la reflexión sabe está en los pesos, que es la única forma en que esto escala limpio — un prompt de 1.170 skills sería un problema de contexto, no una skill.
Los números, con verificado y atribución
Consulta de fuentes: 14-oct-2026, a las ~36 horas del v1 (13-oct, 08:36 UTC). Todas las cifras son mediciones de los autores (RUC + NUS) con su harness y sus verificadores; repetirlas aquí no las convierte en datos independientes. Media de 3 ejecuciones independientes por benchmark, métrica oficial de cada benchmark, Stability-Gated Success en AgentNoiseBench y Avg@4 en VitaBench.
| Modelo (escala 8B) | Overall, 5 benchmarks long-horizon | AgentNoiseBench |
|---|---|---|
| Qwen3-8B (base) | 40,2 | 12,3 |
| Reflexion-8B | 44,7 | 13,7 |
| NoisyAgent-8B∗ | 43,4∗ | 25,9 |
| EnvScaler-8B | 50,9 | 18,2 |
| Agent-World-8B∗ | 53,6∗ | – |
| Agent-Reflex-8B | 58,6 | 29,1 |
Tabla 1 del paper, atribuida a sus autores; ∗: reproducción local de los autores porque el checkpoint no es abierto —“Reproduced by us because the checkpoint is not open-sourced”, caption de la Tabla 1—; «–»: figura no reportada. El desglose por benchmark de Agent-Reflex-8B: VitaBench 17,5 · τ²-Bench 62,1 · BFCL V4 52,9 · ACEBench 78,0 · ToolSandbox 82,5. Tres lecturas.
Primera: +18,4 sobre el backbone (40,2 → 58,6) y +7,7 sobre EnvScaler-8B (50,9 → 58,6), el baseline de escalado de entornos más fuerte con checkpoint abierto —solo lo supera Agent-World-8B (53,6), de la misma familia que este pipeline—. Segunda: en ruido, 29,1 supera el 25,9 de NoisyAgent-8B —“reaching 29.1% compared with 25.9% for NoisyAgent-8B”, §4.2.2—, y ojo a la base: 12,3 significa que el Qwen3-8B sin entrenar casi no recupera nada de un entorno ruidoso. Tercera: VitaBench se queda en 17,5, con mucho el peor número propio del desglose; los escenarios multi-app reales siguen siendo duros para todos, y el +18,4 de titular no significa que esta familia de tareas esté resuelta.
La comparación que de verdad cuenta la historia
El experimento controlado que importa está dentro de la propia tabla: Reflexion-8B (44,7) y Agent-Reflex-8B (58,6) comparten base, benchmarks y scaffold; lo único que cambia es si la reflexión se pide por prompt o se entrena. Es la medida más limpia de cuánto vale el pipeline completo, y es también la que más debería incomodar a quien esté pegando instrucciones de reflexión a sus agentes y esperando mejoras de ese tamaño.
Ahora el matiz que modula todo lo anterior: el Apéndice C dice verbatim “Most baseline results are taken from the numbers reported in the corresponding papers. Only for methods that are not open-sourced, or for benchmarks that a paper does not report, do we reproduce the method locally”. Es decir, los métodos con checkpoint abierto —Reflexion, ExpeL, AWM, Simulator, TOUCAN, EnvScaler— no fueron re-ejecutados por los autores: sus cifras vienen de sus papers originales. La reproducción local abarca justo los cuatro métodos sin checkpoint abierto, los marcados con ∗ en la Tabla 1 (Agent-R-8B, NoisyAgent-8B, EnvACE-8B y Agent-World-8B —“Reproduced by us because the checkpoint is not open-sourced”, caption de la tabla—). Para el cruce Reflexion vs Agent-Reflex eso es menos grave (es su baseline implementado), pero para leer la tabla como leaderboard entre métodos distintos, no lo es: scaffolds y protocolos difieren entre columnas. Comparación de contexto, no experimento controlado — la misma advertencia que le toca a casi toda tabla de benchmarks agénticos, incluida la que cubrimos en TerminalHorizon, datos agénticos long-horizon, que comparte con este paper benchmarks (τ²-Bench, VitaBench) y tesis: lo que manda es la experiencia de entrenamiento, no el tamaño.
Lo que el titular no dice
Todo es auto-reportado y fresco. A 14-oct-2026 no hay replicación externa; en Hugging Face los modelos y datasets enlazados son del propio grupo, sin todavía trabajos de terceros citando el paper. La paper page acumula 192 upvotes y es el #2 paper del día (14-oct), que mide atención, no corrección.
AgentNoiseBench es out-of-distribution, y lo dicen. El §E.2 se titula literalmente “Why AgentNoiseBench Is Out of Distribution for Agent-Reflex”: las perturbaciones de ese benchmark no se vieron en entrenamiento, y por eso las 29,1 son ganancias de transferencia y no de memorización. Es un matiz honesto que mejora la credibilidad del paper — y también una señal de que el número exacto puede moverse en cuanto alguien más lo replique.
La librería de skills es una foto fija. Limitación reconocida en el Apéndice F, verbatim: “does not automatically adapt to changes in tool interfaces, service behavior, or environment dynamics”. Las 1.170 skills minadas de 557 entornos no se actualizan solas; mantener el pipeline significa re-minar periódicamente. Además, sin diversidad de entornos las skills pueden quedar environment-specific (los propios autores comparan con SEED), y la librería se minó solo a escala 8B — la transferencia entre tamaños no está probada.
El precio de reproducirlo. La etapa SFT necesita 2 nodos × 8 GPUs de 80 GB (16 en total); ORPO y evaluación, 1 × 8. Y la evaluación tiene su propia factura: user simulator (gpt-4.1) y judge (claude-sonnet-4-6) por endpoint OpenAI-compatible, más Serper para el web search de BFCL. Entrenar no requiere API keys; medir, sí. La taxonomía de fallos de la Tabla 4 (Apéndice D.2), por su parte, es textual: no cubre latencia, concurrencia ni escrituras parciales, que en producción duelen tanto como un timeout.
Qué puedes tomar para tu harness sin 16 GPUs
- Clasifica tus fallos antes de manejarlos. Las 8 familias de fallo que minaron en entornos MCP son una checklist gratuita: contrasta tu log de errores de tools contra ellas (timeouts, permisos denegados, resultados malformados…) y verás en qué familias tu harness se queda mudo. El vocabulario te lo da la Tabla 4 del paper (Apéndice D.2).
- El par fallo → recuperación → éxito como señal de primera clase. Si entrenas o evalúas agentes, no promedies el éxito: mide la tasa de recuperación. Es la variable que este paper entrena explícitamente y la que tu benchmark interno puede medir sin creerse el 58,6 de nadie.
- La corrección del usuario es dato, no interrupción. El verificador UR del ReSFT convierte las correcciones a mitad de tarea en señal de entrenamiento. Aunque no entrenes nada, te dice qué registrar: cada “no, eso no, usa el otro endpoint” es un ejemplo etiquetado de comportamiento deseado que hoy probablemente se pierde en el log.
- Internaliza en vez de inflar el prompt. El patrón “skills solo en entrenamiento, agente skill-free en deploy” es aplicable a cualquier pipeline de post-training propio, con o sin RL; la versión con retro-propagación de retrospectiva la cubrimos en SRD: destilar la introspección que GRPO tira a la basura, prima hermana de este enfoque.
- Si de verdad quieres entrenar: todo está abierto — checkpoint Agent-Reflex-8B, 54.663 trayectorias en SFT-54K y 2.550 tareas en RL-2K —, pero la receta documentada es full FT de 8B con 16 GPUs de 80 GB. Para la mayoría, partir del checkpoint publicado y evaluar en tu dominio es el experimento que de verdad responde preguntas; re-entrenar es el que responde las de tu infraestructura.
Qué haría yo
Si mantienes un harness con tools: inyecta ruido controlado en un entorno de staging —timeouts, respuestas truncadas, permisos que caducan— y evalúa contra él al Qwen3-8B base y a Agent-Reflex-8B. Lo que quieres ver no es el score absoluto sino la forma del fallo: cuántas veces el agente reintenta con información nueva frente a cuántas se queda en bucle o alucina un éxito. Esa métrica de recuperación, en tus tools y con tu ruido, vale más que cualquier Tabla 1 ajena.
Lo que yo no haría: adoptar el +18,4 como expectativa de producción —es un número del pipeline completo, auto-reportado, con baselines citados mayoritariamente de sus papers— ni desplegar reflexión por prompt esperando el salto de 44,7 a 58,6, que es exactamente lo que este paper desmiente. Y si tu plan es auto-mejora con bucles que se reescriben a sí mismos —el territorio que cubrimos en RSI de agentes: qué es real y en Raven, el harness de harnesses—, este paper sugiere un orden más barato: primero entrena la reflexión, después automatices el resto.
Fuentes
- arXiv: Agent-Reflex (2610.17953) (v1, 13-oct-2026) — abstract, autores (Guanting Dong et al., 12), afiliaciones (Renmin University of China GSAI + National University of Singapore).
- HTML v1 del paper — Tabla 1, §3 (RSD/ReSFT/ORPO), §4.2.2, Apéndices C, D.2 (Tabla 4, taxonomía de fallos), E.2, F y G.
- GitHub: RUC-NLPIR/Agent-Reflex — MIT; librería RSD (1.170 skills), recetas ReSFT (LLaMA-Factory, ZeRO-3) y ORPO (verl), evaluación con vLLM, hardware.
- Agent-Reflex-8B en Hugging Face — checkpoint sobre Qwen3-8B.
- Dataset Agent-Reflex-SFT-54K (54.663 trayectorias) y Agent-Reflex-RL-2K (2.550 tareas).
- Paper page en Hugging Face — 192 upvotes y #2 paper del día a 14-oct-2026.