CIKKSOROZAT · 4. rész · AI a fejlesztői munkában

Így dolgozom az AI-val — és ezt továbbra sem bízom rá

Hol segít az AI a feltárástól a tesztelésig, és mi marad fejlesztői felelősség? Saját munkaszemlélet, ellenőrzés és átlátható döntések.

Kódváltoztatás és teszteredmény összevetése az eredeti követelménnyel.
Nem elég, hogy elkészült: az eredeti elvárással is össze kell vetni. AI-val készült illusztráció, nem valódi projekt kódja.
A cikk tartalma
  1. 01Először azt kell megértenem, mi a feladat
  2. 02Hasznos, ha van kivel végiggondolni egy megoldást
  3. 03Kisebb feladatot könnyebb jól átadni
  4. 04Az ellenőrzéshez is segítséget adhat, de nem igazolhatja saját magát
  5. 05Nem mindegy, mit adunk át az eszköznek
  6. 06Az ügyfélnek az eredményből kell éreznie a különbséget

Az AI használatáról sokszor úgy beszélünk, mintha az lenne a lényeg, hány perc alatt készül el vele valami. Fejlesztőként engem az is érdekel, mi történik utána. Megértem-e az elkészült megoldást, beleillik-e a rendszerbe, és nyugodtan oda tudom-e adni valakinek használatra?

Az AI-nak van helye a munkámban, de nem egyetlen feladatot adnék neki azzal, hogy készítsen el helyettem egy egész terméket. Több különböző ponton tud segíteni: rendet tenni az információk között, felvetni egy másik megközelítést, elkészíteni egy körülhatárolt rész első változatát. Ezekből akkor lesz jó munka, ha közben én is követem, mi miért történik.

Először azt kell megértenem, mi a feladat

Egy fejlesztés ritkán kezdődik kész specifikációval. Inkább levelek, jegyzetek, képernyőképek és egy beszélgetés alapján próbáljuk összerakni, mire van szükség. Ebben az AI hasznos segítség lehet: összefoglalhatja az elhangzottakat, csoportosíthatja az igényeket, és kiemelheti azokat a pontokat, amelyek még nem világosak.

Az összefoglalót viszont vissza kell olvasni az eredeti kérés mellé. Könnyen elveszhet benne egy fontos feltétel, vagy kész tényként jelenhet meg valami, ami csak feltevés volt. Ha az ügyfél még nem döntötte el, szüksége van-e előfizetéses működésre, abból nem lehet észrevétlenül kötelező funkció a következő dokumentumban.

Nekem egy jó előkészítés végén az látszik világosan, miben állapodtunk meg, mit feltételezünk, és mire kell még rákérdezni. Az AI ebben rendszerezhet, de az ügyfél helyett nem döntheti el, mit szeretne. A gyorsan elkészült brief csak akkor előny, ha pontosabb beszélgetéshez vezet.

Hasznos, ha van kivel végiggondolni egy megoldást

Tervezés közben értékes lehet egy másik nézőpont. Milyen egyszerűbb megoldás jöhet szóba? Milyen hibára nem gondoltunk? Valóban szükség van új rendszerre, vagy a meglévőt kellene összekötni valamivel? Ezekre érdemes többféle választ is megvizsgálni.

Az AI javaslatai közül nem feltétlenül a leghosszabb vagy a legtöbb technológiát felsoroló a legjobb. Egy kisebb vállalkozás belső rendszeréhez nem attól választanék összetett felépítést, mert az hangzik korszerűnek. A várható használat, a karbantartás, a hozzáférhető szakértelem és a költségek együtt számítanak.

A javaslat ezért számomra beszélgetési alap. Jó, ha megmutat valamit, amire nem gondoltam, de a döntést össze kell vetnem a projekt valós körülményeivel. Ugyanez igaz egy jól megfogalmazott ellenérvre is: attól, hogy meggyőzően hangzik, még meg kell néznem, vonatkozik-e a mi esetünkre.

Kisebb feladatot könnyebb jól átadni

A megvalósításnál sokat számít a feladat határa. Egy konkrét adatellenőrzés, egy elkülönített felület vagy egy ismert működéshez készülő teszt könnyebben átnézhető, mint egy egyszerre átírt teljes alkalmazás. A kisebb lépésekben azt is hamarabb észre lehet venni, ha az AI rosszul értelmezett valamit.

Például egy időpont-módosító funkciónál előre tisztázható, ki módosíthat, meddig teheti meg, és mi történik a korábbi foglalással. Ha ezek a feltételek nincsenek leírva, az eszköz kénytelen valamilyen megoldást választani helyettünk. Attól az eredmény még működhet a képernyőn, csak éppen nem biztos, hogy azt csinálja, amit szeretnénk.

A kapott változtatásnál ezért nem csak a végeredményt nézném. Azt is meg kell érteni, mely fájlokhoz nyúlt hozzá, milyen függőséget hozott be, és nem változtatott-e meg más működést is. Egy gyorsan elkészült részletnek is bele kell illenie a már létező rendszerbe.

Az ellenőrzéshez is segítséget adhat, de nem igazolhatja saját magát

Az AI jól használható lehetséges tesztesetek összegyűjtésére. Mi történik hiányzó adatnál, lejárt hozzáférésnél, ismételt kérésnél vagy egy külső szolgáltatás kiesésénél? Már az is hasznos, ha több olyan helyzet kerül elő, amelyet egyébként csak később vennénk észre.

Arra viszont figyelni kell, hogy az elkészített teszt ne csak ugyanazt a félreértést rögzítse, amely a kódba is bekerült. A helyes működést az elfogadott üzleti szabályból kell levezetni, nem abból, ahogyan az aktuális program történetesen viselkedik. Ha a foglalásnak fizetés nélkül nem szabad véglegessé válnia, ezt a követelményt akkor is tartani kell, ha egy generált teszt mást vár.

A teszteket futtatni kell, a fontos folyamatokat pedig a felületen is végig kell nézni. A „kész” és a „tesztelhető” között ugyanúgy különbség van, mint a „tesztelve” és a „minden helyzetben hibátlan” között. Érdemes pontosan fogalmazni arról, mit ellenőriztünk ténylegesen.

Nem mindegy, mit adunk át az eszköznek

Az AI-val végzett munkának adatkezelési oldala is van. Egy technikai példa sokszor kitalált adatokkal is vizsgálható; nem feltétlenül kell hozzá valódi ügyfélnév, teljes levelezés vagy éles hozzáférés. A feladathoz szükséges információt kell átadni, az alkalmazott szolgáltatás és a projekt feltételeinek ismeretében.

Külön kérdés, ha a rendszer külső levelet, weboldalt vagy dokumentumot olvas. Ezekben olyan szöveg is szerepelhet, amely utasításként próbálja eltéríteni a működését. Ezt a kockázatot prompt injectionnek nevezik: a feldolgozandó tartalom nem válhat automatikusan követendő paranccsá. Az OWASP leírása jól összefoglalja, miért kell erre az alkalmazás tervezésekor is figyelni.

Ha az AI nemcsak szöveget készít, hanem fájlt módosíthat, levelet küldhet vagy egy üzleti rendszerben intézkedhet, a jogosultságokat és a jóváhagyási pontokat külön meg kell tervezni. Egy válasz megfogalmazása és annak tényleges kiküldése nem ugyanaz a felelősség.

Az ügyfélnek az eredményből kell éreznie a különbséget

Ma a saját munkámban azt látom, hogy az AI a programozás és a hibakeresés sok időigényes, ismétlődő részét felgyorsítja. Az automatizálásaimmal együtt néha olyan érzés vele dolgozni, mintha lenne mellettem még két programozó és egy asszisztens. Ezt nem létszámra vagy munkaórára pontosan átszámítható eredményként mondom, hanem így élem meg a különbséget. A feladat átgondolása, a döntések és az elkészült munka ellenőrzése közben ugyanúgy az én felelősségem marad.

A dokumentáció és a kommunikáció előkészítésében szintén van helye ezeknek az eszközöknek. Egy változtatás összefoglalója, egy átadási leírás első változata vagy egy megbeszélés rendezett jegyzete mind hasznos lehet. A technikai tényeket azonban itt is ellenőrizni kell: a dokumentáció ne ígérjen olyan működést, amelyet a rendszer nem tud.

Nem szeretnék minden feladatra általános gyorsulást mondani. Van, ahol az előkészítés lesz könnyebb, máshol az ellenőrzés viszi el az idő jelentős részét. Az a fontos, hogy a teljes folyamat végén jobb legyen az eredmény, és érthető maradjon, mi készült el.

Az ügyfél végül nem azt használja, hány javaslatot kértem egy modelltől, hanem a rendszert, amelyet átadunk neki. Nekem ezért az AI akkor jó segítség, ha mellette is megmarad a munkám átláthatósága és a döntésekért vállalt felelősségem.

A következő részben az ügyfél oldaláról nézzük ugyanezt: hol érdemes elkezdenie egy kisebb vállalkozásnak, ha az AI-t a saját mindennapi működésében szeretné hasznosan alkalmazni?

Thomas Peter Kemendi

Thomas Peter Kemendi

Közel húsz éve foglalkozom webfejlesztéssel és digitális rendszerekkel. Ezekben az írásokban a munkám során kialakult szemléletet, a döntések mögötti megfontolásokat és a technológiai változások tanulságait osztom meg.

Bemutatkozás

Következik · 5. rész

Hol segíthet valóban az AI egy kis- vagy középvállalkozásban?

A következő részben az ügyfél oldaláról nézzük meg, hol érdemes elkezdeni az AI használatát a mindennapi üzleti működésben.

Minden cikk

CIKKSOROZAT

Fejlesztői szemlélet, változó eszközök

Hat írás a kezdetekről, az alkalmazkodás nehézségeiről és arról, mire jutok ma az AI-val a saját munkámban. A személyes történetek után vállalkozásoknak szóló példák és összetettebb rendszerek következnek.

  1. 01
  2. 02
  3. 03
  4. 04
    4. rész · AI a fejlesztői munkában

    Így dolgozom az AI-val — és ezt továbbra sem bízom rá

  5. 05
    Tervezett rész

    Hol segíthet valóban az AI egy kis- vagy középvállalkozásban?

  6. 06
    Tervezett rész

    A működő demótól az üzleti rendszerig — AI, SaaS és vállalatirányítás