YouMind
Accedi

Liberare i modelli: progettazione dell'harness alla frontiera

@pirroh
INGLESE29 set 2026
237K
511
79
21
1.2K

TL;DR

Replit sostiene che i router di modelli rigidi limitano le prestazioni rispetto a un approccio in cui i modelli all'avanguardia selezionano dinamicamente subagenti e livelli di sforzo. Il loro nuovo design dell'harness raggiunge l'efficienza di Pareto nei benchmark di coding sfruttando l'autonomia del modello.

I model router sono ovunque in questo momento, ma presentano un limite fondamentale. Che si basino su euristiche avanzate o su un modello ridotto che analizza ogni turno per scegliere quale LLM utilizzare, un router sarà sempre meno capace del modello che sta selezionando. Replit Agent lascia invece la decisione al modello stesso.

L'agente principale, o core loop, sceglie il livello e l'impegno dei propri subagenti, adattando i suoi man mano che il task procede. Con questa libertà, GPT-6 Astra delega le implementazioni di routine a subagenti meno costosi e decide autonomamente dove vale la pena spendere i propri token. Sia su DeepSWE che su Terminal-Bench, Replit Agent è Pareto-efficiente rispetto ad Astra da solo: nessun baseline pubblicato di Astra costa meno ottenendo un punteggio superiore. Supera inoltre un'architettura sidekick — la stessa configurazione ma con un unico worker persistente — di 11 e 16 punti.

Michele Catasta - inline image

Per il post completo con animazioni e note a piè di pagina, visita https://replit.com/blog/free-the-models

Perché usiamo meno scaffolding

Ogni rilascio di un nuovo modello invalida le assunzioni integrate nell'harness.

Man mano che i modelli diventano più efficaci nei task a lungo termine, hanno bisogno di meno scaffolding a livello di harness. In pratica, abbiamo notato che tendono naturalmente a delegare di più: utilizzano i subagenti per la gestione del contesto e per il parallelismo. I recenti traguardi raggiunti, tra cui quelli sulle equazioni di Navier-Stokes, derivano in parte dal coordinamento di sciami di agenti basati su modelli frontier [[1]](https://openai.com/index/navier-stokes-solution/).

Ma il confine della frontiera è frastagliato. Il modello di coding più potente non è necessariamente il migliore nel progettare interfacce UI o creare slide, né il più abile nello scrivere email.

Per questo progettiamo il nostro harness in modo che ogni modello possa lavorare secondo le proprie caratteristiche, con i guardrail di cui ha ancora bisogno e puntando alla massima qualità al minor costo possibile.

Ogni nuovo modello ci costringe a rimettere in discussione ciò che davamo per scontato e a sperimentare rapidamente tecniche basate sui comportamenti emergenti. Liberare il modello significa quindi lasciargli decidere quanto impegnarsi, quando delegare il lavoro e a chi affidarlo.

Michele Catasta - inline image

Figura 1: le tre decisioni che il core loop prende a ogni passaggio.

Primitive componibili per la delega

Quando abbiamo iniziato a sperimentare con GPT-6 Astra [[2]](https://openai.com/index/gpt-6-astra), abbiamo scoperto che il modello sa delegare molto bene. La famiglia GPT-6 è anche la prima di OpenAI a supportare la modifica dell'impegno (effort) a metà turno senza invalidare la cache.

Per sfruttare queste capacità, abbiamo perfezionato quattro primitive dell'harness. Offrono al core loop una serie ristretta di scelte a ogni passaggio: che tipo di subagente avviare, con quali dimensioni e livello di impegno, se tornare a uno già istruito e quanto ragionare a fondo:

  • Subagenti specializzati per dominio. Oltre a un worker generico, l'harness offre degli specialisti: explorer in sola lettura, browser tester, reviewer e un subagente dedicato al design per Slides e UI, ognuno con il proprio modello e i propri tool. Per ora, l'harness stabilisce ancora quali specialisti esistono; il core loop decide quando e come usarli.
  • Livelli e impegno dei subagenti. Small, standard e large, ciascuno un gradino sopra in termini di costi e capacità, con un livello di impegno interno al tier. Entrambi i parametri si applicano a ogni subagente e il core loop li seleziona a ogni avvio. Ad esempio, una rinomina meccanica viene assegnata a un subagente small con basso impegno, mentre la generazione di ipotesi per un bug ostinato va a un large con alto impegno.
  • Subagenti riutilizzabili. Il core loop può tornare a un subagente già istruito invece di ricominciare da zero. Non esiste un singolo sidekick mantenuto attivo per tutta la sessione: un numero variabile di subagenti resta "caldo" tra i diversi tipi e livelli, ed è il core loop a scegliere quale risvegliare. Una durata maggiore della cache nei modelli più recenti di OpenAI aiuta a contenere i costi di questa operazione.
  • Regolazione dinamica dell'impegno. Ora che modificare l'impegno a metà turno preserva la cache su alcuni modelli, abbiamo addestrato un sistema di escalation che valuta la traiettoria a ogni passaggio e adatta lo sforzo alla difficoltà del task. A differenza di un router, agisce a metà turno sul lavoro in corso, non una sola volta all'inizio sulla richiesta.

La qualità del codice di Astra e Fable 5.1 [[3]](https://www.anthropic.com/claude-fable-and-mythos-5-1) ci ha permesso anche di ricorrere meno al nostro subagente di code-review, senza alcun calo nei punteggi delle nostre eval. Non avevamo mai visto questo livello di qualità ingegneristica in nessun modello.

I modelli più recenti delegano in autonomia

I modelli frontier come Astra e Fable costano di più per token, il che li fa sembrare antieconomici rispetto a quelli più piccoli. Abbiamo però osservato che delegano spontaneamente ai subagenti meno costosi, riservando i propri token alle decisioni che li richiedono davvero.

Replit Agent non forza mai il core loop a generare subagenti. La Tabella 1 mostra come tre modelli gestiscono questa decisione in produzione:

Michele Catasta - inline image

Tabella 1: Delega nella versione in produzione di Replit Agent, con ciascun modello impostato su un livello di ragionamento medio.

Tutti e tre i modelli delegano, ma ognuno a modo suo. Con un impegno medio, i modelli Fable raramente passano il lavoro a un worker generico: avviano explorer in sola lettura e reviewer, tenendo per sé l'implementazione. Astra è il primo modello che abbiamo visto delegare abitualmente ai worker generici senza che gli venga chiesto e, una volta istruitone uno, tende a tornarci invece di ripartire da zero. Questo tasso di ritorno è aumentato con ogni nuova generazione di modelli.

Michele Catasta - inline image

Figura 2: Un turno in produzione del 17 settembre 2026, ricostruito dal trace. Il core loop ha avviato un explorer, due worker e un tester; dei cinque worker attivati, tre erano ritorni verso worker già istruiti.

Risultati

Abbiamo valutato Replit Agent in modalità Max, la nostra configurazione di massima qualità con Astra come core loop, su due benchmark di ingegneria del software: DeepSWE e Terminal-Bench. Il confronto avviene con due baseline: Astra da solo in mini-swe-agent, come riportato nelle rispettive classifiche, e un'architettura sidekick, ovvero la stessa configurazione con una sola variante: le primitive dei subagenti sostituite da un unico worker persistente. Ogni grafico mette in relazione il punteggio con il costo per task, quindi le configurazioni più efficienti si trovano in alto a sinistra.

Su DeepSWE v1.1 [[4]](https://deepswe.datacurve.ai/), che testa modifiche complesse su repository open-source attivi, Replit Agent ottiene il 72% con un costo di 2,11 $ per task. Astra in mini-swe-agent con impegno basso raggiunge il 67% a 1,60 $, mentre con impegno xhigh arriva al 74% a 4,43 $; l'architettura sidekick si ferma al 61% a 1,34 $. Terminal-Bench 4.0 [[5]](https://www.tbench.ai/) valuta lavori multi-step eseguiti interamente da shell. Replit Agent raggiunge il 49% a 2,53 $ per task, contro il 42% a 2,25 $ di Astra con impegno basso e il 60% a 5,86 $ con impegno xhigh. L'architettura sidekick si attesta al 33% a 1,84 $.

Michele Catasta - inline image

Replit Agent supera l'architettura sidekick su entrambi i benchmark, rispettivamente di 11 e 16 punti. Il sidekick costa meno, ma sacrifica da un sesto a un terzo del punteggio per ottenerlo. Astra da solo ottiene punteggi superiori solo spendendo di più: le sue impostazioni migliori superano Replit Agent di 2 e 11 punti, ma a un costo più che doppio. Nessuno dei due baseline vince contemporaneamente su costo e punteggio. Abbiamo eseguito Replit Agent esattamente nella versione rilasciata agli utenti, senza alcuna modifica al prompting o all'harness.

L'amara lezione della progettazione degli harness

Interpretiamo questi risultati come un'applicazione dell'amara lezione di Sutton [[6]](http://www.incompleteideas.net/IncIdeas/BitterLesson.html). Integrare la conoscenza umana in un agente aiuta nel breve termine, ma raggiunge un plateau nel lungo periodo e finisce per essere superato dai metodi generali che scalano con la potenza di calcolo. Un harness rigido costringe il modello a un unico metodo di lavoro; uno componibile gli lascia la scelta. Più i modelli diventano intelligenti, meno l'harness dovrebbe decidere al posto loro.

Rispetto a un'architettura più prescrittiva, questo approccio ci garantisce tre vantaggi:

  • Punta tutto sulle scaling law dei modelli. Una delega basata sul "gusto" del modello migliora a ogni rilascio. Le prime preview dei modelli di prossima generazione confermano questo trend.
  • Si adatta al task. Il modello non genera nulla per un task semplice, un explorer per una ricerca e un intero team quando una build si scompone in parti indipendenti.
  • Riutilizza senza persistere. Un subagente conserva il proprio contesto nel caso in cui il modello voglia richiamarlo, e nulla viene mantenuto se non necessario.

In termini di Sutton, l'harness dovrebbe permettere al modello di scoprire come eseguire il lavoro, non imporgli come lo avremmo fatto noi. Liberate i modelli.

Ringraziamenti

Scritto da Daniel Furman, Jacky Zhao, Vaibhav Kumar, Ed Sioufi e Michele Catasta. Grazie a James Austin, Toby Ho, Preeya Kirani, Zhen Li, Robin Newhouse, Devanshu Sen Pandey, Ibrahim Sheikh, Samuel Spitz, Peter Zhong e al resto del team AI di Replit per il contributo a questo lavoro. Se ti interessa lavorare sull'AI in Replit, il mio team sta assumendo: scrivi a pirroh@repl.it.

Riferimenti

  1. Sul problema del millennio di Navier-Stokes
  2. Presentazione di GPT-6 Astra
  3. Presentazione di Claude Fable 5.1 e Claude Mythos 5.1
  4. DeepSWE v1.1
  5. Terminal-Bench 4.0
  6. L'amara lezione
  7. Idiosincrasie nei Large Language Model
  8. Design Arena
  9. Risultati di Terminal-Bench 4.0, Artificial Analysis
Salva con un clic

Leggi in profondità gli articoli virali con l’AI di YouMind

Salva la fonte, fai domande mirate, riassumi l’argomentazione e trasforma un articolo virale in note riutilizzabili in un unico spazio di lavoro AI.

Scopri YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali