Mennyi időt adtok még a programozóknak?
Hát a napi 8 óránál nem kell több nekik. Tehát pluszban semennyit, mert folytatják majd következő nap.
Értelmetlen a kérdésed amúgy. Mert az AI sem tudja feloldani az NP-nehéz problémákat. Továbbá statisztikai alapon dolgozik, amibe bele van kódolva a hiba lehetőség, mert statisztikailag eleve nem tud 100%-osan dolgozni. Tehát, az "önmagát programozza" egy sci-fi. Meg eleve ellentmondásos.
Tehát, hogy egy AI önmagát programozza, élősszőr egyszerűsítsük le a problémát.
--
Tegyük fel, hogy U egy "Univerzális program", amely futtatja a M programot x inputtal, azaz jelöljük U(M,x) = M(x). Természetesen U érti az M-ben írt utasításokat.
Van az úgy nevezett "Megállás probléma". Ahol:
- Input: M program, x input
- Output: Megáll-e M az x-en futtatva?
Ha feltesszük, hogy van egy M' program, amely el tudja dönteni a megállási problémát, akkor létrehozunk egy újabb programot, a D-t, amely a saját magára vonatkozó viselkedését vizsgálja.
D(M) = if M'(M,M) then Inf else Halt:
Ez a D(M) program meghatározza, hogy a bemenetként kapott M program megáll-e saját magán.
Ekkor:
D(D) = Inf <==> M'(D,D) = "igen" <==> D(D) != Inf
Ami ellentmondás, mert D(D) egyszerre Inf is és not Inf is.
De nézzük sorban:
a) D(D) = Inf
Amikor a D program saját magán fut, akkor azt az eredményt kapjuk, hogy a futás örökké tart (azaz a program soha nem áll le). Ez a D(M) program egyik lehetséges kimenetele, amikor D-t az inputként kapott programon, azaz saját magán futtatjuk.
b) M'(D,D) = "igen"
Ez azt jelenti, hogy amikor a M'(M,M) program a D programot saját magán futtatja (D-t kapja inputként), akkor az eredmény "igen" (lásd az if-et, mert csak akkor lesz Inf). Ez azt jelenti, hogy a D futása soha nem áll meg, azaz örökké tart.
c) D(D) != Inf
Amikor a D program saját magán fut, akkor az eredmény nem "örökké tart" (vagyis nem infinity). Tehát a D program egy másik kimenetele az, hogy az önmagának adott inputra nem kapjuk azt az eredményt, hogy a futás örökké tart.
Ez az ellentmondás az eldöntési problémákhoz vezető típusú ellentmondás, ami azt mutatja, hogy az adott probléma (a megállási probléma) nem dönthető el egyértelműen.
Tehát visszatérve az AI-hoz. AI saját kódjáról nem tudja eldönteni, hogy a saját kódja működőképes lesz-e.
Eredményül: Mindig kell fejlesztő.
Talán félre érthető voltam, a #18-ik válaszomban.
Ahogy az U(M,x)-nél is írtam az nem más mint M(x) lesz "belül".
Tehát a U(M program, M benőne paramétere), így M' is U felépítésű.
Mivel az első D(D) végtelen, mert M'(D,D) = igaz, ami az if miatt vételen then ágba megy.
Csak az M' akkor, hogyan tudta megállapítani, hogy D(D) végtelen állapotú lesz? Tehát meg kellene neki állnia D(D)-nek, hogy eldönthető legyen M'-nek. De, ha eldönthető, akkor D(D) nem fog futni végtelen ideig.
Tavaly még csak 1 évet adtak nekünk. Szerintem jó ideig az AI nem leváltani fogja a programozókat, hanem eszközzé válik a programozók kezében, ami mentén további extra szakértelem lesz majd szükséges. Lehet, hogy vízválasztó lesz, lesz, akinek a munkáját kiváltja, másokét meg felértékeli, de lesz ez utóbbi is.
Anno ott volt az SQL nyelv. Kvázi emberi nyelven, szinte már-már angol nyelven lehet lekérni vele adatokat egy adatbázisból. Akkor is az volt a vízió, hogy majd nem kellenek programozók az adatbázisokhoz. Aztán kiderült, hogy amúgy egy laikus számára túl kötött a szintaxisa, nem tudja azzal a logikával megfogalmazni, hogy mit akar látni, mint a programozó. A programozó meg ugyan szükségtelenné vált ott, ahol az adatokat mondjuk sorba kell rendezni, mert azt elintézi az adatbáziskezelő, cserébe a programozónak meg kellett tanulni az SQL nyelv sajátosságait, lehetőségeit, korlátjait, a feladatok meg annyival komplexebbé váltak, hogy az már egy programozónak is kihívást jelenthet.
Aztán ott volt pl. a Visual Basic/C++, Delphi és társai. Addig mondjuk DOS alatt úgy kellett leprogramozni, hogy hogyan rajzolja meg a gombot, hogyan rajzolja át, ha ráviszik az egeret, ma rákattintanak. Itt meg mint egy rajzolóprogrammal csak össze kell kattintgatni az ablak elemeit, ide egy gomb, oda egy beviteli mező, stb… Oké, nyilván a működést meg kell írni, de anno tizenévesként nekem is az volt a vízióm, hogy idővel majd a főnök/megrendelő szépen összekattintgatja, hogy hogyan nézzen ki a program egy adott ablaka, nekem meg csak a működést kell megírni. De nem ez történt, a főnöknek/megrendelőnek erre sincs ideje. Meg ehhez is kell ismeret, tapasztalat, hogy melyik komponensnek milyen beállításai vannak, az sem mindegy, hogy hogyan nevezed el azokat. Meg egy komplexebb felületnél is kell egy szemlélet, hogy jól alakíts ki mindent. Egy átlag laikus felhasználó a Word tabulátorát sem érti, és az is kihívás neki, hogy valamit a papír 2/3-nál igazítson középre. Hát még megrajzolni egy formot. Szóval az eredmény az lett, hogy vizuális tervezés ide vagy oda, ez is a programozóra maradt, egy újabb dolog, amit meg kell tanulni, amiben tapasztalatot kell szerezni. Lehet, hogy már nem kell foglalkozni azzal, hogy hogyan kell egy gombot vonalakból, körökből megrajzolnod, ha fölé viszed az egeret, ha megnyomják, de cserébe le kell programoznod, hogy melyik komponensnek milyen tulajdonságát kell megváltoztatni egy adott eseményre, milyen metódusai vannak egy gombnak, stb…
Az AI majd megírja a programot, nekünk csak instruálni kell. Még a forráskódot is elrejti majd, rögtön egy működő, használható valamit csinál majd, így az a probléma is megszűnik, hogy az AI generál ugyan egy kódot, a laikus felhasználó meg nem tudja, hogy mit csináljon vele. Ó, ez remekül hangzik elsőre. De a főnöknek/megrendelőnek erre sem lesz ideje. Másrészt rosszul fog instruálni. Néha szoftverfejlesztőként is úgy kell harapófogóval kihúzni a megrendelőből, hogy tulajdonképpen mi a fenét is akar, aligha fogja ezt magától egzakt módon megfogalmazni. De még egy programozó is lehet, hogy órákig próbálkozik – amúgy egztakt módon megfogalmazva az igényét –, mire az AI olyan programott ír, ami végre azt csinálja, mint amire gondolt. (Illusztráció: [link] ) A főnök/megrendelő azt sem fogja tudni felmérni – és nem is akar ezzel foglalkozni –, hogy a program, amit az AI generált, az jó-e vagy sem. Egy is csak egy újabb terület lesz majd, amit meg kell tanulni, meg kell ismerni az eszközeit, a helyes, hatékony használatát, buktatóit és aminek birtokában nem a munkaidő fog csökkenni, hanem a feladatok száma és/vagy komplexitása fog csak nőni.
Amúgy van itt még ezernyi más részletkérdés, ami miatt a programozók leváltása az AI-vel jó ideig komoly akadályokba fog ütközni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!