Az árokból: 5 hónap AI-asszisztált fejlesztés tanulságai

Az árokból: 5 hónap AI-asszisztált fejlesztés tanulságai

Júl 04, 2026 ai development vibe coding developer tools distributed systems machine learning operations software engineering productivity code generation ai-assisted development

Ahogy a "drága hiba" "játékváltó" lett: váratlan utunk az AI programozással

Legyünk őszinték: a legtöbb fejlesztőnek felhő-carrier kapcsolata van az AI kódolási asszisztensekkel. Láttuk a demókat, olvastuk a sikertörténeteket, és talán mi is kipróbáltunk valamit – hogyaztán heteket töltsünk a generált kód takarításával, ami jól nézett ki, de nyomás alatt szétesett.

Nálunk is előfordult. Néhány évvel ezelőtt bevetettük az early-stage AI eszközöket, és hónapokra szóló javítási munkát kaptunk a nyakunkba. A kód tiszta volt, átment az első teszteken, és teljesen figyelmen kívül hagyta, amit valójában szerettünk volna elérni. Drága lecke volt arról, hogy miért balszerencse az AI kimenetére vakon hagyatkozni.

Szóval amikor ebben az évben visszatértünk az AI programozási eszközökhöz, megfelelő óvatossággal tettük. Amit találtunk, meglepett minket: az eszközök jelentősen érettebbek lettek, de ami fontosabb, az számít, hogy hogyan használod őket, nem csak az, hogy melyiket választod.

Az igazi áttörés: Kicsiben gondolkodni, nagyban cselekedni

A fordulópont váratlan irányból érkezett. A csapat egyik nem-fejlesztő tagja – a marketing vezetőnk – mindössze pár óra alatt összerakott egy működő adatbázis klienst egy AI asszisztens segítségével. Működött. Nem tökéletesen, de elég jól ahhoz, hogy funkcionális legyen.

Ez felkeltette az érdeklődésünket. Ha az AI segíthetett egy nem mérnöknek működő kódot szállítani gyorsan, vajon mire lenne képes a tényleges funkciófejlesztésben?

Elkezdtük kísérletezni a meglévő rendszerek bővítésével. A REST API-nknak új képességekre volt szüksége a kötegelt műveletek kezeléséhez. Az eredeti implementáció jelentős mérnöki erőfeszítést igényelt. Az AI-támogatott bővítés? Két nap.

Ez volt a kulcs: az AI kiválóan teljesít, amikor meglévő kódbázisokat kell kiterjeszteni és építeni. Megérti a kontextust, az elnevezési konvenciókat és az architekturális mintákat, ha azok már adottak. Amivel küzd, az az összetett rendszerek nulláról történő létrehozása ilyen alap nélkül.

A nagy fogadás: Egy évtizedes kihívás megoldása

Ezekből a sikerekből merítve úgy döntöttünk, teszteljük a határokat. Volt egy funkció, amit a felhasználóink évről évre kértek – egy képesség, amit azért húztunk le, mert a hagyományos fejlesztési megközelítéssel túl bonyolultnak tűnt megvalósítani.

Olyanról beszélünk, mint komoly lekérdezési képességek hozzáadása egy elosztott key-value store-hoz. Gondolj úgy rá, mint SQL támogatás hozzáadása egy rendszerhez, ami hagyományosan az egyszerű, villámgyors műveletekre volt optimalizálva. Hagyományos módszerekkel a becslésünk minimum két év volt.

A kérdés egyszerű volt: meg tudja-e változtatni az AI-asszisztált fejlesztés ezt az egyenletet?

Öt hónappal később megvolt a válaszunk. Elindítottuk azon funkciók beta támogatását, amelyek több mint egy évtizede a TODO listánkon senyvedtek.

A fejlesztési modell, ami valójában működik

Itt van, amit megtanultunk: az AI nem helyettesíti a jó mérnöki ítélőképességet – felerősíti azt. A fejlesztési folyamat során végig megőriztük azt a fegyelmezett hozzáállást, ami mindig is működött összetett rendszereknél:

Kezdj magas szintű tervvel. Tudnod kell, hová tartasz, mielőtt kódot írsz – még ha azt az AI írja is.

Bontsd részletes fázisokra. Az implementációnk több tervezési iteráción ment keresztül, mindegyik 10-20+ elkülönült fázissal. Az AI segíthet ezeket a fázisokat gyorsabban végrehajtani, de csak akkor, ha előtte elvégezted a gondolkodási munkát.

Tesztelj megszállottan. Itt válik az AI segítsége igazán átalakítóvá. Átfogó tesztcsomagok generálása – beleértve az elosztott rendszerteszteket, amiknormally hatalmas erőfeszítést igényelnek – megvalósíthatóvá válik. Izoláltan tesztelhettük az egyes rendszerrétegeket, mielőtt az integrációhoz értünk volna, ami drámaian felgyorsította az utat a működő implementációig.

A különböző AI modellek komplementer erősségei

Nem minden AI asszisztens egyenlő, és mi megtanultuk kihasználni az eltérő erősségeiket:

Az A modell (Claude-ot használtuk) kiválóan kezelte a kontextust hosszú fejlesztési sessions során. Nyomon követte, hol tartottunk a nagyobb tervben, mi van még hátra, és hogy az új kód hogyan illeszkedik a nagyobb architektúrába. Ez a modell volt a projektmenedzserünk és navigátorunk.

A B modell (Codex) jobbnak bizonyult komplex, fókuszált problémák megoldásában. Amikor egy különösen trükkös bug-ba ütköztünk vagy egy bonyolult algoritmust kellett implementálni, ez a modell gyakran gyorsabban talált elegáns megoldást, mint mi.

A tanulság? Ne kötelezd el magad kizárólag egy eszköz mellett. Építs egy workflow-t, ami kiaknázz minden modell erősségeit.

Az async kihívás: Ahol az AI még mindig útmutatásra szorul

Van egy árnyalat, ami meglepett minket: az AI programozási eszközök figyelemre méltóan jól működnek szekvenciális, szinkron kóddal – azokkal a mintákkal, amiket a legtöbbet láttak a képzési adatokban.

Amikor aszinkron műveleteket dobsz be a képbe, érdekes dolgok történnek. A modellek néha elveszítik azt a kontextust, ami egy tapasztalt fejlesztőnek evidens lenne. De itt jön a szép rész: általában viszonylag egyszerű iránymutatással és magyarázatokkal korrigálni lehet a kurzort.

A fordítottja is igaz. Az a sebesség, amivel az AI működő kódot generál – különösen boilerplate-et és jól ismert mintákat – teljesen túlszárnyalja, amit egy ember manuálisan elérhet. Olyan, mintha lenne egy kimeríthetetlen pair programmered, aki sosem unja meg az unit tesztek írását.

Mit jelent ez a következő projektednek?

Ha az AI-asszisztált fejlesztést fontolgatod, itt az őszinte értékelésünk:

Kivételesen jól működik, ha:

  • Meglévő kódbázisod van megalapozott mintákkal
  • Meglévő funkcionalitást bővítesz vagy adsz hozzá
  • Átfogó tesztcsomagokat tudsz generálni (valami, amit mindig akartunk, de sosem volt kapacitásunk rá)
  • Fenntartod az emberi felügyeletet és nem félsz iterálni a promptokon

Kockázatosabb, ha:

  • Összetett rendszereket építesz nulláról referencia architektúra nélkül
  • A domain mély kontextuális megértést igényel, amit az AI nem kapott meg
  • Olyan implicit követelményeket vársz el az AI-tól, amiket nem specifikáltál explicit módon

A technológia annyira érett lett, hogy komoly mérnöki munka tényleg lehetséges AI támogatással. De még mindig csak egy eszköz, ami hozzáértő kezeket igényel.

A vibe coding előnye

Van egy kifejezés, ami egyre inkább terjed a fejlesztői körökben: "vibe coding." Valami igazat ragad meg arról, hogyan változtatja meg az AI a fejlesztési élményt. Amikor az AI intézi a boilerplate-et és generálja az első implementációkat, a mérnökök több időt tölthetnek azokkal a kreatív, architekturális döntésekkel, amik tényleg számítanak.

Az öt hónapos utunk bizonyította, hogy ez nem csak hype. Eljuttattunk funkciókat, amelyek hagyományos megközelítéssel évekbe teltek volna. Ami még fontosabb: végig megőriztük a minőséget – mert a tesztelési infrastruktúra, amit az AI segítségével építettünk, korán elkapta a problémákat.

Az összetett rendszerek fejlesztésének jövője nem arról szól, hogy a mérnököket AI-ra cseréljük. Arról szól, hogy szuperképességeket adunk a mérnököknek – és megtanuljuk, mikor bízzunk az eszközökben, és mikor alkalmazzuk az emberi ítélőképességet.

Ez egy olyan vibe, amivel egyet tudunk érteni.

Read in other languages:

BG EL CS UZ TR SV FI RO PT PL NB NL IT FR ES DE DA ZH-HANS EN