Integrando le capacità dell'IA generativa nei programmi, possiamo creare meccanismi che prima erano irrealizzabili con i programmi convenzionali.
Inoltre, man mano che l'IA generativa sarà in grado di generare automaticamente programmi, potremo creare ed eseguire liberamente e facilmente programmi basati sulle nostre idee.
Fino ad ora, ho creato sistemi in grado di tradurre i miei articoli di blog in inglese e pubblicarli su blog in inglese, creare video esplicativi da video di presentazione e caricarli su YouTube, e generare e pubblicare i miei siti di blog con indici, categorie e tag.
In questo modo, un sistema che utilizza il contenuto originale come materia prima e incorpora funzionalità di IA generativa per produrre vari contenuti derivati può essere definito una fabbrica intellettuale.
Ho anche sviluppato un'applicazione web per gestire questa fabbrica intellettuale e monitorarne lo stato, rendendola disponibile sia su PC che su smartphone. Inoltre, le parti che eseguono l'elaborazione automatizzata attivata da eventi vengono eseguite su macchine virtuali preparate per l'elaborazione batch nel backend.
Così, ho sviluppato da solo i frontend per PC e smartphone, il backend del server web, l'elaborazione batch su macchine virtuali e l'infrastruttura per questi, tutto con il supporto dell'IA generativa.
Questa non è solo ingegneria full-stack; può essere definita ingegneria omnidirezionale, in quanto implica lo sviluppo completo di vari aspetti del sistema.
Inoltre, quando si migliora l'usabilità dell'applicazione web sviluppata o si aggiungono nuove funzionalità, posso delegare la programmazione all'IA generativa, consentendo facili miglioramenti durante l'utilizzo.
Ciò rende il software ancora più flessibile e fluido rispetto al software tradizionale, permettendomi di creare qualcosa che si adatti perfettamente ai miei modelli di utilizzo. Chiamo questo "liquidware".
Li ho effettivamente sviluppati e li sto attualmente utilizzando. Non sono semplici concetti, ma già una realtà nello sviluppo software.
Sebbene non l'abbia ancora sviluppata, prevedo che nel campo dei sistemi aziendali, la metodologia di sviluppo nota come "sviluppo orientato ai processi aziendali" diventerà una realtà.
Questo è un approccio che non mira all'ottimizzazione complessiva dei programmi, che complica i sistemi, ma piuttosto segmenta i moduli software per singoli processi aziendali.
Solo la definizione del framework di base dell'interfaccia utente, la gestione dei permessi utente e i modelli di dati che devono essere condivisi tra i processi aziendali sono condivisi come framework esterno del sistema aziendale.
Altri processi di sistema interni e dati temporanei sono gestiti a livello di processo aziendale.
Questo può includere funzioni e strutture dati che possono essere condivise da due o più processi aziendali. Tuttavia, se questi vengono trasformati in moduli condivisi o librerie personalizzate, mentre la riusabilità del codice e la qualità migliorano, la struttura del software diventa complessa e le modifiche richiedono una considerazione costante degli impatti su altri processi aziendali.
In una situazione in cui l'IA generativa genera automaticamente programmi, lo svantaggio di quest'ultimo supera il vantaggio del primo. Pertanto, l'approccio orientato ai processi aziendali, che enfatizza l'ottimizzazione individuale piuttosto che l'ottimizzazione complessiva, diventa razionale.
Inoltre, immaginate unità come "inserimento delle informazioni di base di un nuovo dipendente", "aggiornamento delle informazioni di base di un dipendente" e "ricerca di dipendenti per nome" come processi aziendali individuali.
Nelle metodologie di sviluppo tradizionali, le rispettive interfacce utente, i processi frontend, i processi backend e i processi batch sono separati in file diversi in directory diverse. Inoltre, ciascuno è sviluppato da ingegneri diversi.
Tuttavia, quando un singolo ingegnere esegue l'ingegneria omnidirezionale lasciando che l'IA generativa si occupi della programmazione, ha più senso consolidare il codice richiesto per un processo aziendale in un unico file o cartella.
Inoltre, i risultati dell'analisi dei requisiti, le specifiche dei test, i risultati dei test e i record di revisione possono anche essere consolidati nella stessa posizione.
Ciò consente di gestire tutti i prodotti dell'ingegneria del software per processo aziendale. E poiché non è necessario considerare l'ottimizzazione complessiva, i miglioramenti possono essere focalizzati all'interno di quel processo aziendale e nuovi processi aziendali possono essere facilmente aggiunti al sistema aziendale.
In questo modo, lo sviluppo di programmi e ciò che può essere sviluppato con i programmi stanno cambiando significativamente grazie all'IA generativa. Questa non è una possibilità futura; è già la realtà attuale, e nel prossimo futuro, la sua completezza può solo aumentare, e la fase successiva deve procedere oltre.
Sistemi di Simulazione
Ciò che può essere realizzato dai programmi non si limita ai sistemi aziendali e alle fabbriche intellettuali qui menzionati.
Le restanti aree che non ho menzionato possono essere ampiamente classificate come sistemi di simulazione.
Sia che si risolva una semplice equazione fisica con una singola formula analitica o si calcolino fenomeni fisici complessi con programmi iterativi, entrambi possono essere chiamati sistemi di simulazione.
Inoltre, i sistemi di simulazione possono essere utilizzati non solo in fisica, ma anche in chimica, biologia, o persino sociologia ed economia. Inoltre, le simulazioni sono applicate non solo in ambito accademico, ma anche in campi come l'ingegneria, la medicina, la progettazione istituzionale e la gestione aziendale.
Anche i giochi sono un tipo di sistema di simulazione. In qualsiasi gioco, si può dire che la fisica, la società, le regole, ecc., all'interno del mondo di quel gioco siano, per così dire, simulate.
Oltre a ciò, eseguiamo anche un tipo di simulazione quando pianifichiamo le nostre vite, i nostri viaggi o come spendere la nostra paghetta.
Queste simulazioni sono state condotte in vari modi: creando ed eseguendo programmi, formulando e calcolando equazioni su carta, pensando nella propria testa, organizzando idee con testo e frecce su una lavagna bianca, o disegnando grafici in Excel.
Lo sviluppo di un programma di simulazione per un problema specifico consente simulazioni più complesse rispetto alle equazioni analitiche. Tuttavia, richiede competenze di programmazione, sforzo e tempo.
Inoltre, il modello di simulazione deve essere chiaramente definito, il che richiede competenze, sforzo e tempo per la considerazione.
Inoltre, le simulazioni potevano essere eseguite solo in modi che potevano essere espressi da programmi, e finora solo ciò che poteva essere espresso computazionalmente poteva essere simulato.
L'IA generativa cambierà significativamente questa situazione.
L'IA generativa non solo consente un facile sviluppo di programmi di sistemi di simulazione, ma anche, incorporando l'IA generativa nei sistemi di simulazione, possono essere simulati anche elementi che non possono essere espressi da formule matematiche. Ciò consente elementi di simulazione qualitativi ambigui e simulazioni che coinvolgono agenti intelligenti simili a umani.
Inoltre, tali modelli di simulazione possono essere espressi non solo in formule matematiche, ma anche in linguaggio naturale e interpretati dall'IA generativa.
Ciò renderà più facile sistematizzare le varie simulazioni che abbiamo eseguito in varie situazioni.
Ciò ci consentirà di ottenere risultati di simulazione più accurati, efficienti ed efficaci, riducendo la possibilità di sviste e ipotesi distorte.
Inoltre, quando si discutono o si considerano problemi complessi, sarà possibile utilizzare sistemi di simulazione per la discussione e la considerazione, anziché affidarsi a simulazioni mentali individuali.
Ciò migliora la precisione della deliberazione e rende le discussioni più costruttive. Questo perché invece di evidenziare l'intelletto o gli errori di pensiero reciproci, le discussioni possono concentrarsi su punti chiari come il modello sottostante della simulazione, eventuali omissioni o elementi mancanti, come vengono stimate le parti altamente incerte e quali indicatori tra i risultati vengono enfatizzati.
Man mano che i sistemi di simulazione diventano facili da creare, il nostro modo di pensare si sposterà dal pensiero lineare, che si concentra su intuizione, ipotesi e malizia o errori altrui, al pensiero simulativo.
È come cercare su Internet con lo smartphone durante una conversazione per controllare fonti di notizie, Wikipedia o fonti primarie. Non c'è più bisogno di discussioni infinite basate unicamente sui ricordi reciproci.
Durante una discussione, l'IA generativa organizzerà il modello di simulazione, le regole di simulazione e le precondizioni dal contenuto della discussione.
Le persone che discutono dovranno semplicemente aggiungere o correggere informazioni e premesse a quel modello e a quelle regole, e quindi confermare i risultati della simulazione. Proprio come quando viene trovata una fonte di notizie affidabile, quei risultati di simulazione possono servire come terreno comune per una discussione più approfondita.
Ciò libererà gli ascoltatori dall'era del chiedersi chi ha ragione o chi è degno di fiducia. Non perderanno più di vista l'essenza cercando di capire il gergo e i concetti oscuri che appaiono nelle discussioni.
Dovranno solo considerare cose molto semplici: come valutare l'incertezza e quali valori dare priorità.