Immagine AI

Google ha reso disponibile come progetto open source Elephant-Goldfish Model (EGM), un plugin destinato agli ambienti di programmazione assistita da agenti AI che introduce una fase strutturata di progettazione e verifica indipendente prima della generazione del codice. Il sistema è stato sviluppato inizialmente per le attività dei software engineer di Google ed è già utilizzato da migliaia di ingegneri all’interno dell’azienda. Il codice è distribuito con licenza Apache 2.0, insieme a strumenti e documentazione che consentono di personalizzare le regole di verifica e le responsabilità assegnate agli agenti. L’obiettivo è individuare errori nelle specifiche tecniche, dipendenze non considerate e assunzioni progettuali errate prima che vengano tradotte in software funzionante. EGM non costituisce un nuovo modello linguistico e non richiede pesi dedicati, ma opera come componente aggiuntivo negli ambienti di sviluppo già utilizzati dai programmatori.

Il funzionamento si basa sulla separazione tra una sessione persistente, denominata Elephant, e uno o più agenti indipendenti, denominati Goldfish. Elephant conserva il contesto del progetto, le decisioni precedentemente adottate, i requisiti funzionali e le informazioni relative alla struttura del software. In questa fase non produce direttamente il codice applicativo, ma dialoga con lo sviluppatore per definire le scelte tecnologiche e preparare una specifica dettagliata in formato Markdown. Il documento comprende le informazioni necessarie per trasformare le richieste iniziali in una procedura di implementazione. La conservazione del contesto permette di mantenere la continuità progettuale anche durante sessioni di lavoro prolungate, senza costringere il programmatore a ricostruire continuamente i requisiti.

Gli agenti Goldfish operano invece senza conoscere la precedente conversazione attraverso la quale è stata prodotta la specifica. Ricevono soltanto il documento progettuale e i file di riferimento necessari alla revisione. Questa separazione è stata introdotta per evitare che l’agente responsabile della verifica condivida automaticamente le assunzioni e gli eventuali errori compiuti durante la progettazione. Più agenti indipendenti possono esaminare la stessa specifica da prospettive differenti, cercando problemi tecnici, condizioni eccezionali, dipendenze nascoste e parti insufficientemente definite. La verifica è organizzata in cinque livelli e considera la comprensibilità delle specifiche, la correttezza tecnica e la preparazione del progetto per l’implementazione. Un documento che non permetta di ricostruire chiaramente le intenzioni progettuali può essere respinto e restituito alla sessione Elephant per ulteriori modifiche.

Il processo rimane supervisionato dallo sviluppatore, al quale compete la decisione di accettare o respingere le modifiche proposte e di approvare la versione definitiva della specifica. Soltanto dopo questa approvazione il sistema passa alla generazione del codice attraverso gli agenti di programmazione già presenti nell’ambiente di lavoro. EGM comprende inoltre una funzione di drift report, che confronta il codice prodotto con le specifiche approvate per individuare eventuali differenze tra il comportamento implementato e le decisioni progettuali iniziali. Il sistema cerca così di conservare la corrispondenza tra requisiti, progettazione e risultato anche durante le fasi successive dello sviluppo.

Il plugin è compatibile con diversi ambienti agentici, tra cui Antigravity, Claude Code, Codex e ChatGPT, utilizzando i modelli e le quote di token già disponibili per gli utenti. La possibilità di eseguire revisioni indipendenti dipende dal supporto dell’ambiente alla creazione di agenti separati dalla sessione principale. Google non presenta EGM come prodotto commerciale ufficialmente supportato e non ha ancora pubblicato benchmark che quantifichino in modo indipendente la riduzione degli errori ottenuta grazie al plugin. L’approccio è stato sviluppato anche per contrastare il deterioramento progressivo del contesto nelle conversazioni molto lunghe, nelle quali requisiti iniziali e decisioni tecniche possono perdere precisione durante la generazione iterativa del software.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy