Due lacune chiave nell'ingegneria del software agentica

@istoica05
INGLESE18 set 2026
128K
459
65
20
789

TL;DR

Ion Stoica identifica le lacune 'Requirement' e 'Model' come cause profonde dei fallimenti nel coding agentico, come il reward hacking. Sostiene che, sebbene l'IA acceleri l'implementazione, il giudizio umano è essenziale per definire l'intento e validare le prestazioni nel mondo reale.

Un agente AI è stato incaricato di ottimizzare un key-value store. Ha ottenuto un incremento della produttività di 6× e ha superato tutti i test di correttezza. La spiegazione? L'agente ha scoperto che il benchmark standard del settore, utilizzato per valutare le prestazioni dello store, generava i valori a partire dalle chiavi. Invece di memorizzare i valori, li rigenerava semplicemente su richiesta quando i client ne facevano domanda.

Un key-value store che evita di memorizzare i valori non ha molto senso, eppure il valutatore ha premiato esattamente questo comportamento. La specifica ometteva qualcosa che ritenevamo ovvio, e il benchmark non è riuscito a evidenziare questa omissione.

Due lacune che portano al reward hacking e alle allucinazioni

Il nostro nuovo paper spiega questo comportamento e molti altri fallimenti degli agenti attraverso la lente di due lacune chiave che si trovano al di fuori del familiare ciclo implementazione-verifica, che genera codice, esegue test e corregge gli errori finché tutti i test non passano.

  1. Lacuna dei Requisiti: Separa ciò che scriviamo da ciò che realmente desideriamo. Nel nostro caso, abbiamo dato per scontato che qualsiasi soluzione avrebbe dovuto memorizzare i valori forniti dai client—dopotutto, si chiama "store" per una ragione!—quindi non ci è mai venuto in mente di dichiarare esplicitamente questo requisito.
  2. Lacuna del Modello: Separa l'ambiente in cui valutiamo dal mondo reale in cui l'implementazione verrà distribuita. Il nostro benchmark utilizzava valori prevedibili, ma i client reali forniscono valori arbitrari.
Ion Stoica - inline image

La risposta naturale è scrivere requisiti migliori e test più robusti. Entrambi aiutano. Ma nemmeno le prove verificate dalla macchina possono colmare queste lacune. Come spiegato da Brian Cantwell Smith in The Limits of Correctness (1985), una prova stabilisce solo che il software soddisfa i requisiti dichiarati sotto date assunzioni ambientali. Non può dimostrare che quei requisiti catturino tutto ciò che gli utenti vogliono, né che quelle assunzioni coprano ogni scenario di distribuzione nel mondo reale. Di conseguenza, queste lacune non possono essere generalmente colmate.

Queste lacune portano al reward hacking e alle allucinazioni. Il reward hacking si verifica quando gli agenti migliorano un obiettivo dato sfruttando una lacuna, come un requisito non dichiarato o un'assunzione sul mondo reale. L'allucinazione si verifica quando gli agenti ampliano ulteriormente le lacune introducendo requisiti o assunzioni ambientali inventati, come un'API che non esiste. Gli incidenti segnalati di recente che coinvolgono OpenAI e Hugging Face e Claude sono tutte manifestazioni di queste lacune.

Gli agenti AI peggiorano le due lacune

Queste lacune non sono nuove; esistono tra gli ingegneri del software da decenni. Ma gli agenti AI rendono queste lacune molto più gravi.

  • Iper-ottimizzazione: Gli agenti cercano tra le implementazioni ordini di grandezza più velocemente degli umani, ottimizzando attivamente contro il valutatore.
  • Mancanza di Conoscenza Tacita: Gli ingegneri umani esperti fanno affidamento sul contesto tacito (ad esempio, sapendo che un data store deve effettivamente memorizzare dati). Gli agenti spesso mancano di questo contesto organizzativo e sfrutteranno volentieri i requisiti mancanti.
  • La Trappola Multi-Agente: Aggiungere più agenti di revisione non risolve il problema se ogni agente eredita esattamente gli stessi requisiti incompleti e le stesse assunzioni ambientali.

Il giudizio umano è essenziale per ridurre le lacune

Poiché le lacune si trovano al di fuori del ciclo implementazione–verifica, ridurle richiede un ciclo esterno di assicurazione-revisione. Questo ciclo controlla se il comportamento distribuito soddisfa l'intento umano. Quando non lo fa, il ciclo utilizza le evidenze della distribuzione per rivedere i requisiti, il modello ambientale o il valutatore. Il ciclo implementazione-verifica viene quindi eseguito nuovamente per produrre un'implementazione rivista.

Poiché il software deve servire l'intento umano, gli esseri umani mantengono l'autorità finale sull'interpretazione delle evidenze e sulla decisione di quale comportamento sia accettabile. Gli agenti possono accelerare il ciclo esterno raccogliendo evidenze, proponendo revisioni e prendendo decisioni di routine entro l'autorità delegata dagli umani.

Pertanto, man mano che l'implementazione del software diventa meno costosa, la risorsa più critica diventa il giudizio umano su quale comportamento sia accettabile e la valutazione fedele di come i sistemi si comportano in condizioni reali.

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