Una cuoca di trattoria cambia il piatto del giorno ogni mattina, e nessuno le dice come dovrebbe venire. Lo prepara una volta come sa e guarda dove si inceppa. Poi prova due varianti: una cambia il modo di lavorare (assaggiare prima di impiattare), l’altra quello che sa del piatto (questo pesce vuole una cottura breve). Confronta le tre padelle, tiene quello che regge e cucina la versione da servire. La sera non ricopia la ricetta: scrive su un quaderno la lezione, e il motivo. L’indomani il piatto è un altro; lei riparte dal suo modo solito, ma prima sfoglia il quaderno.
È, quasi alla lettera, il procedimento di Harness²: Recursive Agent Harnessing for an Open World, depositato su arXiv il 9 ottobre 2026 (2610.14224) da nove autori: Ruiyao Xu, della Northwestern University, che ha svolto il lavoro in stage a Google Cloud AI Research, e otto ricercatori di quel laboratorio. Al posto della cuoca c’è un modello che corregge l’harness di un agente, cioè tutto quello che sta attorno al modello che lavora. Si può migliorare l’harness del compito di oggi senza sapere quale sia la risposta giusta? E si può migliorare, intanto, il modo in cui lo si corregge?
Che un agente sia la coppia di un modello e del suo harness, e perché due harness si confrontano onestamente solo con lo stesso tempo e la stessa spesa, il libro lo spiega nel capitolo sull’harness engineering.
Leggi «Harness engineering: tutto ciò che non è il modello» nel libro →
Otto file e tre mosse
L’harness, qui, è una cartella di otto file: istruzioni di sistema, vincoli sempre validi, memoria del dominio, indicazioni sugli strumenti, skill caricate a richiesta, script, sottoagenti e un plugin che si inserisce fra le chiamate agli strumenti. Ogni modifica è un diff leggibile da una persona; il modello che esegue resta congelato.
Il passo di base ha tre tempi: Propose, Probe, Compose. L’agente esegue prima il compito con l’harness com’è; questo riferimento mostra come si comporta l’harness, non se il risultato è giusto. Su quella traccia due correttori scrivono due candidati, uno su come lavora l’agente, l’altro su che cosa sa chi fa quel mestiere. Ciascuno gira sullo stesso compito, nelle stesse condizioni, e il confronto con il riferimento dice se ha cambiato il comportamento che voleva cambiare. Un compositore, infine, unisce le modifiche che il confronto sostiene, ne rivede una, ne adotta una sola o tiene l’harness com’era. L’harness composto gira, e il suo lavoro si consegna.
In nessun punto c’è un voto: un controllo rifiuta di passare ai correttori una cartella che contenga un verdetto, una griglia o un punteggio. Con un budget $k$ maggiore di uno il passo si allarga in parallelo ($k$ riferimenti, $2k$ candidati, $k$ composizioni) o si allunga in sequenza, e un selettore sceglie fra i risultati, anonimi.
Il quaderno, non i pesi
Il secondo livello comincia a lavoro consegnato. Un riflessore rilegge il giro e dà a ogni modifica un giudizio: ha aiutato, ha peggiorato, nessun effetto, oppure non attribuibile, l’etichetta da preferire nel dubbio. Poi, se le prove lo sostengono, scrive una lezione. L’harness adottato e un file EXPERIENCE.md, con la situazione a cui la lezione si applica e le prove, entrano in una biblioteca. Il compito dopo riparte dall’harness di partenza, ma i correttori leggono la biblioteca e ne possono copiare o adattare i pezzi. In formula,
$$\mathcal{R}_{t+1} = \mathrm{Update}\big(\mathcal{R}_t,\ \mathcal{H}^\star_t,\ \mathcal{D}_t\big),$$
dove $\mathcal{R}_t$ è l’harness che guida il miglioramento, $\mathcal{H}^\star_t$ quello adottato per il compito $t$ (la stella dice adottato, non migliore) e $\mathcal{D}_t$ il registro del giro.
Qui sta la differenza con Harness Learning, il paper di fine settembre in cui un proposer da 4 miliardi di parametri imparava con il rinforzo a riscrivere l’harness. In Harness² non si addestra niente: pesi dei modelli, istruzioni delle fasi e regola di decisione restano fermi, e quello che impara è una cartella di file. È il registro delle decisioni che il libro raccomanda a chi lavora a turni: il perché di una scelta sopravvive alla sessione solo se qualcuno lo scrive.
Togliere la biblioteca costa 3,1 punti su WorkBuddy-Bench e 1,8 su JobBench. E un correttore che riscrive l’harness a occhio, senza esecuzioni né biblioteca, lo peggiora sulla programmazione (da 73,4 a 63,2) e sulle pagine web, non sui documenti d’ufficio.
Tre banchi di prova da ufficio
WorkBuddy-Bench, di Tencent, chiede programmi, pagine web e documenti d’ufficio (40, 35 e 25 compiti di prova) e conta i controlli superati, in parte automatici, in parte affidati a un modello giudice. JobBench chiede consegne da professionista: 34 compiti di prova su 65, giudicati con una griglia pesata da Claude Opus 4.8. LAB, il Legal Agent Benchmark di Harvey, ha 1.251 compiti legali; se ne usano 100, e si conta la quota di criteri superati secondo Claude Sonnet 4.6. Gli esecutori sono Gemini 3.5 Flash e GLM-5, dentro due agenti di programmazione aperti, OpenCode e Codex; il correttore è Claude Opus 4.8.
I numeri
Un passo solo migliora tutte e dodici le combinazioni. Su WorkBuddy-Bench e LAB guadagna di più GLM-5, il più debole dei due esecutori, che su WorkBuddy-Bench supera così Gemini 3.5 Flash con l’harness di partenza.
| Esecutore e harness | WorkBuddy-Bench media | JobBench | LAB Partial |
|---|---|---|---|
| Gemini 3.5 Flash | |||
| in OpenCode | +5,1 da 72,4 | +4,5 da 31,5 | +2,0 da 79,9 |
| in Codex | +3,0 da 74,5 | +1,4 da 33,9 | +4,0 da 71,6 |
| GLM-5 | |||
| in OpenCode | +11,5 da 64,2 | +3,6 da 20,6 | +11,8 da 59,6 |
| in Codex | +10,9 da 64,4 | +1,2 da 23,6 | +7,8 da 58,1 |
Contro gli altri metodi il margine si stringe. ReasoningBank lascia l’harness com’è e richiama nel contesto strategie tratte dai compiti precedenti; Meta-Harness cerca il miglior harness prima, su compiti di addestramento, e lo usa fisso; Harness Scaling rivede l’harness compito per compito, senza memoria. Per le revisioni tutti usano Claude Opus 4.8.
| Metodo | WorkBuddy-Bench media | JobBench | LAB Partial |
|---|---|---|---|
| Harness di partenza | 72,4 (0,9) | 31,5 (1,1) | 79,9 (0,6) |
| ReasoningBank | 73,4 (2,5) | 30,8 (2,3) | 77,3 (3,1) |
| Meta-Harness cercato prima | 76,4 (0,7) | 35,8 (1,0) | 81,6 (3,9) |
| Harness Scaling | 75,3 (0,7) | 32,9 (3,1) | 78,9 (4,3) |
| Harness², un passo | 77,5 (2,5) | 36,0 (2,3) | 81,9 (0,6) |
| Harness², k = 5 in parallelo solo la media | 80,8 | 39,0 | 84,5 |
I conti da rifare
Il primo è la spesa. Un passo esegue il compito quattro volte (riferimento, due candidati, harness composto) e apre quattro sessioni di Claude Opus 4.8 (due correttori, compositore, riflessore); a $k=5$ diventano venti esecuzioni e diciassette sessioni. Il conto è nostro, sul procedimento descritto. A occhio, dal grafico dei token in scala logaritmica, un passo costa sei-otto volte l’harness di partenza, cinque in parallelo fra trenta e quaranta volte. Lì Harness² sta sulla frontiera di Pareto, e Meta-Harness spende più di Harness² a $k=5$ per guadagnare meno.
Il confronto più vicino alla parità è con la migliore di $k$ esecuzioni dell’harness di partenza, scelta dallo stesso selettore. Sui documenti d’ufficio di WorkBuddy-Bench la migliore di cinque arriva, sempre a occhio, poco sotto 80: dove arriva un passo solo di Harness² (79,5), con quattro esecuzioni. A $k=2$, con otto esecuzioni, Harness² supera già tutte le alternative a $k=5$, su programmazione e ufficio. È la cautela del libro: se insieme all’harness cambia il budget, non si sa più che cosa si sta misurando.
Il secondo conto è il rumore: tre passate su insiemi piccoli, deviazioni standard che per Harness² arrivano a 4,5 punti, nessun test di significatività. Contro Meta-Harness, in tabella, su JobBench lo scarto è di 0,2 punti; su LAB, con Gemini 3.5 Flash in Codex, Meta-Harness resta davanti; e con GLM-5 in OpenCode, ancora su LAB, ReasoningBank, che l’harness non lo tocca mai, arriva a 71,3 contro il 71,4 di Harness².
Il terzo riguarda chi giudica. Su JobBench il giudice è Claude Opus 4.8, lo stesso modello che corregge e compone l’harness e, quando i risultati sono più d’uno, sceglie che cosa consegnare. La griglia non gli viene mai mostrata, ma due istanze dello stesso modello possono avere gli stessi gusti, e un giudice che è a sua volta un modello va misurato come qualunque classificatore. Il paper non ne discute; l’osservazione è nostra.
In appendice gli autori raccolgono nove casi finiti peggio del riferimento. In uno il selettore ha scelto, fra cinque candidati, quello da 55 quando ce n’era uno da 95. In un altro una skill del correttore sosteneva che a una cache bastasse riconoscere l’oggetto, non il contenuto; quattro test su undici chiedevano il contrario, e lo script di verifica, scritto dallo stesso correttore, ha risposto PASS tre volte. Commentano gli autori: un controllo scritto dal correttore non può accorgersi dell’ipotesi del correttore. È il problema di chi può toccare il metro, che un sistema senza risposta giusta si porta dentro. I limiti dichiarati sono due: il costo, e confronti fra esecuzioni sensibili al caso e ai pregiudizi comuni ai modelli.
Restano due avvertenze. Il correttore principale è più forte degli esecutori; con lo stesso modello nei due ruoli (cinque modelli, da GLM-5 a Claude Opus 5) i punteggi salgono comunque sempre, ma da meno di un punto a 13,7 punti. E il procedimento presuppone che un compito si possa rifare più volte prima di consegnarlo: in un contenitore usa e getta va bene, ma un agente che manda una mail o paga una fattura non può farlo quattro volte. Il paper lo dichiara, senza discuterne le conseguenze.
Che cosa c’è in gioco
Harness² sposta l’auto-miglioramento dove una persona può guardarlo. In Harness Learning quello che si imparava finiva nei pesi di un modello; qui finisce in una biblioteca di file, con il motivo accanto a ogni scelta, e una biblioteca nata su JobBench aiuta anche su WorkBuddy-Bench (fino a 2,9 punti sui documenti d’ufficio). Ma il quaderno vale quanto chi lo scrive, un modello che giudica le esecuzioni di un altro senza conoscere la risposta giusta, e i flussi provati sono brevi, al più cento compiti per banco di prova. Il quaderno della cuoca funziona finché è sottile; la domanda aperta è chi lo riordina quando diventa un archivio.
Per approfondire
Il paper: Harness²: Recursive Agent Harnessing for an Open World, arXiv, 9 ottobre 2026, arxiv.org/abs/2610.14224; il codice su github.com/google-research/harness2.
I banchi di prova: Tencent WorkBuddy Bench, JobBench e il Legal Agent Benchmark di Harvey. Harness Learning Enables Generalizable Test-Time Adaptation: arXiv 2609.35738.
Nel Paithon Book: «Harness engineering: tutto ciò che non è il modello», «Lavorare a turni: il passaggio di consegne» e «Finito vuol dire collaudato: la verifica di un lavoro lungo».

I commenti sono riservati agli iscritti.
Accedi per commentare