Po dwóch poprzednich odcinkach czytelnikowi może się wydawać, że nie doceniam aktualnego stanu prac nad generatywnym AI, a nawet go wyśmiewam. To nie jest tak. W porównaniu z tym, jak wyglądało automatyczne tłumaczenie dziesięć lat temu, to aktualne to rewelacja. Do generacji tekstów i obrazków można mieć wiele zastrzeżeń, ale to już jest naprawdę coś. Moje uwagi wynikają przede wszystkim z tego, że to wcale nie jest pierwszy hype na AI, a od zawsze miała ona zastąpić człowieka. Prawie tak, jak ta automatyczna generacja kodu z poprzedniej notki.
A było to tak:
- "Perceptron", czyli sieć neuronową z użyciem "sztucznych neuronów" wymyślono teoretycznie w roku 1943, pierwszy komputer oparty na perceptronach (Mark I Perceptron) zbudowano w roku 1957. Hype na ten "sztuczny mózg" był taki, że przez dłuższy czas wszelkie komputery nazywano "mózgami elektronowymi", i miały one zastąpić człowieka we wszystkim.
- IBM próbował stworzyć "Rozwiązywacz problemów wszelakich" ("General Problem Solver") już w roku 1959. (oczywiście nie wyszło).
- W sześćdziesiątych i siedemdziesiątych faktyczne osiągnięcia w AI były dość umiarkowane, głównie ze względu na brak mocy obliczeniowej ówczesnych komputerów. Ale hype, chociaż mniejszy, istniał nadal - na przykład w sporej części SF istotną rolę grał duży, inteligentny i samoświadomy komputer komunikujący się z użytkownikami głosowo (na przykład w "Luna to surowa pani" Heinleina).
- W siedemdziesiątych zdarzył się jednak Cybersyn - projekt który nie został zakończony i raczej nawet gdyby go zakończyć nie dałby spodziewanych rezultatów, ale na wyobraźnię podziałał.
- Rozwój AI istotnie przyspieszył w osiemdziesiątych. Rozpoczęto na przykład próby z autonomicznymi pojazdami, zarówno wojskowymi, jak i cywilnymi. SF pokazywała autonomiczne roboty (np. "Terminator"). Według hype AI miała na początek zastąpić zawody żołnierza i kierowcy.
- Nawet w takim NRD uważano AI za ratunek dla kraju i prowadzono intensywne (choć w tak naprawdę mało obiecujące) prace nad tym tematem.
- W dziewięćdziesiątych pojawiły się dostępne nawet dla amatora programy do analizy technicznej kursów giełdowych, oparte na sieciach neuronowych. Hype mówił, że wyeliminują one zawód tradera.
- W dwutysięcznych hype trochę opadł - prace nad AI posuwały się intensywnie, ale wyraźnie było widać że wyniki sa dość odległe od wygórowanych oczekiwań. Automatyczne tłumaczenie było marne, autonomiczne pojazdy nie nadawały się za bardzo do wypuszczenia ich samodzielnie na drogę, praktycznie działały jedynie zabawki w rodzaju "Furby", albo autonomiczne odkurzacze. A powiedzmy sobie otwarcie, że autonomiczny odkurzacz to poziom trochę lepszego "cybernetycznego żółwia" z sześćdziesiątych.
- Najnowszy hype na generatywne AI nie jest więc niczym nowym.
Generalnie to prawie każda nowa technologia w trakcie jej rozwoju generuje cykle hype-hate. Tak typowo to ani nie jest z nią tak dobrze jak odczuwa się to w fazie hype, ani tak źle jak odczuwa się w fazie hate. Nie inaczej jest z AI.
Współczesne AI świetnie nadaje się do wykrywania wzorców w danych wejściowych, tu pojawia się sporo istotnych zastosowań i dokonanych dzięki niej odkryć. AI generatywna jest jednak w fazie over-over-hype. Ona coś już potrafi, to robi wrażenie, ale realistycznie patrząc to do zastępowania człowieka jest jej bardzo daleko. I to nie jest tak, że wystarczy trochę skorygować implementację, dać szybszy komputer albo więcej pamięci i już - nie, ograniczenie tkwi w samej jej koncepcji. żeby zrobiło się znacząco lepiej potrzeba nowej koncepcji. I to nie będzie rok czy dwa.
Moja prognoza (żadna tam szklana kula czy głęboka futurologia - po prostu będzie tak, jak zawsze):
- W najbliższych latach będzie się próbować wtykać generatywną AI wszędzie, gdzie tylko się da. Powstanie trochę w miarę użytecznych narzędzi, ale
- generalnie efekty tego będą takie sobie, znacznie poniżej oczekiwań.
- Hype powoli przejdzie w hate.
- Tymczasem będzie się pracować nad nowymi koncepcjami
- Cykl się powtórzy. Następny hype będzie za 10-20 lat.
Czyli na Zachodzie bez zmian. Generalnie można spać spokojnie, AI miejsca pracy wam raczej nie zabierze. Jakieśtam, ewolucyjne zmiany w pracy w różnych zawodach na pewno będą, ale nie takie, żeby zaraz połowę pracowników wyrzucać (A jeżeli jakiś zbyt łatwowierny manager mimo wszystko połowę wyrzuci, to wkrótce pożałuje).
A już zwłaszcza nie za wiele zmieni się w zawodzie programisty. CEO Nvidii Jensen Huang uważa, że przyszłe pokolenia w ogóle nie będą musiały uczyć się języków programowania, ale według mnie to zależy od definicji "języka programowania". Pan Huang ma chyba definicję bardzo zawężoną do języków imperatywnych - i tu nawet mógłbym się zgodzić. Programowanie imperatywne to prowadzenie komputera za rączkę, i na dłuższą (ale naprawdę dłuższą, chyba nawet nie za mojego życia) metę powinno to się zmienić. Ale na językach imperatywnych świat się nie kończy, mamy jeszcze bardzo szeroki wybór języków deklaratywnych. Taki na przykład Prolog powstał już w roku 1972, i od początku był uważany za "język sztucznej inteligencji".
Dalej pan Huang stwierdził: "It is our job to create computing technology such that nobody has to program and the programming language is human. Everybody in the world is now a programmer”. Ale jakoś przecież musimy komputerowi (nawet sztucznie inteligentnemu komputerowi) powiedzieć, czego dokładnie od niego chcemy. Zresztą żywym programistom/architektom też musimy to jakoś powiedzieć, i użycie przy tym języka naturalnego od zawsze jest jednym z najpoważniejszych źródeł problemów. Do tego stopnia, że już dziś przy tworzeniu requirementów używamy co prawda języka naturalnego, ale częściowo sformalizowanego (na przykład jest dokładnie zdefiniowane, w jakiej sytuacji piszemy "shall", w jakim "should", a w jakiej "may". Takich reguł jest więcej). Przy formułowaniu requirementów używamy formalnych notacji matematycznych (np. "6V < Ubatt < 18V"), wzorów matematycznych i diagramów w sformalizowanych notacjach (np. UML czy SysML). Wiele typów tych diagramów potencjalnie daje się automatycznie przekształcić w wykonywalny kod przy użyciu różnych generatorów kodu (BTDT), co według mnie spełnia definicję "języka programowania". Użycie języka naturalnego do programowania uważam za mrzonkę, to nigdy nie działało dobrze i nie będzie dobrze działać.
Ale najśmieszniejsze jest to jego "Everybody in the world is now a programmer". Całkiem podobne hasła towarzyszyły rozposzechnieniu internetu i prostych Authoring Tools. Everybody in the world miał być now kreatywnym muzykiem, grafikiem, pisarzem, poetą, filmowcem, popularyzatorem nauki czy kim tam jeszcze. Dostaliśmy garść wartościowych artystów, i miliony tiktokerów, influencerów i szurów. Nie jestem pewien, czy było warto. Większość ludzi wcale nie chce być artystą albo programistą, a większość tych którzy chcieli by być (zwłaszcza bez włożenia w to wysiłku), wcale się do tego nie nadaje.
TL;DR? Będzie jak zawsze. Zmiany ewolucyjne, nie rewolucyjne.