Generalnie jest takie prawo ekonomii które mówi że na bardziej dostępny (czytaj tańszy) produkt wzrasta popyt. Na przykład jakbyś mógł mieć sprzątaczkę za 5pln na dzień to pewnie każdy by takową miał (tak jest na przykład w krajach ameryki łacińskiej, każda kobieta z klasy średniej wynajmuje niańkę do dziecka, taka niańka to symbol statusu społecznego). Jeżeli to kosztuje 250pln za dzień to większość posprząta i ugotuje sobie obiad sama...
Im niższa cena, tym większy popyt. Tylko za tym stwierdzeniem ekonomia stawia gwiazdkę z bardzo wieloma zastrzeżeniami. Co istotne, na tych wykresach z podręczników do makroekonomii nie ma skali... Dla niektórych dóbr popyt pozostaje ~stały, niezależnie od ceny (np. leki), dla innych spada wraz ze spadającą ceną (towary luksusowe).
Załóżmy że ChatGPT zwiększa produktywność typowego programisty powiedzmy x4. Czyli teraz koszt usług programistycznych jest 4 razy tańszy (to co wymagało 4 osób teraz wymaga jednej). Oczywiście że zapotrzebowanie na IT nadal jest niezaspokojone więc popyt może wzrosnąć i o 100%, ale jak widać nadal może się okazać że programistów będzie zbyt wiele na rynku.
Skąd założenie, że nakład (albo koszt) pracy spadnie 4 razy? Jak na razie ten wzrost produktywności wygląda na bliższy 3% a nie 300%... Skąd założenie, że spadek kosztu oprogramowania o 75% spowoduje wzrost popytu o 100%, a nie o 10%, albo o 1000%?
Oczywiście to są takie wyliczenie z du... bo ile tego xN będzie na razie ciężko powiedzieć. Dopóki ChatGPT nie jest w stanie wczytać całego kodu projektu, wszystkich issue z JIRA, wszystkich notatek i Google Doców, historii repozytorium dopóty jesteśmy bezpiecznii bo GPT jest jakoby w piaskownicy.
To jest najmniejszym problemem. Poproś o coś prostego np. kod programu do obróbki arkuszy kalkulacyjnych działającego jak Excel. Dostaniesz coś działającego, czy raczej nie bardzo?
Na razie jesteśmy na teapie 1: Chat GPT robi dokładnie to co każe mu programista. Wymagania są już jasno zdefiniowane, GPT nie ma dostępu do JIRA, historii Git'a, dokumentów projektowych itp. Dostaje jedynie techniczny problem do rozwiązania lub pytanie techniczne i musi na nie odpowiedzieć (TU JESTESMY).
Nie. ChatGPT, na podstawie w uj kosztownego procesu uczenia przewiduje jaki powinien być ciąg słów uzupełniający słowa wprowadzone jako zapytanie. Efekty są imponujące, ale nie ma się tu co doszukiwać jakiejś magii. Dostęp do JIRA możesz zapewnić, parę dolców miesięcznie, skrypt wysyłający do ichniego API Zaimplementuj funkcjonalność według następującego opisu ${treśćTicketuZJira}
Etap 2: ChatGPT wczytuje JIRA, Notatki projektowe, historię Git i cały kod projektu. Zadania jakie dostaję wykonuje operując na prawdziwym repozytorium, włączając w to tworzenie PR'a. Inny bot oparty o GPT dokonuje review codu (GitHub CoPilot zmierza w tym kierunku).
Ktoś te tickety musi napisać. Code review jest mało istotne w przypadku kiedy to AI ma ten kod dalej zmieniać. Skąd AI będzie wiedziało, że to co "napisało" robi to, co miało robić?
Etap 3: To samo co Etap 2, tyle że komunikacja z GPT opiera się na podaniu mu taska w JIRA. W trakcie rozmowy doprecyzowuje się wymagania lub chat mówi że nie mogą być spełnione bo to i to. (Na razie SciFi)
To żadna magia, wystarczy napisać skrypt. Masz API, sklejasz prompta i jedziesz. Zadanie na parę godzin w startupie, lub parę miesięcy w korpo i masz taki system. Jedyny problem - nie działa.
Etap 4: Mówisz GPT czego potrzebujesz (potrzebuję aplikację która będzie mnie wspomagała w odchudzaniu) dostajesz na wyjściu gotową aplikacje (StarTrek GodMode, być może nie dojdziemy do tego etapu za naszego życia).
Trochę jeszcze brakuje. Załóżmy, że dzisiaj mamy takie rozwiązanie i każdy może sobie wprowadzić taką prośbę i dostać taką aplikację. Programiści lądują na bezrobociu, wraz z całą otoczką, bo skoro mogę sobie za parę centów wygenerować software skrojony dokładnie pod moje potrzeby to po co komu firma typu Microsoft?
Natomiast rzeczywistość jest taka:
- Na obecnym etapie, GPT ma pomijalny wpływ na koszt tworzenia oprogramowania. No może Scrum Masterów da się zwolnić, bo w pieprzeniu głupot AI jest naprawdę niezła.
- Sami autorzy piszą, że LLM już dużo więcej nie ogarnie - wzięli wszystkie dane jakie istnieją, wrzucili w największą DNN jakie mogli zrobić. Zakres danych w training set nie zwiększy się znacząco, dostępna moc obliczeniowa również. Jeżeli ktoś kiedyś się bawił ML zdaje sobie sprawę, że np. 2 krotne zwiększenie zbioru uczącego, 2 krotne zwiększenie liczby połączeń w sieci, albo uczenie 2 razy dłużej/szybciej nie spowoduje znaczącej różnicy w efektach. Ot, wcześniej błąd wynosił 0.7%, teraz spadł do 0.65%. Czyli zwykłe dosypywanie kasy nie zapewni sukcesu, potrzeba jeszcze zmiany jakościowej. Nakarmienia modelu innymi danymi, w inny sposób, zbudowania sieci o innej topologii - nie wiem, nie znam się.
- 12 lat temu mieliśmy hype na Siri i inne asystenty głosowe - prosty model języka i rozpoznawanie mowy. Cały świat zachwycał się jakie to mądre. Jakieś 2 lata temu miała się zakończyć seryjna produkcja samochodów sterowanych przez człowieka, bo tesla już umiała zmieniać pas bez udziału człowieka (i włączyć kierunkowskaz, w przeciwieństwie do kierowców BMW) - jak na razie nie udało się, a kasa jaka jest do wygrania jest ogromna. Netflix dalej nie potrafi podpowiedzieć mi filmu, który będę chciał obejrzeć, a Google dalej męczy mnie reklamami produktów, których nie będę chciał kupić. Wydaje nam się, że rozwój AI jest błyskawiczny, bo wczoraj nie było GPT, dzisiaj jest GPT, a kompletnie pomijamy, że to rozwiązanie nie powstało w tydzień. Jasne, DALL-e, GPT, roboty z Boston Dynamics są super i zaczynają być przydatne, ale spodziewać się, że za chwilę powstanie tu jakaś osobliwość - nadmiar entuzjazmu/paniki.
- To co w tej chwili zajmuje pewnie 90+% machine learning, to deep learning. Pomijając topologię sieci, to przejście na obróbkę "surowych danych" z pominięciem inżynierii ficzerów (czyli podajemy np. surowe piksele, zamiast samej luminancji, żeby komputer miał łatwiej). To oznacza, że aktualnie AI nie jest w stanie nauczyć się więcej niż wiemy, ale również, że nie funkcjonuje jak ludzki umysł starając się zrozumieć rzeczywistość. Po ludzku, jest jak student, który "zakuwa" materiał przed egzaminem, ale ta nauka jest powierzchowna, bo sieć wytresowana np. do przeliczania temperatury w C na F wykształci w sobie intuicję podpowiadającą, że xC, to yF, ale nie przyswoi sobie, że to ma być C*9/5+32.
Czyli podsumowując - naprawdę bardzo dużo musi się jeszcze zmienić w ML, żeby powstały narzędzia o znacząco większej jakości, niż te dostępne dzisiaj.