Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Perchè le IA non sostituiranno i programmatori (probabilmente)

Chiariamo: non posso fare previsioni certe sul futuro. Nessuno può farne. Si rischia di diventare ridicoli, di essere sbertucciati in futuro dal vituperatissimo “popolo del web”. Tuttavia, possiamo fare alcune riflessioni sul rapporto tra programmatori e intelligenza artificiale (IA), provando a non esacerbarlo e a non immaginare per inerzia scenari modello Terminator anche per il rapporto tra aziende e programmatori informatici.

È probabile che l’IA continuerà a evolversi e a influenzare il lavoro dei programmatori nel tempo, ma ciò non significa che i programmatori diventeranno obsoleti. Piuttosto, potrebbero essere richieste nuove competenze e adattamenti nel campo della programmazione per sfruttare appieno il potenziale dell’IA.

Perchè le IA (non) sostituiranno i programmatori

È vero che l’IA sta avanzando rapidamente in molti campi, inclusa la programmazione stessa. Esistono già strumenti che automatizzano alcune attività di programmazione, come la generazione automatica di codice o la correzione di errori comuni. Questi strumenti possono migliorare l’efficienza e la produttività dei programmatori, e in larga parte già lo fanno. I programmatori hanno un compito complesso, di per sè: progettare soluzioni, farle funzionare, mantenerle nel tempo, renderle comprensibili ai futuri colleghi (si spera).

È chiaro che i programmatori rimangono essenziali per lo sviluppo e il mantenimento dei sistemi basati sull’IA, quindi in parte la risposta è già insita nella domanda, e pensare il contrario è come pensare che i meccanici siano sostituiti dalle automobili che riparano. L’IA richiede un’intensa attività di programmazione per essere ideata, progettata, addestrata e integrata in diverse applicazioni: i programmatori sono tra i principali responsabili della scelta degli algoritmi, della raccolta e preparazione dei dati, nonché della validazione e del miglioramento continuo dei modelli di intelligenza artificiale.

Il processo è comunque supervisionato da uno o più umani, e la maggioranza delle IA sono e rimangono supervisionate. Inoltre, i programmatori svolgono un ruolo fondamentale nell’interpretazione e nell’applicazione dei risultati prodotti dall’IA. Nonostante l’avanzamento dell’IA, è necessaria la competenza umana per comprendere il contesto, valutare l’affidabilità dei risultati e prendere decisioni informate basate sui dati. Mentre l’IA può automatizzare alcune attività di programmazione, i programmatori avranno ancora un ruolo cruciale nello sviluppo, nell’implementazione e nell’applicazione dell’IA. La collaborazione tra l’intelligenza artificiale e i programmatori umani potrebbe portare a risultati più potenti ed efficaci di quanto sia possibile con uno o l’altro da solo.

Le IA possono programmare (entro certi limiti)

È vero che con lo sviluppo accelerato delle intelligenze artificiali, potrebbe verificarsi un impatto significativo sul lavoro dei programmatori. Alcune attività di programmazione più semplici e ripetitive potrebbero essere automatizzate in modo più efficace dalle IA, questo sembra fuori discussione. Il codice pero’ va organizzato, mantenuto, gestito nel tempo, eventualmente riutilizzato.

Tuttavia, ci sono ulteriori ragioni per cui i programmatori continueranno a svolgere un ruolo importante nonostante l’avanzamento delle IA:

  1. Non tutte le attività di programmazione sono facili da automatizzare. La programmazione richiede una comprensione approfondita dei requisiti del software, dell’architettura del sistema e delle logiche complesse.
  2. La risoluzione dei problemi e il pensiero creativo sono spesso necessari per affrontare sfide complesse che vanno oltre la semplice automazione.
  3. La programmazione non si limita solo a scrivere codice. I programmatori sono responsabili della progettazione dei sistemi, dell’architettura dei software e dell’implementazione di soluzioni innovative, oltre alla capacità di gestire e correggere i bug. Questi aspetti richiedono creatività, conoscenza dei domini specifici e competenze tecniche avanzate che vanno oltre la semplice scrittura di codice.
  4. Anche se una parte dell’attività di sviluppo potrebbe essere automatizzata, il mantenimento e il debugging dei sistemi richiedono ancora una competenza umana. Gli errori possono verificarsi in situazioni impreviste e richiedono analisi, correzione e testing da parte dei programmatori per garantire il corretto funzionamento del software.
  5. Le IA possono fornire risultati e suggerimenti, ma la comprensione e l’interpretazione di tali risultati richiedono ancora la competenza umana. I programmatori devono essere in grado di valutare la validità degli output dell’IA, considerare il contesto e prendere decisioni informate basate sui dati.

In definitiva, mentre le IA possono automatizzare alcune attività di programmazione, i programmatori continueranno a svolgere un ruolo cruciale nell’affrontare sfide complesse, nella progettazione di sistemi innovativi e nella gestione dei processi di sviluppo e manutenzione del software. La collaborazione tra programmatori e IA può portare a risultati migliori e più efficienti, piuttosto che sostituire completamente i programmatori stessi.

Per usare una IA per programmare devi saper formulare la domanda

C’è anche in ballo la difficoltà forse più sottovalutata di tutte: per usare una IA per programmare devi saper formulare la domanda. molti programmatori non è detto che sappiano farlo (senza offesa, s’intende).

Punto essenziale, a mio avviso: l’interazione con un sistema basato sull’IA richiede la capacità di formulare domande e specificare correttamente i requisiti. Anche se l’IA può fornire suggerimenti e assistenza nella scrittura del codice, è necessario comunicare in modo chiaro ciò che si desidera ottenere affinché l’IA possa rispondere in modo appropriato.

La capacità di formulare domande efficaci è una competenza chiave per i programmatori che lavorano con l’IA. Richiede una buona comprensione dei concetti di programmazione, della logica e degli algoritmi, nonché una conoscenza del dominio specifico in cui si sta lavorando. E non tutti sono attrezzati in tal senso.

Inoltre è importante sottolineare che la capacità di formulare domande efficaci può essere sviluppata e migliorata nel tempo. I programmatori possono apprendere nuove tecniche di interrogazione e migliorare le proprie competenze comunicative per interagire in modo più efficace con i sistemi basati sull’IA. Tutti (?) i futuri progressi nella progettazione delle interfacce utente potranno semplificare l’interazione con le IA, consentendo ai programmatori di utilizzare strumenti e linguaggi più intuitivi per comunicare con i sistemi di intelligenza artificiale. Ma la capacità di formulare domande in modo efficace è un aspetto importante per utilizzare le IA per programmare, e sarà questo a “fare muro” indirettamente perchè le IA non sostituiranno i programmatori.

La questione della privacy

L’uso di IA proprietarie e chiuse come ChatGPT pone il problema dei dati che i programmatori farebbero trapelare. le aziende potrebbero non essere d’accordo e bloccare le IA preventivamente, o vietarle per policy.

Hai sollevato un’altra questione significativa riguardante l’uso di IA proprietarie e il problema potenziale della gestione dei dati da parte delle aziende. È vero che molte aziende possono essere caute nell’adottare IA proprietarie o chiuse a causa delle preoccupazioni sulla sicurezza dei dati sensibili o sulla violazione della privacy. Le aziende spesso definiscono politiche e linee guida riguardo all’uso dei dati e potrebbero limitare l’accesso alle IA o imporre restrizioni sull’utilizzo di determinate tecnologie. Questo potrebbe comportare la necessità di passare attraverso processi di approvazione o di ottenere il consenso dell’azienda per l’uso di IA.

Mentre strumenti come GitHub favoriscono la collaborazione e la condivisione del codice, ci possono essere casi in cui le aziende desiderano mantenere segrete le proprie soluzioni o proteggere la loro proprietà intellettuale. Tuttavia è importante notare che esistono anche soluzioni basate su IA open source e comunitarie, che promuovono la condivisione dei dati e del codice sorgente. Queste soluzioni possono aiutare a superare le restrizioni imposte dalle IA proprietarie e consentire ai programmatori di lavorare in modo collaborativo e aperto, personalizzandole e tenendole al sicuro nei rispettivi server.

Le IA che programmano possono filtrare progetti informatici assurdi o malposti

Se un imprenditore vuole progettare l’ennesima startup e non ha le idee chiare, la IA può schermare richieste di programmazione con requisiti assurdi o disfunzionali

È possibile che, in alcuni casi, la IA possa schermare richieste di programmazione con requisiti insoliti o poco pratici se non vengono fornite istruzioni chiare e specifiche. L’IA può essere addestrata su dati esistenti e modelli predefiniti, ma se le richieste del cliente restano ambigue, assurdamente ambiziose o poco chiare, l’IA potrebbe comunque produrre risultati incoerenti o non adeguati. Con il vantaggio di averlo fatto senza far sbattere la testa al povero ennesimo programmatore sottopagato.

E vi lamentate? :-)

Ecco perchè – ulteriore perchè – i programmatori continueranno a servire a lungo, peraltro. Quando un cliente ha idee vaghe o poco chiare per una startup, può essere utile coinvolgere esperti di dominio o consulenti tecnici per affinare e tradurre tali idee in requisiti di programmazione più concreti. Questo aiuterà a fornire indicazioni chiare all’IA o ai programmatori umani sulle aspettative e sugli obiettivi del progetto. Inoltre, i programmatori umani possono svolgere un ruolo importante nel comprendere le richieste del cliente, fare domande di approfondimento e fornire una consulenza tecnica sulla fattibilità e sulle migliori pratiche. La collaborazione tra programmatori e clienti è essenziale per tradurre le idee in requisiti realistici e realizzabili.

L’utilizzo di tecniche di progettazione partecipativa, come workshop o sessioni di brainstorming, può aiutare a stabilire un dialogo aperto e iterativo con il cliente per affinare le idee e sviluppare requisiti di programmazione più solidi. In questo modo, si può evitare che la IA produca risultati basati su requisiti ambigui o poco pratici. (immagine di copertina: DALL-E)

👇 Da non perdere 👇



Questo sito esiste da 4476 giorni (12 anni), e contiene ad oggi 8412 articoli (circa 6.729.600 parole in tutto) e 15 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.