L’intelligenza artificiale accetterà lavori di programmazione o trasformerà i programmatori in manager dell’intelligenza artificiale?
Con la programmazione si codifica. Con l'intelligenza artificiale si contratta.
Prima degli ultimi dieci anni circa, quando lavoravo principalmente come consulente, esperto e editorialista a tempo pieno, ero un manager. All'inizio della mia carriera sono stato un dirigente del marketing di prodotto e più tardi un editore. Per anni ho avuto persone che mi riferivano direttamente.
Ho gestito redattori, venditori, programmatori, team di produzione e altri dirigenti.
Vuoi sapere una delle cose migliori della mia carriera da bis? Nessun rapporto diretto. Non devo gestire nessuno.
Le persone che non sono state manager pensano che i capi passino il loro tempo scaricando il lavoro sui subalterni e semplicemente comandando la gente. I manager sanno che la realtà è che passano tantissimo tempo semplicemente cercando di convincere le persone che lavorano per loro a svolgere le loro mansioni lavorative come indicato.
Parte di ciò ricade sul manager, che può o meno dare istruzioni chiare. Ma una pari quantità di questa sfida ricade sui rapporti diretti che interpretano male le istruzioni, seguono passivamente-aggressivamente le indicazioni alla lettera (questa è stata la mia vendetta sul karma, perché ho fatto questo ai miei capi), o semplicemente hanno bisogno di essere negoziati per fare quello che ha bisogno di essere fatto.
Fa parte del motivo per cui mi piace così tanto programmare. Con la programmazione, anche il computer farà esattamente quello che gli dici di fare. Esattamente. Naturalmente la precisione con cui un programma segue le istruzioni spesso porta a bug, soprattutto al primo tentativo. Ma va bene così, perché qualunque cosa faccia di sbagliato è da qualche parte lì, proprio nel codice.
Potrebbe essere una sfida trovare l'algoritmo giusto o tradurre l'algoritmo e le strutture dati nella tua testa in un codice funzionante, ma il codice è codice. È coerente e ragionevolmente prevedibile.
Poi c'è l'intelligenza artificiale. Dare istruzioni a un'intelligenza artificiale come ChatGPT è molto più simile a gestire un programmatore che a programmare. Tutto è soggetto a interpretazione e negoziazione. Sì, puoi ottenere risultati e talvolta puoi ottenere risultati che non avresti potuto ottenere senza molta codifica, ma c'è ancora un certo grado di contrattazione, negoziazione, riformulazione delle richieste e tentativo dopo tentativo di farlo bene.
Puoi dare un prompt a un'IA due volte e restituirà due risultati diversi. A meno che il tuo codice non abbia una sorta di funzione di randomizzazione o un bug serio, puoi eseguirlo due volte e restituirà esattamente gli stessi risultati.
L’intelligenza artificiale accetterà lavori di programmazione?
Ho riflettuto a lungo su questa domanda, soprattutto alla luce di alcuni scritti rapidi che ho scritto questo fine settimana mentre lavoravo a un articolo sulla scrittura rapida avanzata. In quell'articolo, ho provato a fare in modo che ChatGPT risolvesse un problema molto semplice e mi ci sarebbero volute ore e più di 20 tentativi tempestivi per farlo funzionare in modo affidabile. La richiesta era:
Parola simile a devovolve che inizia con la B
ChatGPT continuava a darmi risposte che iniziavano con una "D", sembrando pienamente fiducioso nelle sue risposte. Quando ho fatto notare che le parole restituite non iniziavano con una "B", si è scusato e ha commesso lo stesso errore. Ancora e ancora e ancora. Mi sentivo come se stessi parlando con un dipendente particolarmente testardo, cercando di convincerlo a capire cosa volevo che facesse.
C'è stato un tempo in cui gestivo alcuni venditori che vendevano per telefono. È stato chiesto loro di chiamare un elenco di potenziali clienti abbastanza caloroso e di presentare i nostri servizi. Ho fornito loro una descrizione esatta di come presentare i nostri servizi, ma abbiamo avuto un venditore che si è rifiutato di attenersi al copione.
Pertanto, alcune delle persone che ha chiamato si sono trasformate in contatti interessanti... finché non abbiamo incontrato i potenziali clienti, solo per scoprire che avevano un'idea sbagliata sui servizi che offrivamo. Le piaceva di più la sua descrizione perché rendeva più facile ottenere appuntamenti.
Ma non si trattava di fissare appuntamenti. Si trattava di fare vendite. Non veniva nemmeno ricompensata per fissare gli appuntamenti, ma non aveva importanza. Le piaceva di più.
ChatGPT è così. Dopo aver passato qualche ora cercando di fargli restituire una parola che inizia con una B, sono arrivato al punto in cui avrei voluto urlargli contro: "Bene, cosa ci vorrebbe per convincerti che la parola DEVOLVE inizia con la D?"
Non stavo programmando. Stavo negoziando. Ho passato buona parte della mia domenica a contrattare con un robot, pensando nel frattempo: "Quindi questo è progresso?"
Sono sempre stato affascinato dall'intelligenza artificiale e siamo al punto in cui la tecnologia è vicina a ciò che sognavo diventasse. Ho lavorato con l'intelligenza artificiale e le implicazioni dell'intelligenza artificiale già durante la mia tesi al college. Eppure, dopo qualche ora, mi è venuta voglia di sbattere la testa contro il muro. Avrei voluto urlare a squarciagola e strapparmi i capelli.
Quindi è stato molto simile alla gestione di alcuni dei rapporti diretti che ho avuto nel corso degli anni - e, se devo essere onesto, molto simile a come si sentivano i miei capi nel gestirmi quando ero più giovane.
Alla fine ho trovato un suggerimento affidabile e l'articolo descrive perché funziona. Ma mi è diventato molto chiaro che, anche se sembra che le IA possano svolgere lavori di programmazione di basso livello, il fatto che le IA funzionino così tanto come i dipendenti potrebbe fornire una certa protezione ai lavoratori umani.
La tabella seguente mostra che ci sono alcune attività in cui la codifica è più semplice e altre attività in cui l'utilizzo di un'intelligenza artificiale è più semplice. Come puoi vedere, la combinazione dei due è particolarmente interessante, ma l'utilizzo di un'intelligenza artificiale non elimina certamente la necessità di abilità e competenze umane.
Code | AI | |
Getting data | You'll need to find a large dataset and use a specific API to retrieve individual data items | Just describe what you need and the AI will find it somewhere. It's easy to do. |
Accuracy of data | If the data set is accurate and your code runs correctly, the data will be accurate. | There is no provenance to the data you retrieve. It could even be completely made up by the AI. |
Creating instructions | You need to be familiar with how to code and how to design an algorithm, as well as various APIs and language interactions. | If you can describe it, you can generally make it happen by simply telling the AI what you want. |
Following directions | Your code will do exactly what you tell it, including make errors if you haven't fully debugged it. | The AI will roughly interpret what you asked for and will sometimes stubbornly do whatever it wants anyway. |
Executing complex instructions and getting reliable results | You need to be an experienced coder with a full grasp of how to construct algorithms and write code. | You need to be an experienced "prompt engineer" with a full grasp of how to specify problems and how they should be solved. |
Are skills and training required? | Newbie programmers can do some projects, but real work requires deep understanding of how to get the job done. | Anyone can write simple prompts, but solving complex problems requires deep understanding of how to get the job done. |
Qui su ZDNET abbiamo pubblicato alcuni articoli che mettono in luce sondaggi sull'esperienza dei programmatori nell'uso dell'intelligenza artificiale generativa per aiutare con il codice. L’impressione prevalente è che l’intelligenza artificiale possa rendere i programmatori più produttivi e aiutare a insegnare nuove tecniche ai programmatori più giovani. Ma come ho dimostrato nei miei numerosi articoli di programmazione sull'intelligenza artificiale, il codice non sempre funziona.
Non ho dubbi che l’intelligenza artificiale trasformerà i lavori di programmazione e toglierà parte del lavoro alle persone reali. Ma, almeno per l’attuale generazione di motori di intelligenza artificiale, ottenere qualcosa di reale richiederà un certo livello di esperienza, che si tratti di esperienza di codifica, esperienza di scrittura tempestiva o, più probabilmente, un mix di entrambi. Oltre ad una sana dose di pazienza.
Puoi seguire gli aggiornamenti quotidiani sui miei progetti sui social media. Assicurati di seguirmi su Twitter all'indirizzo @DavidGewirtz, su Facebook all'indirizzo Facebook.com/DavidGewirtz, su Instagram all'indirizzo Instagram.com/DavidGewirtz e su YouTube all'indirizzo YouTube.com/DavidGewirtzTV.