Chris Lattner, amministratore delegato della startup di software per l'IA Modulare, ora vicepresidente esecutivo dell'ingegneria del software presso Qualcomm, ha messo in guardia le aziende di chip dal sopravvalutare ciò che la generazione di codice con l'IA può offrire. In un'intervista a EE Times, Lattner ha tracciato una distinzione tra il far girare rapidamente un kernel e il costruire un'infrastruttura software su cui si possa fare affidamento.
L'IA come strumento, non come sostituto
Lattner ha descritto gli agenti di programmazione come uno strumento da impiegare in modo appropriato, osservando che, secondo la sua esperienza, producono grandi quantità di codice usa e getta. Per questo motivo ha sconsigliato di utilizzare gli agenti per generare ogni parte di un prodotto.
La generazione di codice agentica si adatta a progetti ben definiti e di portata limitata, come l'ottimizzazione di un singolo kernel, perché tale lavoro può essere misurato e validato. Iniziative più ampie, al contrario, richiedono progettazione di prodotto e ingegneria del software e non possono essere delegate agli agenti.
Critiche e sfide
Lattner ha segnalato questioni irrisolte riguardo alle dichiarazioni sulle prestazioni fatte da alcune aziende di primo piano per software di basso livello generato dall'IA, tra cui il costo di generare grandi volumi di codice e la questione se tali metodi si applichino a problemi ampi e aperti.
Ha detto di aver sentito parlare di aziende hardware che affermano di non credere più nel software e di voler fare affidamento sugli agenti per tutto, pur continuando a usare LLVM e a investire nei compilatori, creando un divario tra la loro posizione pubblica e la loro pratica effettiva.
Scrivere codice di basso livello performante per nuovo hardware è da tempo difficile per le aziende di chip, e alcune ora si rivolgono agli agenti per questo compito. Lattner ha affermato che la generazione di codice agentica viene talvolta usata come argomento di facciata, in particolare da aziende il cui software è noto per essere problematico, e che affermazioni straordinarie richiedono prove straordinarie.
L'importanza dell'ingegneria del software
L'IA può aiutare a far funzionare una dimostrazione, ha detto, ma questo è diverso dal produrre uno stack software utilizzabile, con determinismo e adattabilità. Ha individuato nella comprensione dei requisiti di prodotto, nella narrazione di marketing e nel product-market fit le parti durevolmente difficili del costruire un'azienda o un prodotto.
In Modular, i team usano la generazione di codice agentica per portare il codice PyTorch nel framework IAMaxdell'azienda e per portare il codiceCUDAnel suo linguaggio di programmazioneMojo. Lattner ha descritto il porting del codice e la specializzazione di software esistente, come l'ottimizzazione di un kernel matmul per una specifica dimensione di matrice, come casi d'uso validi, perché gli agenti possono eseguirli rapidamente ed efficientemente.
Impatto sui progetti open source
Lattner ha individuato nei progetti open source i più esposti agli aspetti negativi della generazione di codice con l'IA, affermando che progetti come LLVM sono sotto attacco. Prima dell'IA generativa, i contributori erano motivati dalla soddisfazione di trovare e risolvere problemi, spesso in software che usavano essi stessi, e i manutentori esaminavano i contributi insegnando ai nuovi arrivati le sfumature della base di codice, un investimento che, ha detto, migliorava il codice.
Quel modello ora è rotto, ha affermato, perché le persone generano grandi quantità di patch e le inviano a molti progetti, sopraffacendo i manutentori con materiale generato dall'IA. L'ondata aumenta il carico di lavoro dei manutentori e, poiché chi invia spesso non si impegna, l'investimento non produce futuri manutentori ma piuttosto persone che se ne vanno o che indirizzano gli agenti a inondare i progetti nella ricerca di badge GitHub.
Ha detto che si tratta di un problema importante e che molti progetti hanno smesso di accettare contributi. Alcuni progetti, tra cui LLVM, hanno valutato l'ipotesi di lavorare solo con contributori consolidati, una risposta che Lattner ha definito terrificante.
Il futuro dell'IA e del software
Lattner si aspetta che le condizioni si stabilizzino man mano che gli strumenti di revisione del codice basati sull'IA migliorano e alleggeriscono parte del carico, anche se ha detto che la revisione del codice è difficile da automatizzare completamente perché richiede giudizio.
Per le startup prive delle risorse necessarie a costruire uno stack software all'avanguardia, Lattner prevede di aprire Max avviando un'alleanza per i produttori di hardware, con un lancio previsto intorno alla fine dell'anno. Ha detto che l'alleanza consentirà alle aziende di chip di usare software a cui prima non avevano accesso.
Lattner ha detto che gli agenti di programmazione possono risolvere per un kernel specifico su un chip specifico, ma i data center complessi, disaggregati ed eterogenei richiedono orchestrazione, scalabilità e gestione affidate al software. Ha detto che Modular sta costruendo questo da quattro anni e mezzo e che ora altri potranno usarlo e scalarlo autonomamente.
Ha detto che l'alleanza si inserisce nel piano di Qualcomm per Modular, con l'obiettivo di un ecosistema aperto che consenta al suo chip per data center di competere per i propri meriti. Secondo Lattner, Qualcomm comprende di non poter superare Nvidia e si aspetta che molti attori contribuiscano in diverse parti della catena del valore all'interno di un ecosistema aperto.
