Un linguaggio di programmazione chiamato Bend è balzato in cima a Hacker News questa settimana, ottenendo 278 punti e un dibattito in prima pagina con una presentazione mirata direttamente all'era della codifica dell'intelligenza artificiale: un linguaggio che rende matematicamente impossibile per un agente dell'intelligenza artificiale fornire codice che viola le regole.

Il sito web del progetto descrive Bend come "un linguaggio veloce che blocca gli errori dell'intelligenza artificiale tramite prove", promettendo un'insolita combinazione di caratteristiche: compilazione nativa a velocità C, parallelismo automatico tra core della CPU e GPU compatibili con CUDA, prove formali in stile Lean e sintassi simile a Python. Per maggiori informazioni su questa storia, consulta la nostra notizie sull'IA.

In altre parole, Bend non sta cercando di offrire agli esseri umani un linguaggio migliore da scrivere. Sta cercando di essere un linguaggio migliore da scrivere per gli agenti di intelligenza artificiale, un linguaggio in cui il compilatore stesso fa la guardia.

L'argomentazione: i suggerimenti sono ambigui, le dimostrazioni no

L'inquadramento sulla home page del progetto è insolitamente schietto riguardo alla direzione in cui si sta dirigendo lo sviluppo del software.

"Nell'economia post-AGI, gli esseri umani prima o poi smetteranno di scrivere e leggere codici, ma abbiamo ancora bisogno di un modo privo di ambiguità per dire alle IA che costruiscono il mondo intorno a noi cosa vogliamo che venga fatto", sostiene il sito. "Con le leggi, i nostri intenti possono essere molto più precisi del linguaggio naturale. Con le prove, possiamo verificare che l'intelligenza artificiale abbia implementato correttamente i nostri suggerimenti. E un compilatore veloce lo esegue velocemente."

Questa tesi inverte la solita relazione tra sviluppatore e strumenti. Invece di trattare il codice generato dall’intelligenza artificiale come un output da rivedere riga per riga, Bend chiede all’essere umano di dichiarare le proprietà che devono sempre essere mantenute e fa sì che la macchina dimostri il suo lavoro prima che qualsiasi cosa possa essere unita.

Come funziona LAWS.bend

Il fulcro del progetto è un file chiamato LAWS.bend, in cui gli sviluppatori dichiarano le invarianti che il progetto deve soddisfare. Lo slogan del sito per il concetto: "LAWS.bend è AGENTS.md supportato da prove". Laddove i file AGENTS.md istruiscono gli agenti di codifica AI con regole del linguaggio naturale che possono essere tranquillamente ignorate, le leggi di Bend vengono applicate dallo stesso controllo del tipo.

"Da quel momento in poi, nessuna intelligenza artificiale potrà mai inviare una linea che li interrompa", afferma il sito.

Il file PROOF.bend allegato contiene l'argomentazione verificata dalla macchina che vale per ciascuna legge e, in particolare, che la prova è scritta dall'intelligenza artificiale, non dall'essere umano. Lo sviluppatore afferma ciò che deve essere vero; l'agente costruisce le prove.

Il progetto dimostra l'idea con un gioco in cui una legge dichiara che vincere è impossibile. Nella dimostrazione, una nuova richiesta di funzionalità - "fai avvolgere il tabellone" - introduce un bug che consente al giocatore di vincere. Senza LAWS.bend, il codice difettoso si fonde e il bug diventa attivo. Con LAWS.bend in atto, la modifica viene rifiutata e l'IA deve continuare a riprovare finché non produce un'implementazione dotata di una prova valida. Come dice il sito: "Unire un bug è matematicamente impossibile: è un teorema".

La velocità è il fattore abilitante

La verifica formale è una vecchia idea. Ciò che lo ha tenuto fuori dallo sviluppo quotidiano del software è il costo: assistenti di prova come Lean e Rocq possono impiegare minuti per controllare una base di codice di medie dimensioni, il che è tollerabile per la crittografia o i kernel del sistema operativo ma poco pratico per un agente di intelligenza artificiale che effettua dozzine di modifiche all’ora.

La risposta di Bend è rendere il controllo del tipo stesso un controllo di prova che viene eseguito in un secondo o meno. Il sito afferma che ciò significa che "un agente AI può controllare dopo ogni modifica", trasformando la verifica da una pesante cerimonia di fine progetto in un cancello leggero su ogni singola modifica.

Le prestazioni dichiarate, basate sui benchmark pubblicati sul sito del progetto (eseguito su un Apple M4 Max), sono ambiziose su tutta la linea:

  • Bend viene compilato in codice nativo e viene eseguito "quasi alla stessa velocità di C" su un singolo core.
  • Lo stesso binario si adatta a sedici core o alla GPU, dove il sito dichiara fino a 100 volte la velocità di un singolo core.
  • Il parallelismo è automatico - "nessun thread, nessun blocco, nessun kernel da scrivere" - con il runtime che suddivide il lavoro su ogni core che riesce a trovare e unisce i risultati.

Iniziare è volutamente privo di attriti: uno script di installazione di una riga, più uno snippet da incollare in AGENTS.md che istruisce l'agente a eseguire `bend guide`, mantenere le regole importanti in LAWS.bend ed eseguire `bend PROOF.bend` prima di impegnarsi.

Perché ha risonanza in questo momento

La risposta di Hacker News – centinaia di punti in poche ore – riflette una crescente ansia nella comunità degli sviluppatori. Gli agenti di codifica AI hanno reso la produzione del codice quasi gratuita, ma la sua verifica non è diventata più economica allo stesso ritmo. La revisione del codice, i test e il QA sono ancora fondamentalmente processi a velocità umana, e i team riferiscono sempre più spesso che il collo di bottiglia si è spostato dalla scrittura del software alla fiducia in esso.

La scommessa di Bend è che il problema della fiducia si risolve meglio nella lingua che nel flusso di lavoro. Se il compilatore rifiuta di accettare codice che viola un’invariante dichiarata, il discorso sulla revisione cambia: gli esseri umani smettono di cercare i bug che la macchina ha già escluso e iniziano a concentrarsi sul fatto che le leggi stesse catturino ciò di cui l’azienda ha effettivamente bisogno.

Gli avvertimenti

Come per ogni progetto che si promuove attraverso i propri parametri di riferimento, la verifica indipendente è l’ovvia domanda successiva. I dati sulle prestazioni provengono dal sito web del progetto e la dimostrazione è un esempio volutamente semplice. Le basi di codice del mondo reale hanno uno stato disordinato, sistemi esterni e requisiti che resistono a una formalizzazione precisa: la parte difficile dei metodi formali non è mai stata la dimostrazione, ma la specifica.

C’è anche un ostacolo culturale. Convincere gli sviluppatori umani ad adottare un nuovo linguaggio è notoriamente difficile; convincerli a codificare le regole del loro progetto come leggi controllabili dalle macchine è una domanda ancora più grande, anche se gli agenti di intelligenza artificiale fanno la maggior parte della scrittura.

Ma l’intuizione fondamentale – ovvero che un linguaggio progettato per un’era di codice generato dall’intelligenza artificiale dovrebbe rendere la correttezza una proprietà in fase di compilazione – è una risposta seria a un problema che il settore ora ha su larga scala. Sia che Bend vinca specificatamente questa discussione o che lo faccia qualche successore, la direzione del viaggio sembra chiara: quando le macchine scrivono il codice, i guardrail devono spostarsi all’interno della macchina.

Per ulteriori informazioni sugli strumenti che rimodellano il modo in cui viene creato il software, segui le ultime notizie sull'intelligenza artificiale e la nostra copertura continua dell'ecosistema di sviluppo dell'intelligenza artificiale.

---

Rimani Aggiornato sull'IA

Le ultime notizie, analisi e scoperte sull'intelligenza artificiale — tutto in un posto.

Leggi altre notizie sull'IA →