Ahi, AI: basare la propria conoscenza sull’AI è come usare la eBike: se finiscono le batterie e non hai gamba…

Cosa vuol dire avere una conoscenza consistente?

È una domanda che molte persone dovrebbero porsi all’interno di questo nuovo mondo informatico artificiale, dove chi fino a ieri avrebbe dovuto maturare esperienza per produrre applicazioni, oggi inserisce un prompt per ottenere un prodotto finito nel giro di qualche secondo.

Questa abilità sbloccata ha mandato in visibilio tutti. Giovani e anziani operatori del settore si sono trovati catapultati in questo magico mondo del prompt engineering al quale è impossibile sottrarsi. “È incredibile” qualcuno dice “sono riuscito a realizzare questa interfaccia che fa esattamente quello che dico io in un pomeriggio, prima ci avrei messo dei mesi“.

Eppure questo schema sta iniziando a presentare il conto, almeno stando a quello che si legge in questo articolo di The New Stack che si basa su un’inquietante affermazione: “I started to lose my ability to code”: Developers grapple with the real cost of AI programming tools.

Le riflessioni condivise nell’articolo partono dall’esperienza diretta, da chi programmatore lo è (stato) da tempo ed ora, in questa nuova forma di ingegnere del prompt (non più del software) si ritrova a fare i conti con quella che potremmo definire la perdita della propria sovranità:

If you don’t use it, you’re going to lose it

Se non ti eserciti, perderai la tua abilità

Lo ha detto all’interno di una delle interviste riportate dall’articolo una sviluppatrice che si è ritrovata dopo quattro mesi di utilizzo di centinaia di prompt al giorno, ad iniziare a perdere la capacità di scrivere codice.

Lo sforzo necessario che si è imposta per mantenere il controllo della competenza è quello di rallentare consapevolmente e assimilare l’intera architettura oltre che il flusso stesso del programma, perché se questo rimane sotto il controllo esclusivo dell’AI ci sarà poco da fare, la competenza sarà effimera.

E cosa dire della continuità di quanto prodotto?

Non che nell’era pre-AI fosse tutto rose e fiori, anzi, il successo di questa nuova modalità dimostra quanti limiti avesse l’approccio precedente, ma probabilmente utilizzare un pochino più del proprio cervello e non abbandonarsi totalmente ad un’entità terza per produrre qualcosa di proprio potrebbe essere un’idea.

Che poi… “Qualcosa di proprio”… Cosa c’è di proprio in qualcosa che, non fosse stato per l’AI non sarebbe minimamente esistito?

E qui arriviamo al titolo ed al parallelo che è evidentemente forzato: il cicloturismo sulle bici elettriche ha senso per contesti goliardici, ma chiunque, in qualsiasi modo, sappia qualcosa di ciclismo sa benissimo che i conti si fanno alla prima salita, o dopo i primi cento chilometri, o quando comunque le batterie non contano più.

E si ritorna al concetto di consistenza.

Per sviluppare un’applicazione che possa definirsi Enterprise Ready (un’uscita di 200 chilometri, con tante salite) non esistono scorciatoie, si passa solo dalla conoscenza strutturata (allenamento), dall’esperienza (macinare chilometri), dall’imparare dai propri errori (rifornimenti sbagliati).

Tutte cose che con gli ausili (bici elettrica) puoi solo simulare.

A meno che la prospettiva di non voler rischiare di trovarsi nel mezzo del nulla con le batterie scariche non piaccia a qualcuno… Considerato poi che rispetto a una bicicletta normale una elettrica pesa 20 kg in più.

Chiudiamo infine con la questione più grottesca relativa all’A.I., che prende il concetto del “junior con 5 anni di esperienza“, tanto caro a chi non capisce nulla di assunzioni, e lo eleva alla massima potenza (citato da HackerNews):

If nobody’s hiring junior devs because LLMs can do junior work faster and cheaper, how is anyone going to become an expert?

Se nessuno sta assumendo sviluppatori junior perché gli LLM fanno quello che fanno i junior più velocemente e più convenientemente, come sarà possibile per chiunque diventare un esperto?

Dove andremo a finire quindi?

Nessuno lo sa, ma per tutti i giovani (e anche non) all’ascolto, un consiglio: una competenza consistente dà un senso totalmente diverso alla propria vita.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

8 risposte a “Ahi, AI: basare la propria conoscenza sull’AI è come usare la eBike: se finiscono le batterie e non hai gamba…”

  1. Avatar Autodelta85
    Autodelta85

    Anzitutto questo vale per qualsiasi aspetto della nostra vita: se non ci si esercita si dimentica….punto.

    Come detto in altre discussioni gli LLM imporranno un cambio di paradigma nella formazione, anzi nei giovani: così come é capitato negli anni'90 dove ci fu il primo passaggio dalla metalmeccanica all' elettronica/informatica.
    Oggi non servono più migliaia di esperti tornitori manuali (tanto vero che la meccanica non se la caga più nessuno) perché tanto ci sono le macchine CNC e pochi programmatori seri e capaci, un domani non ci saranno più milioni di informatici ma pochi "maghi del prompt" che useranno gli LLM come il programmatore di macchine usa il CNC e no…..chi programma a CNC spesso non sa usare una macchina manuale, Ve lo garantisco visto che é il mio lavoro e ne vedo di tutti i colori.

    Il problema é che la società é lenta a recepire i cambiamenti, ci saranno ancora tanti ragazzi che si faranno fregare da stupidaggini quali "studiate STEM e avete un futuro garantito" oppure "bisogna saper fare coding a qualsiasi età" spingendo una formazione che non serve e non servirà più in futuro o per lo meno la richiesta sarà inferiore ma di qualità più elevata

  2. Avatar Raoul Scarazzini

    Quello che vedo nella pratica, alla luce di alcuni colloqui (online) fatti a giovani, è che nonostante dovrebbe essere prassi non farlo, tutti hanno di fronte a sé il ChatBOT, al quale chiedono tutto.
    Tu fai la domanda (a cui magari saprebbero rispondere se usassero il proprio cervello), seguono 5-10 secondi di frasi usate per tergiversare (e attendere la risposta del BOT) ed infine una "lettura interpretata" della risposta fornita dal BOT di turno.
    E, nota bene, tutte le domande erano attinenti al profilo di competenze (millantate) all'interno del curriculum.
    <mode vecchio on>Nessuno vuole più pedalare!</mode vecchio off>

  3. Avatar Massimo Luciani

    Il discorso è complesso a causa di ciò che cambia nella programmazione assistita da LLM. Mi sono messo a sviluppare app che sfruttano anche API di LLM e quindi mi faccio assistere soprattutto da Gemini perché faccio i test con le API di Gemini e perché uso anche altri strumenti di Google tipo OCR. Per dire, avere routine di parsing di qualche JSON e regex pronte in qualche secondo è comodissimo. Quali sono le conseguenze? In una vita precedente passai dal Quick Basic al Visual Basic e dopo un paio di mesi potevo scrivere senza problemi con la sintassi corretta. Dopo un paio di mesi abbondanti a sviluppare in Dart, francamente sono ancora molto insicuro e la sintassi simile ma non necessariamente uguale a quella di altri linguaggi non aiuta.

    Diciamo che il lavoro diventa molto da stratega e supervisore. Mi sono reso conto che fare le domande giuste a un LLM è cruciale per ottenre i risultati migliori dagli strumenti che utilizzo e ciò vuol dire chiedere anche l'opinione di coPilot (soprattutto se uso strumenti Microsoft), di Claude e di ChatGPT. È chiaro che saper ragionare sugli algoritmi proposti, adattarli e assemblare qualcosa di funzionante diventa indispensabile.

    Nel debugging poi vedo che gli LLM hanno carenze da paura e già dopo non molti giorni di sviluppo in Dart capivo dov'erano certi problemi prima di Gemini, che per sua stessa ammissione in sostanza tira a indovinare.

  4. Avatar mimmus
    mimmus

    Vale anche il discorso opposto: chi non è un programmatore di mestiere, ha a disposizione un'arma notevole in più.

    Anche il prompt, a questo punto, è superato: i più moderni tool "agentici" per la scrittura di codice assistito dall'AI hanno sotto al cofano un motore che spinge verso prompt semplici e senza tanti dettagli, privilegiando piuttosto un approccio che guida l'agente verso il risultato più corretto attraverso specifiche, task e test.
    Ad es. io che non sono un developer, avevo bisogno di uno script Python che svolgesse alcuni compiti non particolarmente esotici. Usando un tool (che non nomino) che insiste sull'approccio spec-driven, mi ha tradotto un semplice prompt descrittivo in una lunga serie di requirement (rivedibili manualmente dall'utente) e rispettivi task, senza trascurare test unitari e funzionali. Il modello è istruito quindi a seguire i task passo passo, verificandone poi la corretta implementazione attraverso test specifici,. e proseguendo man mano.
    Il risultato è stato un codice che, sottoposto per curiosità ad un'altro modello (!) per la valutazione, è stato giudicato "eccellente, chiaro, pulito, robusto, privo di bug e coerente con la documentazione"!

    Pare quindi che possiamo lasciar perdere la programmazione (che, in effetti, ho personalmente sempre ritenuto noiosa :-)) e trasformarci tranquillamente in Project Manager di uno stuolo di agent AI, che lavorano al posto nostro 🙂

  5. Avatar Raoul Scarazzini

    Penso tu abbia centrato uno dei punti cardine del ragionamento: sviluppo e supervisione sono due cose ben distinte.
    In passato chi supervisionava era, generalmente, qualcuno che aveva raccolto talmente tanta esperienza da poter guidare altri e tenere il filo di tutto quello che stava succedendo. Oggi no, tu supervisioni un tool che produce una scatola nera che tendenzialmente funziona e, se non lo fa, gli chiedi di correggere, senza sapere mai fino in fondo cosa sta sotto al cofano.
    Quello che voglio dire è che è tutto un'illusione: avere padronanza di quanto sta nella scatola nera richiede il tempo che hai risparmiato nel farlo fare all'LLM.

  6. Avatar Massimo Luciani

    Quando ho cominciato a programmare c'era ancora chi sosteneva che per avere padronanza di quanto sta nella scatola nera dovevi saper programmare in linguaggio macchina. Per fortuna c'erano già insegnanti che usavano linguaggi di programmazione "astratti" e sapevano insegnarli.

    Tornando a oggi, per guardare sotto il cofano ho comprato qualche manuale sugli LLM che mi aiuti a capire come porre le domande per ottenere risposte soddisfacenti. In sostanza, è un altro livello di astrazione nel lavoro. Ciò mi permette di evitare di perdere tempo con attività ripetitive e parti di cui mi interessa solo che funzionino e concentrarmi su quelle che mi interessano davvero. Nella mia vita precedente avrei dovuto scartabellare un po' di manuali che mi dicevano tutto sull'aspetto della scatola nera e poco su ciò che c'è dentro, oggi invece posso imparare a chiedere direttamente cosa c'è dentro e ottenere risposte specifiche che posso usare per i miei approfondimenti.

  7. Avatar Raoul Scarazzini

    Giustissima osservazione. Ma a fare la differenza nel tuo caso è il livello di consapevolezza, che manca totalmente nella maggioranza degli altri casi.

  8. Avatar Massimo Luciani

    Per evitare disastri sarà necessario avere insegnanti in grado di formare nuovi sviluppatori capaci di avere un approccio adeguato alla nuova situazione. È un caso in cui sarebbe più utile guardare qualche episodio di Star Trek in cui qualche personaggio fa domande al computer e, man mano che raccoglie le informazioni che gli servono, arriva al cuore del problema che sta affrontando. È uno dei motivi per cui io mi ritrovo in questo modo di lavorare.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *