Programowanie przez człowieka powoli odchodzi do lamusa?
W niedawno opublikowanym wywiadzie Mark Zuckerberg stwierdził, że prawdopodobnie jeszcze w bieżącym roku firma Meta (właściciel Facebooka), podobnie jak inne wielkie firmy, będzie dysponowała systemem sztuczne inteligencji zdolnym do programowania na poziomie średnio doświadczonego inżyniera (mid-level engineer).
Początkowo wdrożenie takich systemów będzie bardzo kosztowne i będą one musiały zyskać na wydajności, jednak z czasem dojdziemy to momentu, w którym bardzo duża część kodu używanych przez nas aplikacji, w tym kodu algorytmów sztucznej inteligencji, nie będzie pisana przez ludzi, a przez sztuczną inteligencję, stwierdził założyciel Facebooka.
Słowa Zuckerberga to tylko jeden z sygnałów, że branżę programistyczną mogą w najbliższym czasie czekać olbrzymie zmiany. Sami programiści z jednej strony tworzą algorytmy sztucznej inteligencji, które w przyszłości mogą ich zastąpić, z drugiej zaś, coraz częściej korzystają z ich pomocy. Jeszcze na początku 2023 roku tylko 10% programistów używało AI do pomocy w programowaniu, pod koniec roku 2023 już 63% firm używało lub wdrażało użycie narzędzi AI pomagających w programowaniu. Pod koniec ubiegłego roku odsetek ten wzrósł do 80%.
Zuckerberg nie jest jedynym wśród wiodących biznesmenów z branży IT, który zapowiada szybkie nadejście olbrzymich zmian. We wrześniu Matt Garman, szef Amazon Web Services, zasugerował, że w ciągu najbliższych 2 lat większość inżynierów oprogramowania przestanie zajmować się programowaniem. Zaś kilka miesięcy wcześniej prezes Nvidii stwierdził, że uczenie się programowania nie jest dobrym pomysłem, gdyż dzięki rozwojowi AI ludzki język staje się najważniejszym językiem programowania.
Komentarze (10)
darekp, 21 stycznia 2025, 13:26
Dla porównania głos sceptyka: https://www.youtube.com/watch?v=0KmbDSvOjJ0
Niezależnie od tego, kto ma rację (a może się okazać także, że żaden, albo obaj tylko częściowo), za jakiś czas będziemy mogli się pośmiać, że nic nie zmienia się tak szybko jak przyszłość
P.S. Szef Nvidii od jakiegoś czasu zdaje się już nie powtarza, tego co mówił dawniej?
radar, 26 stycznia 2025, 01:58
Po pierwsze primo, gość chyba jednak nie do końca ogarnia na czym to polega.
Po drugie primo, nie do końca ogarnia skalę postępu w przeciągu ostatnich 2 lat. Mało tego, właściwie nawet roku.
Po trzecie, dodatkowo oprócz zamkniętych modeli SOTA wychodzi sporo modeli (czasami tylko prawie) open source, darmowych, które w ten czy inny sposób będzie mógł przetrenować.
Po czwarte, o ile sytuacja, w które nie będzie kodu wcale, a AI będzie wykonywało całą pracę (jak computer use) jest jeszcze pewnie daleko, to sytuacja, gdzie AI generuje zaawansowany kod, który wymaga niewiele lub nie wymaga uwagi wcale JEST coraz bliżej. I nie, nie tak jak w latach 90 tych, i nie po 2000. W ciągu 2 lat przeszliśmy dekady postępu, który był wcześniej. Więc programiści, w tym i ja, stracimy w większości pracę.
Dość powiedzieć, że 2 lata temu prompt engineer miał być nowym zawodem przyszłości... i to już jest właściwie nieaktualne.
Jedyne co będzie hamować, na razie, postęp w tej kwestii to koszty, wnioskowanie i iteracyjne dochodzenie do rezultatu zużywa ogromne ilości tokenów, które kosztują. Lub prądu własnej infrastruktury (plus jej koszty). Ewentualnie ograniczenia prawne itp. Ale już jesteśmy na równi pochyłej i nie ma odwrotu.
KONTO USUNIĘTE, 26 stycznia 2025, 15:11
Nie sceptyka, tylko tendencyjnie bagatelizującego AI, bo pan szkolenia z podstaw oprogramowania prowadzi, do czego na końcu zachęca.
Wow, jak już Senior tak to widzi, to ewidentny przykład urodzenia potwora, który pożarł własnych rodziców.
Antylogik, 26 stycznia 2025, 18:21
To ja was dzieci pogodzę. Sytuacja jest prosta. Klasyczni programiści oczywiście będą zbędni, ale nauka programowania będzie zawsze istnieć. Do końca świata. Wbijcie sobie to do głów. Zatrudniony programista będzie zawsze musiał znać zasady programowania co najmniej z dwóch powodów:
1. musi operować precyzyjnym językiem, żeby dogadać się z maszyną. Język naturalny ze swojej natury JEST NIEPRECYZYJNY, a przez to człowiek może inaczej rozumieć coś co inny człowiek czy maszyna. Gdy chodzi o jakieś tam zakupy, to sprawy nie ma. ale gdy wchodzą w grę specjalistyczne zagadnienia, to już inna para kaloszy. I to już się zaczyna na poziomie terminologii. Laik powie coś swoimi słowami, ale specjalista wie, że trzeba to powiedzieć inaczej, aby dostać to czego się wymaga.
2. to działa też w drugą stronę - muszą rozumieć na pewnym poziomie szczegółowości co maszyna robi, bo jeśli maszyna opowie to w języku naturalnym, to człowiek niewiele z tego zrozumie, jeśli sam tego nie użyje. A jeśli nie rozumie, to jedynie co mu pozostało, to testować na wszystkie możliwe sposoby. To się jednak okaże skrajnie nieefektywne, bo błędów będzie za dużo i będą się piętrzyć. Dlatego potrzebny jest programista, który zrozumie, co komputer robi.
To jest analogiczne do sytuacji naukowców wynajmowanych przez firmy, by tworzyli jakieś programy. Kiedyś zatrudniano matematyków do obliczeń, później matematycy stali się zbędni w tych firmach, ale nie znaczy to, że zatrudnieni naukowcy nie musieli znać się na matematyce. Nie musieli tak bardzo się znać, skoro program im sam wyliczy co tam chcą, ale już kiedy np. dostawali niezrozumiałe wyniki, to musieli wrócić do podstaw, tzn. jaką metodą komputer oblicza równania. Muszą wiedzieć, jakie założenia stoją za daną metodą. Wymaga to specjalistycznej wiedzy.
Programowanie będzie się rozwijać na tej samej zasadzie. Żeby naprawdę dogadać się z komputerem, trzeba już teraz operować dokładnym językiem, żeby nie popaść we frustrację. Ale język naturalny to wyklucza. I to jest problem. I powtarzam - dopóki zadania są proste, to język naturalny wystarczy. Ale im bardziej specjalistyczna dziedzina, im więcej szczegółów, tym przestaje być efektywny.
Weźmy taki przykład. Chcę zrobić program albo stronę www i mówię maszynie: zrób to, to, to, ale to pod warunkiem, że tamto, a tamto pod warunkiem, że tamto. Kiedy komputer zrobi to co chciałem, dociera do mnie, że nie zauważyłem jednego założenia, którego brak powoduje niepożądany efekt. Więc musze mu dołożyć. Ale zobaczyłem to dopiero, gdy zobaczyłem, że jest źle. Dopóki projekt jest w miarę liniowy i prosty, to można tak się bawić, ale w pewnym momencie złożoność doprowadza do nakładających się błędów, których wcześniej nie zauważyliśmy, a one się ciągle piętrzą wraz ze wzrostem złożoności. W ten sposób popadniemy we frustrację, bo się okaże szybciej byłoby samemu większość zaprojektować...
A to dlatego, że gdy sami zapisujemy coś, uruchamiamy automatycznie myślenie i rozumienie. Planowanie, organizowanie, dostrzeganie kolejnych niuansów. A szczegóły, którymi nie musimy się specjalnie zajmować, zostawiamy właśnie maszynie.
Krótko mówiąc, język naturalny jest dla ludzi, nie dla maszyn. Klasyczni programiści znikną, ale będą potrzebni coraz bardziej wyspecjalizowani - w zasadzie o tej samej wiedzy co "klasyczni", ale dodatkowo współpracujący z AI. Być może aby móc swobodnie porozumiewać się z AI w sensie, ze zrobi wszystko co mu powiemy, będzie potrzebny język pośredni - naturalny, ale taki, gdzie każde słowo ma jedno, określone znaczenie i nie można używać synonimów, bo takie nie będą istnieć. Tak samo złożenie słów musi miec określony porządek, a nie jak w polskim, gdzie można przestawiać słowa w zdaniu i każdy i tak rozumie o co chodzi. Będzie to więc język specjalistyczny, wymagający wiedzy. Teraz raczej te prompty to jest zwyczajny język naturalny, więc to się dopiero rodzi.
KONTO USUNIĘTE, 26 stycznia 2025, 20:05
Ale to truizm.
Przeoczyłeś istotne wyrażenie przyimkowe:
Antylogik, 26 stycznia 2025, 20:48
Gdzie pominąłem, po prostu nie doczytałeś. Musi rozwijać kompetencje. AI zabierze pracę prostym programistom, ale da innym o dodatkowych kompetencjach. Naiwnością jest twierdzenie, że przeciętny przedsiębiorca sam wszystko zrobi dzięki AI, a w przypadku większej firmy, że wystarczy jeden programista, który dzięki AI wszystko zrobi na czas. Pokazałem powyżej, że tak nie będzie. Bo jeśli taki programista będzie musiał operować specjalistycznym językiem pseudo-naturalnym, to nadal zrobienie złożonych rzeczy zajmie kupę czasu. Bedą potrzebni kolejni programiści, np. do testowania. Firma może zwolnić zwykłych programistów, ale za te pieniądze zatrudni nowych, którzy będą zajmowac się kolejnymi częściami projektu / programu. Praca z AI, jak każda inna, będzie podlegać normalnie podziałowi pracy, czyli specjalizacji, a to wynika z tego, że programy są coraz bardziej skomplikowane, a nie coraz mniej. Tak jak dziedziny naukowe coraz bardziej sie specjalizują i dziś już jeden matematyk zupełnie nie rozumie drugiego matematyka, bo zajmuje się inną teorią, a niby ta sama dziedzina. I tak samo w biznesie i programowaniu.
Przyszła mi jeszcze taka myśl do głowy. Ludziom często się coś wydaje, bo mają wyobraźnie i używają heurystyk. Mają więc w wyobraźni robota, który wszystko za człowieka samodzielnie. Dopiero gdy przychodzi co do czego, okazuje się, że to nie jest takie proste. Wyobrazić i pomyśleć ogólnie jest łatwo, ale opowiedzieć to - krok po kroku - okazuje się, że brakuje im słów, nie potrafią precyzyjnie tego nazwać, albo wymaga od nich zbyt dużego wysiłku. A specjaliści potrafią. Bo się tymi szczegółami zajmują. Terminologia jest ważna. Język naturalny to praktycznie jej przeciwieństwo.
KONTO USUNIĘTE, 26 stycznia 2025, 21:53
Skoro swarliwy styknął ze swarliwcem, to grożba konfliktu o kropkę nad i wisi nad tym wątkiem.
Spoko.
Będzie redukcja w branży? Będzie.
Obejdzie się bez programistów? Nie obejdzie.
Będą musieli przeprogramować swoje kompetencje? Będą.
Streściłem Twoje wywody prawdy oczywistej? .............
radar, 28 stycznia 2025, 12:19
Dokładnie. Napisałem "w większości" celowo. Chociaż zostanie garstka moim zdaniem.
Natomiast:
Programowałeś kiedyś? Widziałeś kiedyś, żeby programista tak dokładnie opisał (kodem) proces złożonej aplikacji, że ta już od razu działa bez błędów? Jakby tak było nie było by zawodu tester.
Przespałeś ostatni rok. Prompt engineering NIE jest już potrzebny w większości najnowszych modeli. Nie tylko tych od openai, ale np. deepseek, qwen.
J/w, to maszyna (AI) będzie wiedzieć jakie są te szczególne przypadki, których nie wymieniłeś, ale trzeba je uwzględnić. To już się dzieje! Dla pewności wystarczy napisać w prompcie zrób to i to i to, a dodatkowo przeanalizuj czy o czymś nie zapomniałem. Tak normalnie, po polsku. Działa.
Antylogik, 30 stycznia 2025, 23:56
Oczywiście. Mówię na podstawie własnego doświadczenia, inteligencji i logicznego myślenia. Co z tego, że od razu nie działa, skoro prędzej czy później wiesz dlaczego nie działa. A tutaj nie wiesz, tylko zgadujesz, nie wystarczy zadać maszynie pytanie, dlaczego to nie działa tak jak chcę. Musisz to jej opowiedzieć, a to zajmuje też sporo czasu. Chyba że program może obserwować na ekranie na żywo, co próbujesz zrobić i ci nie wychodzi. Jeśli będzie to rozumieć, to faktycznie sprawa będzie dużo prostsza. Ale tylko na etapie testowania, a nie samej koncepcji, którą trzeba klarownie wyjaśnić. Nie mówię tu o jakichś zwykłych stronach internetowych czy aplikacjach do zakupów. Mówię o złożonych modelach, np. ekonometrycznych.
Ta jasne. Pokaż mi go, to ci udowodnię, że jest potrzebny. Po prostu nie rozumiesz co to znaczy specjalistyczna wiedza. Różnica jest choćby taka, że specjalista wie sporo, ale też wie czego nie wie. Te obecne AI nie wiedzą, że czego nie wiedzą. A to jest podstawa, bo kreuje krytyczne myślenie i wątpliwości w nauce. A jakoś na razie nie widzę, żeby one miały jakieś wątpliwości. Nie zadają mi pytań, czy na pewno o to mi chodzi, a może o coś innego? Nie zdarzył się jeszcze dzień, żebym nie nazwał któregoś z tych twoich ulubieńców debilem. Nie ma dnia, żebym nie wyzwał ich od kretynów.
Znowu nie wiesz o czym mówisz. Po prostu widac po tobie, że nie jesteś naukowcem, tylko przeciętniakiem, którego faktycznie wywalą prędzej czy później. Nie chodzi o to, że sa szczególne przypadki, o których on wie. On musi wiedzieć, że nie wie, o co mi chodzi i musi dopytać, o jaki przypadek chodzi i czy rozumie to prawidłowo. Musi znać ogromną bazę wiedzy, przeczytać olbrzymią masę dokumentów i łączyć je. Nie musi pamiętac na dany moment wszyskitego, ale musi wiedzieć, że były jakies opracowania, które o tym mówiły. A nie że ja musze mu wszystko palcem pokazywac i kolejne godziny spędzać na tłumaczeniu.
radar, wczoraj, 00:49
Wydaje się, że mylisz pojęcia. Specjalista, czy jak wolisz naukowiec, jest już w tej chwili w stanie sam większość rzeczy zrobić (ale może nie mieć czasu), natomiast amator (techniczny) nie umie wcale. Ktoś kto wie czego chce, będzie w stanie iteracyjnie dojść do rozwiązania. Tak, zajmie to dużo więcej czasu niż specjaliście lub programiście, ale się w końcu uda. To jest różnica. Nie trzeba będzie etatów (drogich), tylko drogie maszyny
To może być trudne dla przeciętniaka jak ja Ale też o tym była mowa w artykule.
i ja mówiłem o tym samym
kolejny raz Ci to pokazujemy. Przeciętniaków i słabych jest 97%+ tak na oko, ale nawet taki naukowiec jak Ty nie umie lub nie chce czytać ze zrozumieniem co piszą inni
Zgadza się, na razie nie wiedzą, ale nie o specjalistycznej wiedzy tu mówimy. Na razie nie potrafią rozumować wcale, na razie. 3 miesiące temu rozwiązywały ARC AGI na poziomie max 50%, a teraz?, Zresztą, patrząc dookoła mało kto z ludzi potrafi
Ponoć komputer jest tak mądry jak człowiek go obsługujący?
Ja nie korzystam prawie wcale z modeli openai czy antropic, mam swojego agenta z 4 modelami i ten jest dużo mądrzejszy. Owszem, na razie ciężko mu wyjść poza swoje schematy myślenia, zapętla się, i wiedzy ma niewiele, ale są już pierwsze próby by to rozwiązać. Halucynacje (i ten brak świadomości o niewiedzy) to ciągle problem (i ludzkości )
Summa summarum, skoro większość to przeciętniaki to większość jest zagrożona. Nic się nie zmieniło od początku wątku