Reef è completamente open source: https://github.com/Human-Agent-Society/reef
1. Prima che l'hype sull'“RSI” diventi realtà
Prima che l'entusiasmo odierno attorno all'RSI si concretizzi appieno, vogliamo rendere open source Reef, un'infrastruttura che stiamo sviluppando per lo stesso problema più ampio: consentire agli agenti (harness + modello) di evolversi continuamente dalla propria esperienza.
L'obiettivo è facilitare la sperimentazione della comunità open source con il miglioramento continuo autonomo e fornire un accesso immediato a un'infrastruttura di livello produttivo. Utilizziamo miglioramento continuo autonomo come inquadramento più ampio e pratico, con l'RSI che rappresenta una forma più pienamente ricorsiva della stessa idea.¹
2. Perché il miglioramento continuo autonomo necessita di una nuova infrastruttura?

GIF
La maggior parte delle infrastrutture LLM presuppone un ciclo di vita relativamente semplice. Addestriamo un modello, lo valutiamo, lo distribuiamo e poi lo utilizziamo per l'inferenza. Per agenti che si migliorano continuamente, riteniamo che due presupposti alla base di questa configurazione inizino a vacillare.
In primo luogo, l'inferenza non è più la fine del processo. Gli agenti generano esperienza utile mentre lavorano, incluse traiettorie, risultati di esecuzione, feedback degli utenti e altri segnali che possono guidare miglioramenti futuri. Ciò che accade in fase di inferenza non è più qualcosa che semplicemente serviamo e scartiamo. Diventa parte del processo di apprendimento stesso.
In secondo luogo, il modello non è più l'unica cosa che si evolve. Un agente è più di un modello, e il miglioramento continuo autonomo non dovrebbe essere limitato ai pesi del modello. Prompt, memoria, competenze, strumenti e logica di orchestrazione possono tutti potenzialmente migliorare dall'esperienza. Un modello più potente espande le capacità dell'agente, mentre un harness migliore aiuta a estrarre tali capacità in modo più efficace e a esercitarle in modo più affidabile in compiti complessi.
Insieme, questi cambiamenti trasformano quello che era un processo per lo più sequenziale in un ciclo di evoluzione continua. Gli agenti interagiscono, generano esperienza, migliorano diverse parti di sé stessi, valutano se tali cambiamenti valga la pena mantenerli e tornano a servire come nuove versioni del sistema.
Questo è anche il motivo per cui non consideriamo Reef come una semplice infrastruttura di addestramento. L'addestramento è solo una parte del ciclo. Riteniamo che l'infrastruttura per il miglioramento continuo autonomo debba partire dall'inferenza in tempo reale e supportare l'evoluzione dell'intero agente.

GIF
3. Di cosa ha bisogno tale infrastruttura e come la implementa Reef?

Architettura di Reef
L'infrastruttura per il miglioramento continuo autonomo deve possedere tre cose end-to-end: l'esperienza, l'agente e gli aggiornamenti. Ciò significa (1) apprendere dal traffico live, (2) aggiornare sia il modello che l'harness, e (3) valutare, versionare e controllare adeguatamente come vengono rilasciati gli aggiornamenti.
Possedere l'esperienza: l'apprendimento deve basarsi sul servizio live
Inferenza e addestramento sono stati storicamente disaccoppiati. Alcune infrastrutture RL (es. Slime, veRL) incorporano un motore di inferenza per generare dati, ma questi sistemi sono progettati per l'addestramento del modello piuttosto che per il servizio del modello. Noi ipotizziamo che un'infrastruttura per il miglioramento continuo autonomo debba prima essere un'infrastruttura di inferenza e costruire la sua capacità di addestramento attorno all'inferenza live: il sistema serve applicazioni reali, raccoglie esperienza in tempo di test e consente alle ricette di apprendimento di consumarla continuamente. Questa convinzione porta a ripensare molte scelte progettuali, inclusa la generazione del segnale di addestramento e la selezione dei campioni di addestramento.
L'inferenza è nativa in Reef. Reef espone endpoint di inferenza standard, rendendo facile l'integrazione in applicazioni esistenti e trasformandole in sistemi auto-evolventi.
1# client = xxx # inizializza il client httpx per l'endpoint di servizio di Reef23# Chiamata di inferenza standard tramite Reef, formato OpenAI4response = client.post(5 "/v1/chat/completions",6 json={"model": xxx, "messages": xxx},7)89# Riferimento al record di inferenza memorizzato da Reef10receipt = response.headers["x-reef-agent-record-id"]
Le applicazioni possono anche segnalare ricompense, feedback del valutatore o altri segnali associati a specifiche chiamate di inferenza tramite:
1# Allega feedback al corrispondente record di inferenza2client.post(3 "/reef/report",4 json={"feedback": "risposta sbagliata", "references": [receipt]},5)
A differenza dei motori di inferenza esistenti che rimangono statici per tutto il loro ciclo di vita, Reef offre inferenza stateful: Reef memorizza le tracce di inferenza e il feedback come un flusso di esperienza strutturato, gestendo problemi come l'obsolescenza off-policy, l'unione di sessioni e la deduplicazione. Le ricette di apprendimento definiscono come viene elaborato questo flusso, quale algoritmo di apprendimento viene utilizzato e quando gli aggiornamenti vengono valutati e distribuiti. Ciò consente a diverse applicazioni di evolversi con le proprie strategie di apprendimento sulla stessa infrastruttura.
Possedere l'intero agente: sia il modello che l'harness vengono evoluti tramite inferenza stateful
Un agente AI in grado di fornire risultati end-to-end consiste non solo di un modello, ma anche di un harness. Il modello fornisce le capacità sottostanti necessarie per risolvere i compiti, mentre l'harness consente un'esecuzione affidabile attraverso traiettorie complesse e di lunga durata, gestendo strumenti, contesto, memoria, feedback e orchestrazione. I due sono strettamente accoppiati: l'harness determina come le capacità del modello vengono estratte, ancorate ed esercitate, mentre il modello determina quali forme di esecuzione l'harness può supportare in modo affidabile. I progressi in uno possono quindi modificare la progettazione ottimale dell'altro. Un'infrastruttura per il miglioramento continuo autonomo dovrebbe supportare l'evoluzione congiunta dell'intero stack dell'agente, inclusi non solo i pesi del modello, ma anche prompt, memoria, competenze, strumenti e logica di orchestrazione.
Reef supporta aggiornamenti sia al modello che all'harness.
Sul lato harness, Reef utilizza Cordis come "backend di addestramento". Una ricetta di evoluzione dell'harness in genere analizza le traiettorie e il feedback dell'agente, quindi propone modifiche all'harness. Questo processo avviene interamente all'interno di Reef, e ogni versione evoluta dell'harness viene rilasciata all'utente come aggiornamento installabile (supponendo che Reef sia servito su localhost:8900):
1curl -fsS -H "Authorization: Bearer $REEF_TOKEN" \2 'http://localhost:8900/reef/harness/install?adapter=pi' | bash
Il comando sopra installa un harness Pi integrato con Reef in modo molto simile a un tipico agente di codifica. L'harness è configurato per utilizzare l'endpoint di inferenza stateful di Reef, quindi il suo traffico di inferenza passa attraverso Reef. Mentre l'utente lavora, Cordis evolve l'harness seguendo la ricetta di evoluzione dell'harness configurata, e le nuove versioni vengono rese disponibili tramite Reef. La prossima volta che l'utente apre l'harness, potrebbe vedere:

Sul lato modello, le ricette di apprendimento consumano i record di Reef per aggiornare i pesi del modello. L'addestramento viene eseguito in modo asincrono rispetto al servizio live utilizzando un backend di addestramento distribuito, attualmente adattato da Slime, e produce aggiornamenti candidati dei pesi come checkpoint o adattatori LoRA.
Una volta che un candidato supera la valutazione e viene approvato per la distribuzione, Reef lo pubblica come una nuova versione dell'artefatto del modello dello scenario e aggiorna a caldo il motore di servizio utilizzando la sincronizzazione dei pesi basata su NCCL, senza riavviare il servizio.
Possedere gli aggiornamenti: i rilasci evoluti vengono valutati e versionati
Un agente in continua evoluzione è soggetto a un degrado della qualità del servizio, soprattutto perché l'evoluzione non garantisce un miglioramento delle prestazioni. Pertanto, ogni candidato evoluto dovrebbe essere valutato prima del rilascio. Reef controlla se un candidato evoluto può sostituire l'artefatto attualmente in servizio per uno scenario. Se il candidato viene rifiutato, il servizio rimane invariato. Altrimenti, Reef lo pubblica come un nuovo rilascio verificabile.
Tutto ciò che Reef può evolvere, come un checkpoint del modello, un adattatore LoRA, un albero dell'harness o una politica di routing, è rappresentato come un artefatto gestito da un controller di versione. Reef adotta Git LFS per la gestione degli artefatti, specialmente quelli che occupano molto spazio su disco come i pesi del modello. Il percorso di rilascio è:

Ogni scenario ha una catena di rilascio append-only. Reef fa avanzare la testa di rilascio dello scenario utilizzando compare-and-swap, quindi un publisher obsoleto non può sovrascrivere un rilascio più recente. La pipeline di rilascio consente a Reef di tracciare in modo efficiente i cambiamenti di versione continui e i processi di rilascio.
4. Metodi di miglioramento continuo autonomo in Reef
L'infrastruttura sopra fornisce le astrazioni comuni per il miglioramento continuo autonomo. La logica effettiva di come un agente migliora è implementata tramite ricette di apprendimento modulari.
Abbiamo visto un crescente zoo di metodi per trasformare i segnali generati in fase di test in agenti migliori: apprendimento per rinforzo online, addestramento in fase di test, evoluzione delle competenze, evoluzione dell'harness, self-play e altro ancora. Nonostante i loro diversi nomi e meccanismi, condividono lo stesso schema di base: i segnali generati in fase di test vengono trasformati in aggiornamenti al sistema che genera l'interazione successiva.
Queste ricette differiscono principalmente lungo tre dimensioni:
Segnale di apprendimento: Quale forma di segnale guida il miglioramento e da dove proviene?
Acquisizione dell'esperienza: Come viene generata l'esperienza di apprendimento? Viene cercata proattivamente dall'agente o generata reattivamente da un compito o un'interazione esterna?
Obiettivo dell'evoluzione: Cosa cambia effettivamente: il modello, l'harness o entrambi?

Ricette già supportate o in arrivo su Reef
Reef è progettato in modo che questi metodi possano essere in gran parte espressi attraverso diverse ricette di apprendimento sulla stessa infrastruttura. Usare una ricetta è semplice: sceglierne una e configurarla all'avvio del servizio Reef.
1# serve.yaml2reef:3 recipe: recipes.sao.recipe:SAORecipe # Inserisci una ricetta di evoluzione4 batch_size: 1 # Configurazione specifica della ricetta5 max_staleness: 18
Quindi avvia Reef con la configurazione:
1reef serve -c recipes/sao/examples/sao/serve.yaml
Di seguito, mostriamo due esempi, OpenClaw-RL e TTT-Discover, che seguono strategie di evoluzione molto diverse ma possono entrambi essere implementati in Reef.

GIF
La dimostrazione visiva mostra un'integrazione di OpenClaw-RL in Reef. L'utente interagisce con un agente il cui modello viene continuamente evoluto da Reef in modo asincrono senza interrompere l'utente. Man mano che i round si accumulano, l'agente impara gradualmente a interpretare correttamente le preferenze dell'utente e fornisce una risposta soddisfacente.

GIF
La dimostrazione visiva mostra come TTT migliora iterativamente una soluzione Packing 32. Con il progredire dell'ottimizzazione, vengono scoperte e mantenute soluzioni sempre più efficaci, portando a punteggi di packing progressivamente più alti.
5. Conclusione
Reef è il nostro tentativo di trasformare l'ampia idea del miglioramento continuo autonomo in un problema concreto di sistemi. Rendendo Reef open source, speriamo di rendere questo problema più facile da studiare e di fornire alla comunità una base pratica per costruire agenti che non si limitano a servire, ma che imparano e si evolvono continuamente dall'esperienza.
Ti invitiamo a provare Reef, creare le tue ricette di apprendimento e integrarlo con i tuoi agenti. Esplora il codice, la documentazione e le ricette di esempio su https://github.com/Human-Agent-Society/reef. Se trovi Reef utile, apprezziamo una stella sul repository. Se vuoi costruire con noi o discutere più ampiamente del miglioramento continuo autonomo, sei più che benvenuto a unirti al nostro Discord: https://discord.gg/5y8e5f937k.
- Utilizziamo miglioramento continuo autonomo come inquadramento più ampio e pratico rispetto all'RSI. Copre sistemi che migliorano ripetutamente dall'esperienza senza richiedere il ciclo completamente chiuso spesso associato all'RSI, in cui l'AI stessa partecipa alla costruzione e al miglioramento del sistema che produce la sua versione successiva. Reef è progettato per questo problema più ampio, lasciando spazio a forme più ricorsive di auto-miglioramento che possono emergere su di esso.
Elenco crescente di contributori (in ordine alfabetico): 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





