Hai un'idea per uno strumento utile, ma il problema è che per realizzarlo devi imparare una nuova lingua di programmazione, un framework o un software stack. E se potessi semplicemente spiegare cosa vuoi costruire e lasciare che l'IA si occupi della maggior parte del lavoro di programmazione?
È proprio questo il concetto alla base di The Maker’s Guide to AI Coding, un nuovo libro di Elektor scritto dall'ingegnere e pedagogo Peter Dalmaris. Invece di insegnare una lingua di programmazione dopo l'altra, il libro si concentra su come i maker possono collaborare con gli assistenti di coding con intelligenza artificiale per trasformare le loro idee in software funzionante, mantenendo comunque la comprensione e il controllo di ciò che viene costruito.
L'IA può scrivere il codice, ma puoi fidarti di esso?
Ottenere del codice da un assistente di intelligenza artificiale è semplice. Sapere se questo codice è effettivamente corretto è un'altra questione. Dalmaris considera la programmazione assistita dall'IA come una collaborazione e non come un modo per delegare l'intero processo di sviluppo. Il libro presenta cinque livelli di delega, da una domanda mirata all'IA a un agente di coding autonomo che gestisce un intero progetto. Gli utenti imparano quando è opportuno delegare, quando devono verificare il risultato e quando devono mantenere il controllo sul lavoro.
Qui i maker hanno un vantaggio interessante. L'elettronica fornisce numerosi punti di riferimento reali per verificare il software generato dall'IA. Un filtro ha un comportamento noto, un valore del sensore si muove in un intervallo plausibile e un foglio dati mostra come dovrebbe comportarsi un componente. L'obiettivo non è solo ottenere un codice che funzioni, ma capirlo così bene da sapere se fa anche la cosa giusta.
Il primo progetto: un analizzatore di filtri RC
Il primo progetto rende concreta questa idea. Con un browser e un assistente di intelligenza artificiale basato su chat, i lettori creano un analizzatore interattivo di filtri RC passabasso. Dopo aver inserito resistenza e capacità, lo strumento risultante calcola la frequenza di taglio e rappresenta graficamente la risposta in ampiezza.
Nel primo progetto, con l'aiuto dell'IA, viene creato un analizzatore di filtri RC passabasso basato su browser con un diagramma di Bode interattivo.
Dal plotter Arduino all'assistente per fogli dati
Da qui, i progetti diventano sempre più complessi. La seconda costruzione dovrebbe essere familiare a chiunque lavori con microcontrollori: un plotter live per dati seriali. Un Arduino invia valori di temperatura, umidità e luce tramite l'interfaccia USB, mentre un server Python e un'interfaccia browser convertono i valori in arrivo in diagrammi in tempo reale.
Con questo progetto viene presentato anche un flusso di lavoro di sviluppo completo assistito dall'IA. Invece di iniziare direttamente con il codice generato, i lettori seguono i passaggi di brainstorming, specifica, implementazione, test, iterazione, documentazione, distribuzione e manutenzione.
Il flusso di lavoro a otto fasi utilizzato nel libro porta un'idea dal brainstorming e dalla specifica all'implementazione e ai test, fino alla distribuzione e alla manutenzione.
Dall'idea all'applicazione completa
Nel terzo progetto, l'IA va oltre il ruolo di assistente di coding e viene direttamente integrata nell'applicazione finale. I lettori sviluppano uno strumento di domanda e risposta per fogli dati basato su Retrieval-Augmented Generation (RAG). Caricando il foglio dati di un componente e ponendo domande, ad esempio sulla tensione di alimentazione massima o sulla configurazione di un'interfaccia, l'applicazione trova le informazioni appropriate e indica la loro fonte, in modo che la risposta possa essere verificata.
Nell'ultimo progetto, l'ambito cambia nuovamente in modo significativo. I lettori sviluppano un sistema di prenotazione multiutente per un laboratorio condiviso, uno spazio maker o un laboratorio di elettronica. I membri possono registrarsi, cercare risorse e prenotare attrezzature o spazi, mentre l'applicazione gestisce aree come l'autenticazione, i database, i servizi esterni, i compiti in background, il rilevamento di conflitti e più organizzazioni.
Questo aumento è intenzionale. Con ogni progetto, l'IA assume più responsabilità, mentre i lettori devono prendere decisioni sempre più importanti riguardo a specifica, test, architettura e verifica.
Nessuna conoscenza avanzata di programmazione necessaria
Non sono necessarie conoscenze avanzate di programmazione per iniziare. Il libro introduce il processo dall'inizio e i progetti utilizzano Python e JavaScript come strumenti pratici, senza richiedere una conoscenza fluente di una delle due lingue. Non è nemmeno necessaria alcuna hardware speciale o licenze software costose.
In definitiva, The Maker’s Guide to AI Coding riguarda meno l'apprendimento del prompting corretto e più la collaborazione con un'IA. Chi ha un'idea per uno strumento in cui la programmazione era finora l'ostacolo tra l'idea e il progetto finito, qui trova un'introduzione pratica.
The Maker’s Guide to AI Coding è disponibile nel negozio Elektor.
