Integrando le funzioni dell'IA generativa nei programmi, possiamo creare meccanismi che prima erano irrealizzabili con la programmazione convenzionale.
Inoltre, man mano che l'IA generativa diventerà capace di generazione automatica di programmi, saremo in grado di creare ed eseguire programmi liberamente e facilmente, non appena li concepiamo.
Finora, ho costruito sistemi che traducono i miei articoli di blog in inglese e li pubblicano su un blog in inglese, creano video esplicativi da video di presentazione e li caricano su YouTube, e generano e pubblicano il mio sito blog con indici, categorie e tag.
In questo modo, un meccanismo che utilizza i contenuti originali come materia prima e incorpora le funzioni dell'IA generativa per produrre vari contenuti derivati può essere chiamato una Fabbrica Intellettuale.
Inoltre, ho creato un'applicazione web per gestire e controllare questa Fabbrica Intellettuale, rendendola accessibile sia su PC che su smartphone. Le parti che gestiscono l'elaborazione automatica attivata da eventi vengono eseguite su macchine virtuali preparate per l'elaborazione batch, oltre al backend.
Così, ho sviluppato i frontend per PC e smartphone, il backend del server web, l'elaborazione batch su macchine virtuali e l'infrastruttura per tutto questo, da solo con il supporto dell'IA generativa.
Questa non è semplicemente ingegneria full-stack, ma può essere definita Ingegneria Omnidirezionale, che sviluppa in modo completo vari aspetti di un sistema.
Inoltre, quando si migliorano aspetti scomodi dell'applicazione web sviluppata o si aggiungono nuove funzionalità, posso affidare la programmazione all'IA generativa, consentendo facili miglioramenti durante l'uso.
Questo è ancora più flessibile e fluido rispetto al software convenzionale, permettendomi di creare qualcosa che si adatta perfettamente al mio utilizzo. Chiamo questo Liquidware.
Li ho personalmente sviluppati e li sto effettivamente usando. Questo non è solo un concetto; è già la realtà dello sviluppo software.
Anche se non ancora sviluppata, nel campo dei sistemi aziendali, prevedo che la metodologia di sviluppo Orientata ai Processi Aziendali diventerà una realtà.
Questo è un approccio che non mira all'ottimizzazione complessiva dei programmi, che complica i sistemi, ma divide i moduli software in singoli Processi Aziendali.
Solo la definizione di base del framework dell'interfaccia utente, la gestione dei privilegi utente e i modelli di dati che devono essere condivisi tra i Processi Aziendali sono condivisi come framework esterno del sistema aziendale.
Altri processi interni del sistema e dati temporanei sono gestiti a livello di Processo Aziendale.
Ci potrebbero essere funzioni o strutture di dati all'interno di questi che possono essere condivise da due o più Processi Aziendali. Tuttavia, se 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 rendono necessaria una costante considerazione del loro impatto su altri Processi Aziendali.
In una situazione in cui l'IA generativa crea automaticamente programmi, gli svantaggi di quest'ultima superano i vantaggi della prima. Pertanto, l'approccio Orientato ai Processi Aziendali, che enfatizza l'Ottimizzazione Individuale piuttosto che l'ottimizzazione complessiva, diventa razionale.
Inoltre, immaginate unità come "inserire le informazioni di base di un nuovo dipendente", "aggiornare le informazioni di base di un dipendente" o "cercare i dipendenti per nome" come singoli Processi Aziendali.
Nelle metodologie di sviluppo tradizionali, ogni interfaccia utente, processo frontend, processo backend e processo batch sarebbe separato in file diversi in directory diverse. Inoltre, ciascuno sarebbe sviluppato da un ingegnere diverso.
Tuttavia, quando un singolo ingegnere esegue Ingegneria Omnidirezionale facendo programmare l'IA generativa, 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 di test, i risultati dei test e i registri di revisione possono anche essere consolidati nella stessa posizione.
Questo consente la gestione di tutti gli artefatti dell'ingegneria del software a livello di un singolo 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 subendo cambiamenti significativi grazie all'IA generativa. Questo non è uno scenario futuro; è già il presente, e nel prossimo futuro, la sua sofisticazione non potrà che continuare ad avanzare, e la fase successiva dovrà inevitabilmente andare oltre.
Sistemi di Simulazione
Ciò che può essere realizzato tramite programmi non si limita ai sistemi aziendali e alle fabbriche intellettuali menzionati in precedenza.
Le restanti aree che non ho menzionato possono essere ampiamente classificate come sistemi di simulazione.
Sia che si risolvano semplici equazioni fisiche con una singola formula analitica, sia che si calcolino fenomeni fisici complessi con programmi iterativi, entrambi possono essere considerati sistemi di simulazione.
Inoltre, i sistemi di simulazione possono essere utilizzati non solo in fisica, ma anche in chimica, biologia, sociologia, economia e altri campi. Oltre all'ambito accademico, le simulazioni sono applicate anche in ingegneria, medicina, operazioni istituzionali e gestione aziendale.
Anche i giochi sono un tipo di sistema di simulazione. In qualsiasi gioco, la fisica, la società, le regole e altri aspetti all'interno del Mondo di quel gioco vengono, in un certo senso, simulati.
Oltre a ciò, eseguiamo anche una sorta di simulazione quando pianifichiamo le nostre vite, i viaggi o come spendere la paghetta.
Queste simulazioni sono state condotte in vari modi: creando ed eseguendo programmi, calcolando equazioni su carta, pensando nella nostra testa, organizzando i pensieri con testo e frecce su una lavagna, o disegnando grafici in Excel.
Sviluppare un programma di simulazione per un problema specifico consente simulazioni più complesse rispetto alle equazioni analitiche. Tuttavia, richiede competenze di sviluppo della programmazione, sforzo e tempo.
Richiede anche di chiarire il modello di simulazione, il che a sua volta richiede competenze, sforzo di considerazione e tempo.
Inoltre, le simulazioni sono state limitate a ciò che può essere espresso in forma programmatica, e in precedenza solo ciò che poteva essere espresso computazionalmente poteva essere simulato.
L'IA generativa sta cambiando significativamente questa situazione.
L'IA generativa non solo può sviluppare facilmente programmi per sistemi di simulazione, ma incorporando l'IA generativa nei sistemi di simulazione, possono essere simulati anche elementi che non possono essere espressi matematicamente. Questo consente elementi di simulazione qualitativa ambigui e simulazioni che coinvolgono agenti intelligenti simili all'uomo.
Inoltre, questi modelli di simulazione possono essere espressi non solo matematicamente ma anche in linguaggio naturale e interpretati dall'IA generativa.
Ciò renderà facile convertire le varie simulazioni che abbiamo eseguito in molte situazioni in sistemi di simulazione.
Di conseguenza, saremo in grado di ottenere risultati di simulazione più accurati, efficienti ed efficaci, con una ridotta possibilità di trascurare dettagli o introdurre bias.
Inoltre, quando si considerano o si discutono problemi complessi, potremo utilizzare un sistema di simulazione per la considerazione e la discussione, invece di affidarci a simulazioni mentali individuali.
Questo migliora la precisione della considerazione e rende le discussioni più costruttive. Invece di evidenziare l'intelligenza o gli errori di pensiero reciproci, le discussioni possono concentrarsi su punti chiari come i modelli sottostanti della simulazione, eventuali omissioni o elementi mancanti, come vengono stimate le parti altamente incerte e quali metriche tra i risultati sono prioritarie.
Man mano che i sistemi di simulazione diventano facili da creare, il nostro modo di pensare passerà dal pensiero lineare—che si concentra sull'intuizione, sulle ipotesi e sulla malizia o sugli errori altrui—al Pensiero di Simulazione.
Questo è come cercare su Internet con uno smartphone durante una discussione per verificare fonti di notizie, Wikipedia o fonti primarie. Non ci sarà più bisogno di discussioni interminabili basate esclusivamente sui ricordi reciproci.
Durante una discussione, l'IA generativa organizzerà il modello di simulazione, le regole di simulazione e le condizioni preliminari dal contenuto della discussione.
I partecipanti alla discussione dovranno solo aggiungere o correggere informazioni e premesse in quel modello e regole, e poi controllare i risultati della simulazione. Proprio come quando si trova una fonte di notizie credibile, questi risultati di simulazione possono servire come base comune per approfondire la discussione.
Ciò significa che le persone che ascoltano la discussione non vivranno più in un'era in cui dovranno riflettere su chi ha ragione o chi è affidabile. Né perderanno di vista l'essenza cercando di comprendere termini e concetti tecnici arcani che compaiono nella discussione.
Dovranno solo considerare cose molto semplici: come valutare l'incertezza e quali valori dare la priorità.