ChatGPT - fejlesztői munkakör

Többen azt gondolják hogy a ChatGPT-hez hasonló eszközök várhatóan be fognak épülni a szoftver fejlesztői munkakörbe.

Van arra valakinek tippje vagy rálátása pontosan hogyan is nézhet ki ez a fejlesztői munkakör ChatGPT-vel a jövőben?

Esetleg meglévő külföldi tapasztalat?

Hozzászólások

Én fejemben lévő példák:
 - bontsd szét ezt az osztályt SOLID szerint
 - írj unit tesztet erre az osztályra
 - generálj teszt táblát a következő adatokra
 - készíts performancia mérést ezzel és azzal a config-gal
 - írd be változásokat a Jira-ba
 - csinálj code review-t
stb
 

Szerintem is ez a jovo.

A valaszodon felbuzdulva most kiprobaltam le tud-e generalni unit testet egy letezo, nem trivialis osztalyra. Android projekt, kotlin, coroutine flow, nehany usecase beinjektalva, uni-directional flow, es egy ViewModel osztaly.

Elso ranezesre tok hiheto teszteket generalt, de azert jobban beleneztem

  • "Here are some unit tests for the CoinDetailsViewModel class using JUnit and Mockito" mockito helyett mockk volt a forraskodban
  • deprecated apikat hasznalt
  • rosszul haszalta az apikat
  • nem lehet buildelni a kodot.
  • privat metodusra probalt tesztet generalni
  • az egyik teszt felenel abbahagyta a tesztek generalasat

Gondoltam kiprobalom tudja-e folytatni "continue" parancs utan:

  • mas metodus elnevezest kezdett hasznalni
  • elfelejtette az addig hasznalt valtozo neveket
  • mashogy kezdte strukturalni a tesztet
     

Szoval egy bonyolultabb osztallyal meg nem bir el. De vajon egy egyszerubb UseCase-szel?

  • annyi tesztet generalt amennyi kellett
  • volt benne szintaktikai hiba, de azt javitva a compile sikeres
  • a teszt lefut
  • az egyik teszt teljesen ertelmetlen

Tehat ez sem nyert. Kiprobaltam meg, hogy teszt adatokat hogyan general, bedobtam egy data classt, kertem, hogy csinaljon belole egy listat teszteleshez, es teljesen jo adatokat krealt. Erre lehet hasznalnam, de biztos vannak egyszerubb tool-ok.

Osszegeze, egyelore meg nem valami hasznos, de basszus, mostantol nem uj frameworkoket fogok tanulni, hanem System Design-t, mert szerintem 2 ugrasra vagyunk attol, hogy tenyleg elvegye a programozok munkajat. Felelmetes.

 

Tényleg bölcsész. Remek verseket tud írni:

 

Áldott legyen a nyitott forrású rendszer,
Melyet Linuxnak neveznek el sokan,
Mert ha frissíteni kell, úgy gondoljuk,
Hogy könnyű dolog lesz, úgy teszünk, mintha.

De hát az élet nem mindig ilyen egyszerű,
Mert ha valami rosszul megy, azt úgy érezzük,
Hogy összeomlik alattunk a világ,
És a gépünk, mely eddig működött, most hirtelen elromlott.

Úgy érezzük magunkat, mint aki lerészegedett,
Mert a rendszerünk most semmi sem működik jól,
S azt kívánjuk, hogy visszamenjen a régi állapot,
De tudjuk, hogy nem fogunk úgy újraéledni.

De ne csüggedjünk, mert megoldás mindig van,
Csak keresnünk kell, és akkor megtaláljuk,
És a Linux rendszerünk újra működni fog,
És mi újra örülni fogunk, mint régen.

Áldott legyen tehát a nyitott forrású rendszer,
Melynek szerkesztői mindig dolgoznak rajta,
Hogy jobb legyen, és ne romoljon el soha,
És mi, felhasználók, boldogok legyünk vele örökké.

ez volt a prompt:
írj egy verset Petőfi Sándor stílusában a lerészegedésről egy rosszul sikerült linux frissítés után
 

Olyan lesz, mint a sok drag-a-drop, wizárdszerűen összekattintható rendszer, portál stb... a sales demókon, slideokon tényleg minden csodálatos, az agyatlan döntéshozók gondolkodás nélkül mindent elhisznek, de amikor nem bír vele éles projekten a mezei manager/BA aki csak "dumálni" tud emberi nyelven vele és képtelen rávenni, hogy valami icipici, de fontos dolgot megcsináljon, akkor majd kell a programozó. A programozó. "Már minden készen van, egy félnapos apró munka lenne még". Aztán A programozó megtépi a saját haját, hogy körbehekkelje ezt a csodás "kiváltjuk megint a programozókat dologgal" tool-t... Ám legyen. De a cerkám ilyenkor nagyon vastagon szokott fogni. :)

A lényeg, hogy ilyenkor az ügyfél már beszopódott, visszafordulni nem lehet, a szoftvert 2 héten belül - akár scope vágással is - de szállítani kell. Szuper lesz. A programozó boldogtalan, az ügyfél egy kompromisszumos, olyan renszert kapott amit senki se akar piszkálni majd. A szállítóoldali tulajdonos lesz egyedül boldog vele, akinek valószínűleg semmi köze nincs a programozáshoz és teljesen leszarja, hogy minőségi munkát ad-e ki a kezéből a cége vagy sem. Őt a heti profit érdekli - és én ezt értem. Ő meg megértheti, hogy a szar melóért sokat kell majd nekem fizetnie.

/rant

Persze tévedhetek is, akkor majd hamut szórok a fejemre.

Nem félek attól, hogy ne lenne munkám a jövőben. Attól félek, hogy szakmailag még hitványabbak lesznek a projektek.

 - írj unit tesztet erre az osztályra

nekem ezzel az a bajom, hogy az ilyen teszt értelmetlen. a tesztnek az a lényege, hogy ha odamegyek, és átírom a prod kódot, akkor továbbra is legyen egy pass/nopass quick check.

Ehhez képest, ha a ChatGPT ír egy olyan tesztet, ami ad egy 100%-os line coverage-t, az nekem semmit nem mond arról, hogy ténylegesen követelmény dolgot tesztel, vagy valami undocumented mellékhatást tanult meg.

Pl.: a Java8->9 környékén volt, hogy elkezdett a HashSet iterátor más sorrendben visszaadni dolgokat, nem? Namost, ott jóeséllyel, ha odaadtam volna neki a régi kódot (javadoc nélkül, mert egy hétköznapi projektben messze nincs olyan doksi, mint a Javaban), ugyanúgy rátesztel arra, hogy a HashSet iterátor XYZ sorrendben adja vissza a dolgokat -> miközben az az üzleti szempontból invalid teszt.

ugyanúgy rátesztel arra, hogy a HashSet iterátor XYZ sorrendben adja vissza a dolgokat -> miközben az az üzleti szempontból invalid teszt.

Továbbgondolva, a nagy kérdés az, hogy az AI mikor fogja tudni megmondani, hogy üzleti szempontból jó-e egy collection sorrendiséget tesztelni, vagy sem. Mert hát van olyan kérdés, ahol van információtartalma az elemek sorrendjének, meg van olyan, ahol nincs. Akkor érdemes csak aggódni, ha az AI már erre is magabiztosan tud válaszolni. :)

Nyöah, nem azt mondom, hogy a collection sorrendiségét elvárja-e adott esetben -> mert ez lehet egy valid dolog, pl. egy dropdown menüben jelenjenek meg az országok ABC-rendben.

Hanem azt, hogy ha odaadnám neki ezt a kódot (szigurúan javadoc nélkül), vajon rátesztel-e arra, hogy az adott implementációban a sorrendiség mindig prediktálható - holott az sehol nem szerepel a HashMap-pel szemben támasztott üzleti igényekben. És ha átírom a kódot olyanra, hogy explicit ne legyen prediktálható a sorrend (vagy akár csak azt, hogy új sorrend legyen), akkor a generált unit tesztek el fognak halni.

Üzletibb nyelven: van egy metódusom, ami egy kosárt reprezentáló POJO-ból egy NAV-nak beküldhető XML-t, mint számla állít elő. A jelenlegi implementációban a kosárban a tételek sorrendben vannak (egy listában), és az XML-be is ugyanebben a sorrendben kerülnek be az elemek -> de ez sehol nem üzleti igény, nem elvárás. Ha átírom a kódot, és holnaptól valami optimalizáció miatt egy Set lesz a kosár POJO-ban, és a kosár.elemek.iterator más sorrendben adja vissza az elemeket a unit testben, mint ahogy a generált XML-ben vannak, akkor az tényleg rossz refaktor volt? Vagy a teszt volt szar?

Végülis, tágan megfogalmazva, talán igazad van. Inkább így mondanám: „az AI mikor fogja tudni megmondani, hogy 1-1 technikai adottság üzleti szempontból került-e be adott implementációba, vagy csak implementation detail, ami üzleti szempontból lényegtelen”.

Na de ez most is így van,. kb. minden valós "nagyjából" specifikált program megvalósítás esetén a funkcióteljesítést meghatározó tényezőknél nem feltétlen lehet szétbontani, hogy a rendeltése szerinti feltétel/képesség, vagy a megvalósítás technológiai feltételei/velejárója, rosszabb esetben a megvalósítók kompetenciájának következménye, leginkább hogy mindennek miféle elegye. Egy nem funkcionális, első körben technikainak tűnő követelmény, pl. gyors, rugalmas horizontális skálzódás, vagy h.a., az implementációs részlet ami alapból hozzátartozik egy korszerű és szakmailag igényes megvalósításhoz, vagy valójában a rendszer rendeltetését befolyásolja? Nyilván terheléstől függ, hova sorolod, hogy csak egy olyan feature ami benne van a rendszerben mert hát manapság így csinálja mindenki és technikai jógyakorlat, vagy hogy enélkül a rendeltetésére alkalmatlan lenne. Szerintem az egész MI erről fog szólni, hogy specifikálod valami szoftver funkcionális és nem funkcionális követelményeit és valahogy megcsinálja. Minél jobban leírod mit akarsz, annál jobban fogja az elképzelésed közelíteni, amit csinál. Pont, mint ahogy a most is történik humán résztvevőkkel. Az a kérdés, hiányos specifikációból, követelményekből, csapongó regényes elbeszélésekből, felfoghatatlan excel "rendszerezésekből" stb. kitalálja-e majd, mire gondolt a költő, valójában mit szeretett volna a megrendelő. Ha erre képes lesz, és jobban mint egy humán elemző vagy programtervező, akkor az egy új minőség lesz a szakmában. HA erre nem lesz képes, csak a szájába rágott dolgokat tudja rohadt gyorsan egy valamilyen színvonalú de azért futásképes implementációra leképezni, akkor nem lesz több mint egy szteroidos code assist. Bár, már ezzel a tudással is a pogramozó szakma erős középmezőnyébe fog tartozni :)  

Szerkesztve: 2023. 02. 10., p – 11:39

A managerek azt hiszik, hogy a semmiből majd kitalálja egy robot azt, ami embereknek is nehéz. Pláne amikor belső, zárt kódra épülő rendszerek fejlesztéséről van szó. Kb mert a managerek csak azt látják, hogy egy rakás dolgot pillanatok alatt generál, de hogy mennyire hasznos vagy jó, azt nem értik. Ez csak egy újabb kereső, ami már elég jól érzékelheti a kontextust és az alapján tud mások által készített lehetséges megoldásokból ollózni. De a helyes megoldást szerintem továbbra is olyannak kéne kiválasztani, aki értelmezni is tudja amit lát. Különben csak egy automatizált stack overflowról indiai programozó egy esetre hekkelt kódot össztákoló valami lesz ebből is.

Tehát tényleg jó eszköz lehet keresni dolgokat, vázlatokat mutatni. De ha nem kókányolásról van szó, kell valaki aki ellenőrzi és kiválasztja a valóban jó megoldást. Egyedi, más által nem használt rendszerekben meg gondolom vak vezet világtalant, mert nincs honnan másolni a megoldást. Arra emlékeztet, mint amikon az n+1edik minden problémát is megoldós dolgot bemutatózzák, ami a hello worlddel tökéletesen működik, csak a gyarkotlatban kicsit összetettebb feladatoknál meg agyhalál.

Szerkesztve: 2023. 02. 10., p – 11:49

Remélem építenek mindenféle cégek mindenféle bonyi toolokat ezek köré, eladják majd a sok debil managernek, hogy ezzel már nem kell programozó sem, csak elég lediktálni neki a feladatot.

Aztán megveszik, rájönnek, hogy nincs tudásuk/kedvük/idejük ezzel a "csoda" toollal dolgozni, ezért felvesznek egy fejlesztőt... akinek a töke kilesz az ezzel való kínlódással, de kidobni nem lehet, mert akkor a managert vennék elő, hogy minek vette meg. Demotivált fejlesztők, szar hangulat, inproduktív munka, nagy fluktuáció a furga-sorban. Pont, mint a mindenféle workflow/BPM toolok/kész portálok (liferay, etc) esetében... néha jók, de sokkal több helyen van felesleges szarul használva, mint ahány helyen tényleg érdemes bevetni őket.

Nem félek, hogy nem lesz munkám. :)

En nagyjabol igy tudom elkepzelni:

ChatGPT is also useful if you just want a quick example to give you ideas or help you remember a module or function that you've already used before.

https://www.redhat.com/sysadmin/chatgpt-ansible-playbooks

Vagyis tanulashoz, otletelni, vagy egy alap strukturat felvazoltatni vele. Hogy mikor jut el arra a szintre, amikor mar tenyleg rendesen mukodokepes kodot tud generalni, az egy nagyon jo kerdes.

Hogy mikor jut el arra a szintre, amikor mar tenyleg rendesen mukodokepes kodot tud generalni, az egy nagyon jo kerdes.

Majd amikor a userek eljutnak arra a szintre, hogy egyedül, visszakérdezés nélkül képesek lesznek lediktálni egy specifikációt. Azaz soha. :)

Én annyit tudok elképzelni, hogy felértékelődik a business analyst szerepkör, aki (micsoda meglepetés! :)) tolmácsol majd a user és a chatgpt között. Illetve a seniorabb fejlesztőkre nőhet a kereslet a junior-mediorok rovására, mert nekik kell majd validálni azt, amit a chatgpt kihányt magából. Ha valamilyen pozíció veszélyben van, akkor az a stackoverflow-kopipaszta-munkás.

Majd amikor a userek eljutnak arra a szintre, hogy egyedül, visszakérdezés nélkül képesek lesznek lediktálni egy specifikációt. Azaz soha. :)

Nem kell ilyet. A ChatGPT képes state-et tartani és iterálva finomítani a meglévő igényeket az új igényekkel.

képes állapotot tartani = nem

elfelejti, mit írt eddig. sokszor generálás közben megáll. 2x visszakérdezel mi volt a függvény, 2x mást ír.

arról nem is beszélve, hogy deprecated fosokat használ

ha nem tud valamit, akkor többet tud bullshittelni a válasz helyett, mint a legkutyaütőbb kollegám, ahelyett hogy azt mondaná, hogy fogalmam sincs. vagy rosszabb esetben leír valami kódot aminek semmi köze semmihez, te meg nézegetheted, hogy ez most mi a faszom, hogy kéne ennek működnie.

> arról nem is beszélve, hogy deprecated fosokat használ

mennyire? 2021-es szovegekkel tanitottak, ott neki megallt az ido... ahogy pl. az ukran haborurol se tud meg a kiralyno halalarol se.

> tud bullshittelni a válasz helyett

hat mert ezt tanulta a netrol :)

Legutóbb esp32-re szerettem volna generáltatni vele némi C kódot. Most esp-idf 5.0-nél járunk, én 4.4-et használok, egyikkel sem volt jó a kód. Megnéztem még kíváncsiságból 3.3.6-ban, hogy vannak-e azok a dolgok, amiket használt, de nem láttam. Szóval vagy valami régebbi lehetett, vagy csak simán amiben nem volt biztos oda beblöffölt valamit..

Rákérdeztem, hogy melyik headerből szedte ezt, és meg is mondta, de nem találtam egyik verzióban sem ilyesmit.

Aztán mondtam neki, hogy ebben a verzióban nincs ilyen légyszi írd meg a 4-es verzióhoz. Erre mondja, hogy ja igen bocsi tényleg igazad van, tényleg nincs benne. mindjárt írom is a kódot, és erre leírta ugyanazt a kódot, mint előtte.. hát mondom köszi, nagy segítség vagy, de tényleg!

képes állapotot tartani = nem

De, tud.

elfelejti, mit írt eddig. sokszor generálás közben megáll. 2x visszakérdezel mi volt a függvény, 2x mást ír.

Aham, igen, vannak ilyenek.

arról nem is beszélve, hogy deprecated fosokat használ

Nyilván, 2021-ig tanult.

ha nem tud valamit, akkor többet tud bullshittelni a válasz helyett, mint a legkutyaütőbb kollegám, ahelyett hogy azt mondaná, hogy fogalmam sincs. vagy rosszabb esetben leír valami kódot aminek semmi köze semmihez, te meg nézegetheted, hogy ez most mi a faszom, hogy kéne ennek működnie.

Ennek ellenére képes iterációval egészen jó eredményt hozni.

Viszont a másik oldalon nem egy virtuális BA/architekt ül, hanem egy virtuális user. :) Az, hogy from scratch megír egy-egy függvényt, az szép dolog, de az továbbra is csak a SO copypaste-et váltja ki. A nagy kunszt az lenne, hogy odaadod neki a Github linket, és mondod neki, hogy csak egy mezőt kell felrakni. Ehhez viszont nem elég szöveget generálni, hanem értelmezni is kell a baseline verziót.

Amit eddig láttam, az olyan demo, hogy egy programozáshoz nem értő ember képes volt a ChatGPT-vel megíratni az üzleti igényéhez és a design-hoz illeszkedő minimalista mock backend szolgáltatást és ezzel fejlesztő nélkül képes volt finomítani az igényeit, látta működés közben és amikor úgy látta, hogy elkészült, akkor ezt át tudta adni a fejlesztésnek, hogy köpködjék meg és fésüljék bele a meglévő rendszerbe.

Kb. ilyesmire gondoltam a fenti kommentben. Az, hogy kell egy Flask alapú restful CRUD backend, ami Firestore-ban piszkál doksikat, az a hivatalos doksikból és a Stack Overflow-ból összeollózható. Ha egyszer lesz egy kis időm, kipróbálom, hogy billentyűleütés nélkül meg lehet-e csinálni, csak copypaste és kattintgatás. Szerintem simán. Ez gyakorlatilag az a szint, amit a junior, esetleg alsó-medior szint csinál.

Utána a következő lépés, hogy ezt "már csak bele kell fésülni" a meglévő rendszerbe, hát igen, ott szoktak ordenáré szopások lenni egy-egy projektben. :)

Kb. ilyesmire gondoltam a fenti kommentben. Az, hogy kell egy Flask alapú restful CRUD backend, ami Firestore-ban piszkál doksikat, az a hivatalos doksikból és a Stack Overflow-ból összeollózható. Ha egyszer lesz egy kis időm, kipróbálom, hogy billentyűleütés nélkül meg lehet-e csinálni, csak copypaste és kattintgatás. Szerintem simán. Ez gyakorlatilag az a szint, amit a junior, esetleg alsó-medior szint csinál.

Leírom ismét: "egy programozáshoz nem értő ember". Tehát nem fogja tudni, hogy mi és honnan kellene másolnia és beillesztenie. Abban tud sokat segíteni jelenleg is a ChatGPT, hogy az üzlet már egy sokadik lépésben finomított és viable igénnyel álljon elő, ne egy működésképtelen vagy használhatatlan igénnyel.

Utána a következő lépés, hogy ezt "már csak bele kell fésülni" a meglévő rendszerbe, hát igen, ott szoktak ordenáré szopások lenni egy-egy projektben. :)

Nem az AI által megírt kódot kell belesimítani a rendszerbe, hanem az igény lesz olyan, hogy már kb. végleges.

Leírom ismét: "egy programozáshoz nem értő ember". Tehát nem fogja tudni, hogy mi és honnan kellene másolnia és beillesztenie.

Szerintem itt nincs semmi ellentmondás, de akkor leírom én is újra. :)

2. bekezdés itt: szerintem nem a usereket váltja ki a ChatGPT, hanem azokat, akik eddig is copypaste-ből éltek. Ergo olyan fejlesztőket, akik már tudták, hogy mit és hova kell másolni, de még nem tudtak ennél absztraktabb problémát megoldani.

2. bekezdés itt: szerintem nem a usereket váltja ki a ChatGPT, hanem azokat, akik eddig is copypaste-ből éltek.

Az egy komplettül másik szál.

Ergo olyan fejlesztőket, akik már tudták, hogy mit és hova kell másolni, de még nem tudtak ennél absztraktabb problémát megoldani.

Jelenleg nem tudja kiváltani ezeket a fejlesztőket, lehet, hogy valamikor majd igen, de a jelenleg elérhető demók nem erről szólnak.

Szerkesztve: 2023. 02. 10., p – 13:19

arra jó A.I. hogy felértékélődjön az összes művész és programozó munkája.
mert az A.I. keményen bullshitel, plusz szerintem még a szerzői jog se tisztázott teljesen...
grafikusoknál ugye ott vannak azok a képek amin mindenhonnak újjak nőnek ki,stb.
de valaki megmondta a chatgpt-nek hogy írja meg assemblyben a hello world-öt Commodore 64-en.
megcsinálta nem igazán úgy sikerült ahogy azt gondolnánk!:D
karakterenként meghivogatja a kernal "betűkiíróját"...

*=$0801
LDA #"H"
JSR $FFD2
LDA #"E"
JSR $FFD2
LDA #"L"
JSR $FFD2
LDA #"L"
JSR $FFD2
LDA #"O"
JSR $FFD2
LDA #" "
JSR $FFD2
LDA #"W"
JSR $FFD2
LDA #"O"
JSR $FFD2
LDA #"R"
JSR $FFD2
LDA #"L"
JSR $FFD2
LDA #"D"
JSR $FFD2
LDA #"!"
JSR $FFD2
RTS

ez pedig a klasszikus ciklusos megoldás.

        *=$0801
        LDX #$00
LOOP:   LDA TEXT,X
        STA $0400,X
        INX
        CPX #$0C
        BNE LOOP
        RTS
TEXT:
        .TEXT "HELLO WORLD!"

a chatgpt pont olyan, mint a mindenhez is erto mester. mindenhez ert de igazabol semmihez, de jol ki tudja dumalni magat... elolvastattak vele az osszes konyvet wikipediat weboldalt stb amit csak talaltak a neten, hat ez lett belole :)

az alap modellt (gpt3) lehet tanitani, finomhangolni specifikusan arra a teruletre, amire hasznalni akarjak. ha c64 programokat akarnak iratni vele, akkor abbol kell neki sokat mutatni, es megtanulja. az hogy a millionyi konyv kozul amit elolvastattak ezzel volt par c64 kod valamelyikbe meg nyilvan nem tud jol kodolni, de igy se semmi hogy egyaltalan tud, es meg mukodo kodot is ir, meg ha nem is optimalisat. hozzateszem, hogy a tanar aki nekem a foiskolan assemblyt tanitott se optimalis kodot irt a faktorialisszamolasra, es amikor en vizsgan egy optimalisabb, rovidebb verziot irtam le nem is akarta elfogadni...

a kepgeneralok detto. megtanitottak neki a netrol az osszes kepet, persze hogy sokszor katyvasz amit rajzol, de ha hozzaveszed hogy Picassotol es egyeb absztrakt es "muveszi" kepekbol is tanult, nem is annyira meglepo, hogy nem anatomiailag tokeletesek az emberabrazolasai.  most is vannak olyan modellek a neten, amit direkt emberekre tanitottak, azok lenyegesen pontosabb es elethubb, anatomiailag is egesz korrekt portrekat tudnak generalni, de pl. tajkepre alkalmatlanok. ahogy a muveszek se tudnak mindent is jol lefesteni, van aki portreban jobb van aki tajkepben...

* = $0801 "Basic Upstart"
:BasicUpstart(start) // 10 sys$0810
* =$0810 "Program"
start:
        lda #$08        //H
        sta $0400
        lda #$05        //E
        sta $0401
        lda #$0c        //L
        sta $0402
        sta $0403
        sta $0409
        lda #$0f        //O
        sta $0404
        sta $0407
        lda #$17        //W
        sta $0406
        lda #$12        //R
        sta $0408
        lda #$04        //D
        sta $040a
        lda #$21        //!
        sta $040b
        rts

ez már nem fut ki végtelenre és gyors is!:D

Attól, hogy fel tudja valaki mondani szó szerint, mi van pl. egy elektrotechnikai vagy informatikai szakkönyvben, attól ő még nem lesz se villamosmérnök, se informatikus. Fogalma nincs, miről beszél, csak értelmesen hangzó mondatokat rak össze.

Abszolut egyetertek. Nagyobb a fustje mint a langja.
Ebbol lesz egy okos kereso. En nem latok bele tobbet.
Egyebkent az openai api annyira nem draga, tehat ezen felul ki lehet maxolni. Hajra. (Nem neked Zsugabubus)

Biztos, hogy nem én gonoszoltam le!