Frontier · The Batch / DeepLearning.AI
Ingegneria dei loop: tre loop chiave per creare software eccezionale
Andrew Ng descrive tre cicli connessi per la creazione di software nativo dell'intelligenza artificiale: il ciclo di codifica degli agenti, il ciclo di feedback degli sviluppatori e il ciclo di feedback esterno.
Questo articolo è tradotto dal testo originale inglese.
Cari amici,
"Loop engineering" è una frase in voga dopo che la sua menzione da parte di Boris Cherny (il creatore di Claude Code) e Peter Steinberger (il creatore di OpenClaw) è diventata virale sui social media. I loop sono ora una parte fondamentale del modo in cui facciamo sì che gli agenti IA iterino a lungo per creare software. In questa lettera, vorrei condividere i miei 3 cicli chiave, mostrati nell'immagine qui sotto, per costruire prodotti 0-to-1. Questi cicli guidano non solo il modo in cui creo il software, ma anche il modo in cui decido quale software creare.

Loop di codifica dell'agente: data una specifica di prodotto e facoltativamente una serie di valutazioni (ovvero un set di dati rispetto al quale misurare le prestazioni), possiamo fare in modo che un agente AI scriva codice, testi il suo lavoro e continui a ripetere finché il codice non è privo di bug e soddisfa le sue specifiche. Questa idea di chiudere il ciclo è decollata verso la fine dello scorso anno e ha rappresentato un punto di svolta nel consentire agli agenti di codifica di lavorare più a lungo in modo produttivo senza l’intervento umano. Ad esempio, durante il fine settimana, stavo creando un'app per consentire a mia figlia di esercitarsi nella digitazione e il mio agente di codifica poteva facilmente lavorare per circa un'ora, utilizzando un browser web per verificare ciò che aveva creato più volte prima di rispondermi, senza bisogno del mio intervento.
Il ciclo di ingegneria viene eseguito rapidamente. Ogni pochi minuti, l'agente di codifica potrebbe creare e testare una nuova versione del software. Sento spesso sviluppatori che stanno trovando nuovi modi per progettare cicli di progettazione più efficaci. Questa è un'area attiva di invenzioni!
Ciclo di feedback dello sviluppatore: In questo ciclo, uno sviluppatore esamina il prodotto corrente e guida l'agente di codifica per migliorarlo. L'anno scorso, molti sviluppatori (incluso me) fungevano da funzione QA (garanzia di qualità) per i nostri agenti di codifica, trovando manualmente i bug e quindi chiedendo all'agente di risolverli. Ma con gli agenti di codifica molto più capaci di testare il proprio codice, la quantità di tempo che dobbiamo dedicare a questa funzione è diminuita in modo significativo. Ciò ci consente di prendere decisioni sui prodotti di livello superiore, ad esempio quali funzionalità chiave offrire, dove è necessario migliorare l'interfaccia utente e così via.
Il ciclo di feedback degli sviluppatori funziona su intervalli di tempo compresi tra decine di minuti e ore: è la frequenza con cui uno sviluppatore potrebbe rivedere un prodotto e fornire feedback. Nel caso dell'app di digitazione, ho cambiato idea alcune volte riguardo al design visivo, ai costumi per gatti che può sbloccare man mano che impara (adora i gatti) e al flusso di utenti affinché un adulto possa accedere e guidare l'esperienza di apprendimento del bambino.
Quando uno sviluppatore ha una visione chiara di cosa costruire, occorre ancora molto lavoro per tradurre tale visione in una specifica da implementare per un agente di codifica. Inoltre, dopo che lo sviluppatore ha visto un'implementazione, potrebbe aggiornare (o forse chiarire) le specifiche per indirizzarle verso ciò che desiderano. Se scopri che il sistema riscontra ripetutamente determinati problemi, diventa utile creare una serie di valutazioni per l'agente.
I team nativi dell'intelligenza artificiale utilizzano sempre più l'intelligenza artificiale per contribuire a definire la direzione del prodotto, ad esempio automatizzando la raccolta e l'analisi dei dati di utilizzo, riassumendo il feedback scritto e verbale dei clienti o eseguendo analisi della concorrenza. Tuttavia, per quasi tutti i prodotti in cui sono coinvolto, ritengo che gli esseri umani abbiano un significativo vantaggio contestuale rispetto agli attuali sistemi di intelligenza artificiale – sappiamo molto di più del sistema di intelligenza artificiale sugli utenti e sul contesto in cui il prodotto deve operare – e quindi gli esseri umani svolgono un ruolo fondamentale. Molte persone descrivono questo contributo umano come “gusto”, ma io preferisco pensarlo come se gli esseri umani avessero un vantaggio contestuale, poiché questo ci offre un percorso più chiaro per aiutare i sistemi di intelligenza artificiale a migliorare. Ciò spiega anche il motivo per cui questo passaggio non può essere automatizzato: finché l'essere umano sa qualcosa che l'intelligenza artificiale non sa, è necessario l'intervento umano per inserire tale conoscenza nel sistema.
Loop di feedback esterno: include un'ampia gamma di tattiche come chiedere feedback ad alcuni amici, lanciarlo agli alpha tester o mettere il codice in produzione con test A/B. Queste tattiche sono generalmente lente, raramente richiedono meno di ore e talvolta richiedono giorni o addirittura settimane. Questi dati informano la visione dello sviluppatore, che a sua volta continua a guidare le specifiche dettagliate del prodotto, che a sua volta guida l'agente di codifica.
Con gli agenti di codifica che accelerano lo sviluppo del software, sempre più ingegneri stanno iniziando a svolgere un ruolo parziale di gestione del prodotto. Per molti ingegneri che stanno crescendo in questo ruolo, la parte più difficile è dare forma alla visione del prodotto e trovare un equilibrio tra la costruzione (colmando il divario tra visione e specifiche) e il feedback degli utenti per evolvere la visione. È importante fare entrambe le cose!
Scriverò di più su come farlo nelle prossime lettere, ma per ora trovo incoraggiante che gli ingegneri svolgano un ruolo più ampio (proprio come i product manager e i progettisti ora si occupano di più di ingegneria).
Continua a costruire!
Andrea
