AI és a fejlesztői munka

Az elmúlt pár hónapban egyre inkább felhasználom a munkáhmoz az AI-t, egy rövid összefoglalót írtam négy kis screencast-tal gondolatébresztőnek. Az AutoGPT-t egyelőre csak tesztelem, de azt is be kéne fogni valahogy értelmes munkára :)

S persze hosszútávon ez teljesen átformálja a fejlesztői munkát, igyekszem alkalmazkodni a változásokhoz.

Kommentben egyéb ötleteknek, AutoGPT trükköknek nagyon örülök. A "kihalnak a fejlesztők" rant-et mellőzzük, persze ez benne van a pakliban - diszruptív persze. Köszönöm!

Hozzászólások

Szerkesztve: 2023. 04. 13., cs – 11:24

Köszi az összefoglalót. Én is mostanában kezdtem használni a ChatGPT-t arra, hogy az unalmasabb taskokat megcsináltassam vele. Pl ha van egy működő kódom (esetemben Python), akkor abból íratok vele függvényt, amiben van paraméter ellenőrzés meg hibakezelés, illetve az elkészült függvényhez is ezzel íratom meg a dokumentációt. Ezek elég jól mennek neki, szóval hasznos. Olyat is próbáltam, hogy megadtam neki az elérhető adatot, és írattam vele transzformációs függvényt, de az ott már csak nagyjából ment neki, a részleteket kicsit csiszolni kellett.

Ami tetszik ebben az munkameneten az az, hogy koncentrálhatok a kódolás kreatív részére, pl. az általam kitalált algoritmus implementálására, az unalmas rutint azt elég jól meg tudja a ChatPT is csinálni. Ez így esetemben nagyon hatékony tud lenni.

Csaba

Én magam nem használtam type hint-eket a kódomban, de a ChatGPT időnként tett ilyet a generált függvényekbe, de nem mindig.

Amit nagyon érdekes látni az az, hogy ha megkérem, hogy írjon dokumentációt adott kódhoz, minden alkalommal kicsit más stílusban adja az eredményt, pl néhol parameters-nek hívja a paramétereket, néha arguments-nek, máshol meg args.-nak; néha behúzza tabbal a szöveget, néha nem. Erre figyelnem kell, alighanem adok majd neki mintát, hogy hogy nézzen ki a dokumentáció, különben olyan összevissza lesz, mintha más más emberek dolgoztak volna a kódon.

Csaba

minden alkalommal kicsit más stílusban adja az eredményt, pl néhol parameters-nek hívja a paramétereket, néha arguments-nek, máshol meg args.-nak; néha behúzza tabbal a szöveget, néha nem.

Ez azért van, mert ért nagyon sok programnyelven, és bármelyik ismert programnyelvet át tudja írni egy másik programnyelvre. Innem örökheti a különböző kommenteket.

Próbáld ki, megkéred miről mire, bemásolod a forrást is és lefordítja és ír egy útmutatót is arról mit mire módosított.

Hat mi csak arra kertuk, hogy irja meg a commenteket a package publikus reszeihez. A srac 4szer futott neki, es jo nagy baromsagokat csinalt. Aztan egyszercsak sikerult neki legeneralni, amit szerettunk volna. Ez tok jo, akkor ugyaneyt szeretnem erre a package-re is, es megint elkezdte a baromsagokat. Szoval en nem voltam vele meglegedve, ennyi ido alatt begepelem :D

Szerkesztve: 2023. 04. 13., cs – 11:33

ChatGPT jó arra is, hogy bedobsz neki egy fv-t, mire ő elmagyarázza mire jó, hogyan működik. Már csak azt kellene, hogy a választ ne olvasni kelljen, hanem mondja. Fasza kis magántanár lenne belőle.

ps.: Magyarázat után kérheted, hogy optimalizáljon.

Unit test írásra is elég hatékonyan lehet használni. Múltkor egy véletlenszerűen kiválasztott c# osztályt dobtam be neki a projektből amin dolgozom és kértem hogy írjon rá unit tesztet xUnit használatával és megírta. Lehet vele gyártatni SQL scriptet is mondjuk ha egy adatbázis táblát akarsz vele csináltatni. Amire biztos fogom majd használni az a kód dokumentálás. Szerintem ezt minden fejlesztő utálja, hogy pl. xml kommenteljen a class-ok vagy függvények fölött. Arra tényleg nagyon jó lehet, hogy az ilyen utált melókat az ember lepasszolja neki és tényleg csak a fejlesztés azon részére koncentrál, hogy egy problémát hogy lehet megoldani.

Én is írattam vele SQL kódot is. Azt nagyon meredeknek találtam, hogy pusztán az oszlopnevek és a kontextus alapján helyesen egészítette ki a példaadatokat. (Csak a primary kulcsot adtam meg neki és, abból és az oszlopnevekből összerakta az összes értéket helyesen.)

Csaba

Szia, szuper a cikk. Nekem a GitHub Copilot a JetBrains ReSharper-el nem volt kompatibilis, próbáltak versenyezni ki a gyorsabb "ide vajon mit gondolt a költő" versenyben, de megoldottam hogy kaptak külön gyorsbillentyűt és így szabályozom melyik "gondolt" a jobb. 

Várólistás vagyok a Visual Studio-ba beépülő csevegős, kódanalizáló, hibajavító, unit teszt író, programelmagyarázó stb. GitHub Copilot-ra. Nagyon kíváncsi vagyok mert a Youtube videó elég meggyőző:

GitHub Copilot Chat in Visual Studio 2022
 
 

Es milyen ide-t hasznaltok? Vscode? Van amelyikben van valamilyen builtin integracio?

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Szerkesztve: 2023. 04. 14., p – 13:17

AutoGPT alatt melyik projektre gondolsz? talaltam bongeszo plugint is ilyen neven es sok mast is, de egyik se tunik erdekesnek.

ChatGPT-t egyszer megprobaltam hasznalni. Miutan regeleskor vagy 10 kulonbozo email szolgaltatora is azt mondta hogy unsupported email (persze ekozben vagy 3x kellett IP cimet valtsak a rate limitet kikerulendo) rajottem hogy ez nalunk az unknown exception happenedet jelenti, es igazabol az a baja nem szabad a chat.openai.com-rol signupolni, hanem ki kell uriteni a cookie-kat/local storage-et es ujraprobalkozni a platform.openai.com-rol (ahova igy random redirectelgetett a signup flow, csak hogy csodalatos legyen a UX). Aztan akkor elkezdett baszakodni hogy kell neki telefonszam is, es ekkor otthagytam az egeszet a picsaba. Majd ha lesz downloadable, offline mukodo valtozat akkor ranezek, addigis nem erdekel mint a windows meg minden mas fos.

I hate myself, because I'm not open-source.

SD-t meg GPT2-t mar futtattam lokalisan, nincs ezeknek olyan durva gepigenyuk (raadasul AMD kartyaval, hogy jobban fajjon). Az teny hogy annak nem neztem utana mi kell a GPT4-nek, de annyival csak nem durvabb. Azert van ezek mogott cloud mert sok user van nem azert mert egy free user egy kerese egyszerre fut 100 GPUn fel percen keresztul.

I hate myself, because I'm not open-source.

a legtobb LLM-et 4db A100-ra (80GB VRAM/db) meretezik. persze vannak lebutitott (kevesebb parameter es/vagy felbontas, halffloat, byte, 4bit quantized etc) verziok azok elfutnak egy "mezei" pc-n is, ha nem is gyorsan...

GPT2 nem nagy, annal a GPT3 is nagysagrenddel tobb parameter... es aztan jott a GPT 3.5 es a GPT 4, de amugy egyik sem publikus, szoval ha lenne is vasad hozza, attol meg nem lehet on-prem hasznalni :(

írtam négy kis screencast-tal gondolatébresztőnek

Plot twist: Megírattad az AI-jal (?) :)