Reef es completamente de código abierto: https://github.com/Human-Agent-Society/reef
1. Antes de que el hype de “RSI” se vuelva realidad
Antes de que la emoción actual en torno a RSI se materialice por completo, queremos abrir el código de Reef, una infraestructura que hemos estado construyendo para el mismo problema general: permitir que los agentes (arnés + modelo) evolucionen continuamente a partir de su experiencia.
El objetivo es facilitar que la comunidad de código abierto experimente con la automejora continua y tenga acceso a infraestructura de nivel productivo para ello. Usamos automejora continua como el marco más amplio y práctico aquí, siendo RSI una forma más completamente recursiva de la misma idea.¹
2. ¿Por qué la automejora continua necesita una nueva infraestructura?

GIF
La mayoría de la infraestructura de LLM asume un ciclo de vida relativamente simple. Entrenamos un modelo, lo evaluamos, lo desplegamos y luego lo usamos para inferencia. Para agentes que se automejoran continuamente, creemos que dos supuestos detrás de esta configuración comienzan a romperse.
Primero, la inferencia ya no es el final del pipeline. Los agentes generan experiencia útil mientras trabajan, incluyendo trayectorias, resultados de ejecución, retroalimentación del usuario y otras señales que pueden impulsar mejoras futuras. Lo que sucede en el momento de la inferencia ya no es algo que simplemente servimos y descartamos. Se convierte en parte del proceso de aprendizaje en sí mismo.
Segundo, el modelo ya no es lo único que evoluciona. Un agente es más que un modelo, y la automejora continua no debería restringirse a los pesos del modelo. Los prompts, la memoria, las habilidades, las herramientas y la lógica de orquestación pueden potencialmente mejorar a partir de la experiencia. Un modelo más fuerte expande las capacidades del agente, mientras que un mejor arnés ayuda a elicitar esas capacidades de manera más efectiva y ejercitarlas de forma más confiable en tareas complejas.
Juntos, estos cambios convierten lo que antes era un pipeline mayormente secuencial en un bucle de evolución continua. Los agentes interactúan, generan experiencia, mejoran diferentes partes de sí mismos, evalúan si esos cambios valen la pena y vuelven a servir como nuevas versiones del sistema.
Es por eso que tampoco consideramos a Reef como una mera infraestructura de entrenamiento. El entrenamiento es solo una parte del bucle. Creemos que la infraestructura para la automejora continua debe comenzar desde la inferencia en vivo y apoyar la evolución de todo el agente.

GIF
3. ¿Qué necesita dicha infraestructura y cómo lo implementa Reef?

Arquitectura de Reef
La infraestructura para la automejora continua necesita poseer tres cosas de principio a fin: la experiencia, el agente y las actualizaciones. Esto significa (1) aprender del tráfico en vivo, (2) actualizar tanto el modelo como el arnés, y (3) evaluar, versionar y controlar adecuadamente cómo se lanzan las actualizaciones.
Poseer la experiencia: el aprendizaje debe construirse sobre el servicio en vivo
La inferencia y el entrenamiento históricamente han estado desacoplados. Alguna infraestructura de RL (por ejemplo, Slime, veRL) incorpora un motor de inferencia para generar datos, pero estos sistemas están diseñados para el entrenamiento de modelos, no para el servicio de modelos. Postulamos que una infraestructura de automejora continua debería ser primero una infraestructura de inferencia y construir su capacidad de entrenamiento alrededor de la inferencia en vivo: el sistema sirve aplicaciones reales, recopila experiencia en tiempo de prueba y permite que las recetas de aprendizaje la consuman continuamente. Esta creencia lleva a repensar muchas decisiones de diseño, incluyendo la generación de señales de entrenamiento y la selección de muestras de entrenamiento.
La inferencia es nativa en Reef. Reef expone endpoints de inferencia estándar, lo que facilita su integración en aplicaciones existentes y convertirlas en sistemas autoevolutivos.
1# client = xxx # inicializa el cliente httpx al endpoint de servicio de Reef23# Llamada de inferencia estándar a través de Reef, formato Open-AI4response = client.post(5 "/v1/chat/completions",6 json={"model": xxx, "messages": xxx},7)89# Referencia al registro de inferencia almacenado por Reef10receipt = response.headers["x-reef-agent-record-id"]
Las aplicaciones también pueden reportar recompensas, retroalimentación del evaluador u otras señales asociadas con llamadas de inferencia específicas a través de:
1# Adjuntar retroalimentación al registro de inferencia correspondiente2client.post(3 "/reef/report",4 json={"feedback": "respuesta incorrecta", "references": [receipt]},5)
A diferencia de los motores de inferencia existentes que permanecen estáticos durante todo su ciclo de vida, Reef ofrece inferencia con estado: Reef almacena los rastros de inferencia y la retroalimentación como un flujo de experiencia estructurado, manejando problemas como la obsolescencia fuera de política, la fusión de sesiones y la deduplicación. Las recetas de aprendizaje definen cómo se procesa este flujo, qué algoritmo de aprendizaje se utiliza y cuándo se evalúan y despliegan las actualizaciones. Esto permite que diferentes aplicaciones evolucionen con sus propias estrategias de aprendizaje sobre la misma infraestructura.
Poseer todo el agente: tanto el modelo como el arnés evolucionan a través de la inferencia con estado
Un agente de IA capaz de entregar resultados de principio a fin consiste no solo en un modelo, sino también en un arnés. El modelo proporciona las capacidades subyacentes necesarias para resolver tareas, mientras que el arnés permite una ejecución confiable en trayectorias complejas y de largo plazo al gestionar herramientas, contexto, memoria, retroalimentación y orquestación. Los dos están estrechamente acoplados: el arnés determina cómo se elicitan, fundamentan y ejercitan las capacidades del modelo, mientras que el modelo determina qué formas de ejecución puede soportar de manera confiable el arnés. Por lo tanto, los avances en cualquiera de ellos pueden cambiar el diseño óptimo del otro. Una infraestructura de automejora continua debería apoyar la evolución conjunta de toda la pila del agente, incluyendo no solo los pesos del modelo, sino también los prompts, la memoria, las habilidades, las herramientas y la lógica de orquestación.
Reef admite actualizaciones tanto del modelo como del arnés.
En el lado del arnés, Reef utiliza Cordis como un "backend de entrenamiento". Una receta de evolución del arnés típicamente analiza las trayectorias y la retroalimentación del agente, y luego propone ediciones al arnés. Este proceso ocurre completamente dentro de Reef, y cada versión evolucionada del arnés se lanza al usuario como una actualización instalable (asumiendo que Reef se sirve en localhost:8900):
1curl -fsS -H "Authorization: Bearer $REEF_TOKEN" \2 'http://localhost:8900/reef/harness/install?adapter=pi' | bash
El comando anterior instala un arnés Pi envuelto en Reef de manera muy similar a un agente de codificación típico. El arnés está configurado para usar el endpoint de inferencia con estado de Reef, por lo que su tráfico de inferencia fluye a través de Reef. Mientras el usuario trabaja, Cordis evoluciona el arnés siguiendo la receta de evolución del arnés configurada, y las nuevas versiones se ponen a disposición a través de Reef. La próxima vez que el usuario abra el arnés, podría ver:

En el lado del modelo, las recetas de aprendizaje consumen los registros de Reef para actualizar los pesos del modelo. El entrenamiento se ejecuta de forma asíncrona con el servicio en vivo utilizando un backend de entrenamiento distribuido, actualmente adaptado de Slime, y produce actualizaciones de pesos candidatas, como checkpoints o adaptadores LoRA.
Una vez que un candidato pasa la evaluación y es aprobado para su despliegue, Reef lo publica como una nueva versión del artefacto del modelo del escenario y actualiza en caliente el motor de servicio utilizando la sincronización de pesos basada en NCCL, sin reiniciar el servicio.
Poseer las actualizaciones: los lanzamientos evolucionados son evaluados y versionados
Un agente en evolución continua está sujeto a la degradación de la calidad del servicio, especialmente porque la evolución no garantiza una mejora en el rendimiento. Por lo tanto, cada candidato evolucionado debe ser evaluado antes de su lanzamiento. Reef controla si un candidato evolucionado puede reemplazar el artefacto que actualmente sirve a un escenario. Si el candidato es rechazado, el servicio permanece sin cambios. De lo contrario, Reef lo publica como un nuevo lanzamiento auditable.
Cualquier cosa que Reef pueda evolucionar, como un checkpoint de modelo, un adaptador LoRA, un árbol de arnés o una política de enrutamiento, se representa como un artefacto gestionado por un controlador de versiones. Reef adopta Git LFS para gestionar los artefactos, especialmente aquellos que ocupan mucho espacio en disco, como los pesos del modelo. La ruta de lanzamiento es:

Cada escenario tiene una cadena de lanzamiento de solo añadidura. Reef avanza el cabezal de lanzamiento del escenario usando comparar e intercambiar, por lo que un publicador obsoleto no puede sobrescribir un lanzamiento más nuevo. El pipeline de lanzamiento permite a Reef rastrear eficientemente los cambios de versión continua y los procesos de lanzamiento.
4. Métodos de automejora continua en Reef
La infraestructura anterior proporciona las abstracciones comunes para la automejora continua. La lógica real de cómo un agente mejora se implementa a través de recetas de aprendizaje modulares.
Hemos visto un zoológico creciente de métodos para convertir las señales generadas en tiempo de prueba en mejores agentes: aprendizaje por refuerzo en línea, entrenamiento en tiempo de prueba, evolución de habilidades, evolución del arnés, auto-juego, y más. A pesar de sus diferentes nombres y mecanismos, comparten el mismo patrón básico: las señales generadas en tiempo de prueba se convierten en actualizaciones del sistema que genera la siguiente interacción.
Estas recetas difieren principalmente en tres dimensiones:
Señal de aprendizaje: ¿Qué forma de señal impulsa la mejora y de dónde proviene?
Adquisición de experiencia: ¿Cómo se genera la experiencia de aprendizaje? ¿Es buscada proactivamente por el agente, o se genera de forma reactiva a partir de una tarea o interacción externa?
Objetivo en evolución: ¿Qué cambia realmente: el modelo, el arnés o ambos?

Recetas ya soportadas o próximas en Reef
Reef está diseñado para que estos métodos puedan expresarse en gran medida a través de diferentes recetas de aprendizaje sobre la misma infraestructura. Usar una receta es simple: elige una y configúrala al iniciar el servicio Reef.
1# serve.yaml2reef:3 recipe: recipes.sao.recipe:SAORecipe # Conecta una receta de evolución4 batch_size: 1 # Configuración específica de la receta5 max_staleness: 18
Luego inicia Reef con la configuración:
1reef serve -c recipes/sao/examples/sao/serve.yaml
A continuación, mostramos dos ejemplos, OpenClaw-RL y TTT-Discover, que siguen estrategias de evolución muy diferentes pero ambas pueden implementarse en Reef.

GIF
El visual demuestra una integración de OpenClaw-RL en Reef. El usuario interactúa con un agente cuyo modelo es evolucionado continuamente por Reef de forma asíncrona sin interrumpir al usuario. A medida que se acumulan más y más rondas, el agente aprende gradualmente a interpretar correctamente la preferencia del usuario y da una respuesta satisfactoria.

GIF
El visual demuestra cómo TTT mejora iterativamente una solución de Packing 32. A medida que avanza la optimización, se descubren y retienen soluciones cada vez más efectivas, lo que lleva a puntuaciones de empaquetado progresivamente más altas.
5. Conclusión
Reef es nuestro intento de convertir la idea amplia de la automejora continua en un problema concreto de sistemas. Al abrir el código de Reef, esperamos facilitar el estudio de este problema y darle a la comunidad una base práctica para construir agentes que no solo sirvan, sino que aprendan y evolucionen continuamente a partir de la experiencia.
Te invitamos a probar Reef, construir tus propias recetas de aprendizaje e integrarlo con tus agentes. Explora el código, la documentación y las recetas de ejemplo en https://github.com/Human-Agent-Society/reef. Si encuentras útil Reef, agradeceríamos una estrella en el repositorio. Si quieres construir con nosotros o discutir la automejora continua de manera más amplia, eres más que bienvenido a unirte a nuestro Discord: https://discord.gg/5y8e5f937k.
- Usamos automejora continua como un marco más amplio y práctico que RSI. Cubre sistemas que mejoran repetidamente a partir de la experiencia sin requerir el bucle completamente cerrado a menudo asociado con RSI, donde la propia IA participa en la construcción y mejora del sistema que produce su siguiente versión. Reef está diseñado para este problema más amplio, dejando espacio para que formas más recursivas de automejora emerjan sobre él.
Lista creciente de colaboradores (en orden alfabético): Chai Wenhao (@wenhaocha1), Ding Shuangrui (@ShuangruiDing), He Hao, He Haoze, Jiang Chonhe (@JiangChonghe), Jiang Nan (@nanjiangwill), Jiang Xuan, Li Xiaochen (@jacobli99), Liang Paul (@pliang279), Liu Bo (@Benjamin_eecs), Long Boyuan, Mang Qiuyang (@MangQiuyang), Qi Zhenting (@ZhentingQi), Qu Ao (@ao_qu18465), Qu Mingruo, Wang Zhaokai, Yan Xuezhi, Yu Hanfei (@yhfchitanda), Yu Haofei (@haofeiyu44), Yu Simon (@simon_ycl), Zheng Han (@hanzheng_7), Zhou Kaichen (@alex_kai2020), Zhou Zijian (@BobbyZhouZijian), Zhu Jiacheng (@JiachengZhu_ML), Zhuang Dingyi





