Chiosa
IT
Software & Code

I test rivelano lacune nei modelli che costruiscono software per agenti

Doc2Harness: Benchmarking LLMs on Long-Horizon Harness Engineering of Coding Agents · arXiv:2610.20344

4 min
Aggiornato
The three test case synthesis methods.
The three test case synthesis methods.Figure 3 · Doc2Harness: Benchmarking LLMs on Long-Horizon Harness Engineering of Coding Agents · Yuyao Ge et al. · CC BY 4.0

In parole semplici

Doc2Harness verifica se un modello linguistico sa costruire il software che circonda un agente di programmazione. Questo software, chiamato harness, gestisce gli strumenti, i permessi, lo stato salvato della sessione e il recupero dagli errori.

Il modello costruisce un candidato; poi un modello simulato tramite script mette alla prova il risultato congelato in sessioni di test. Nello studio su 19 modelli, anche gli harness del modello con il punteggio più alto hanno fallito in media molti test comportamentali, considerando tre build.

La misura riguarda il comportamento del software costruito, non il successo in attività di programmazione reali.

La ricerca

Quando i test sugli agenti di programmazione mantengono fisso il software circostante, lasciano senza risposta una domanda concreta: un modello sa costruirlo bene? L’harness gestisce gli strumenti, il contesto, i permessi, lo stato della sessione e il recupero dagli errori: tutti elementi che influenzano ciò che l’agente può fare. Doc2Harness rende verificabile questa capacità di costruzione.

Doc2Harness è un test in due fasi: i modelli costruiscono harness per agenti di programmazione, poi sessioni guidate da script misurano la quota di test comportamentali superati da ciascun build congelato.

Ogni modello ha costruito tre candidati a partire da un documento di sviluppo e da uno scheletro con sole interfacce. Un modello simulato tramite script ha guidato ciascun candidato congelato in sessioni di test, mentre le verifiche ne hanno controllato il comportamento. Il tasso di superamento indica la quota di casi superati, esclusi i controlli positivi.

Tra 19 modelli, i candidati di GPT-6 Astra hanno raggiunto in media un tasso di superamento del 53.05%, contro il 27.44% di quelli di Hy3, su 328 casi e tre build.

Questa dispersione, insieme ai fallimenti anche del modello in testa, sostiene la conclusione degli autori che la suite è riuscita a distinguere i modelli valutati senza saturarsi.

I candidati sono stati congelati dopo un controllo della forma, quindi i punteggi non indicano se i modelli avrebbero potuto migliorare un harness usando riscontri sul comportamento.

I test erano guidati da un modello simulato tramite script, perciò non misurano il successo in attività di programmazione reali.

Cosa mostrano le prove

  • Una capacità finora non verificata

    Doc2Harness è un benchmark in due fasi per verificare se i modelli linguistici di grandi dimensioni sanno costruire il software che circonda gli agenti di programmazione. Il punteggio è la quota di test comportamentali superati da ciascun harness prodotto, una misura indiretta della capacità del modello di costruirlo.

    In genere, i test sugli agenti mantengono fisso questo software e misurano il completamento delle attività, senza verificare la capacità di costruirlo.

  • Costruire partendo dai documenti sul comportamento

    Durante la costruzione, un modello lavora in un ambiente fisso e riceve un documento di sviluppo che descrive il comportamento del candidato, oltre a uno scheletro iniziale con le interfacce ma senza implementazioni. Scrive un candidato completo in un contenitore isolato.

    Un controllo della forma verifica che il candidato compili e si installi, includa comandi e interfacce richiesti e non contenga segnaposto; non esegue test comportamentali. Il candidato che supera il controllo viene congelato.

  • Testare sessioni complete guidate da script

    Nella seconda fase, un modello simulato tramite script guida ciascun harness congelato in una sessione completa per ogni caso di test. Le verifiche esaminano le richieste inviate al modello, i file su disco, il codice di uscita del processo e l’output dei comandi.

    Alcuni casi includono controlli positivi, che verificano se il comportamento e i suoi effetti sono osservabili. Se un controllo fallisce, fallisce anche il caso collegato; i controlli non entrano nel denominatore del tasso di superamento.

  • I punteggi mostrano un’ampia dispersione

    Gli autori hanno valutato 19 modelli di frontiera di 11 fornitori, costruendo tre candidati indipendenti per modello e assegnando loro un punteggio su 328 casi di test. Il tasso di superamento è la quota di casi superati, esclusi i controlli positivi dal denominatore; il tasso di ciascun modello è la media dei suoi tre build.

    GPT-6 Astra è arrivato al 53.05%, contro il 27.44% di Hy3, quindi i candidati del modello in testa hanno fallito quasi la metà dei casi. La dispersione indica che la suite ha distinto i modelli valutati senza saturarsi.

  • La classifica complessiva nasconde variazioni

    L’ordine complessivo non si mantiene in ogni parte della suite. Nelle sei categorie principali, ciascuna con almeno 20 casi, le posizioni dei modelli sono cambiate fino a 16 posti.

    GPT-6 Astra è arrivato primo in quattro categorie; Grok 4.7 e Qwen3.8 Max hanno guidato le altre due. Poiché le categorie contengono casi diversi e hanno dimensioni diverse, questi cambiamenti qualificano la classifica complessiva ma non isolano le capacità specifiche di ciascuna categoria.

  • Più moduli si accompagnano a punteggi inferiori

    Un’analisi separata del codice sorgente ha riguardato i 57 harness candidati valutati. Tenendo statisticamente conto delle righe di codice, gli autori hanno rilevato una correlazione parziale di −0.423 tra numero di moduli e tasso di superamento.

    Ripetendo l’analisi a turno senza ciascun modello, l’associazione è rimasta negativa, tra −0.484 e −0.309. In questo insieme, un numero maggiore di moduli tendeva ad accompagnarsi a punteggi più bassi, ma l’analisi non dimostra che il numero di moduli abbia causato la differenza.

Dettagli