ChatGPT & Claude promtok: AI fejlesztői trükkök bővítve

ChatGPT & Claude promtok: AI fejlesztői trükkök bővítve

1. rész: Bevezetés és gyakorlati példák (1-2.)

Meg vagy már unva a kódgeneráló AI-k olyan sablonos, általános válaszait, amikor egy komplexebb kódstruktúrát szeretnél? Ülsz a konzol előtt, megfogalmazod a promptot, és a ChatGPT vagy a Claude egy életszerűtlen, lebutított példát dob vissza, ami messze áll a valós, éles felhaszálási esetedtől. Nem a szintaxis a gond – azt magad is tudod –, hanem az, hogy az AI nem lát bele a projekted kontextusába, a kliens igényeibe, vagy az adott keretrendszer sajátosságaiba. Ez időpocsékolás, kísérletezés, és végül is te írod meg a kódot kézzel. A fejlesztési folyamatnak ez a része még mindig stresszes és nehézkes.

De mi van, ha elmondom, hogy létezik egy módszer, amivel az AI-t egy partnerré képezheted, aki megérti a technikai feladat *mögötti* szándékot? Aki nem csak funkciókat generál, hanem olyan kódrészleteket készít, amelyek a konkrét üzleti logikát szolgálják, a biztonsági követelményeknek megfelelnek, és könnyen integrálhatók a meglévő kódstruktúrába? A kulcs a promptok tudatos, stratégiai használatában rejlik.

Ez nem a „generálj nekem egy kontakt űrlapot” szint. Arról fogunk beszélni, hogyan adhatsz olyan kontextust és megkötéseket a promptodnak, ami elmozdítja az AI-t a triviális válaszoktól a használható, szakmailag megalapozott kód felé. A tippeket úgy fogom bemutatni, hogy egy webfejlesztő vagy egy kisvállalkozó digitális döntéshozó is azonnal értse és alkalmazhassa, függetlenül attól, hogy a kódsorokat végül ő írja, vagy egy fejlesztői csapatnak ad át specifikációként.

Példa 1: Kontextus megadása – Ne csak a „mit”, hanem a „miért” és a „hol”

Rossz prompt: *„Írj egy PHP függvényt, ami ellenőrzi az e-mail címet.”*

Ez túl tág. Az AI egy általános filter_var()-os megoldást fog adni, ami lehet, hogy nem felel meg a konkrét projekt igényeinek (pl. egyedi domain-ellenőrzés, hibakezelés a frontenden stb.).

Jó prompt – a fejlesztői nézőpont:

„Kódolj egy PHP függvényt 'validateEmail' néven, amely része egy WordPress custom pluginnek. A függvénynek:
1. Beérkező stringre alkalmazza a filter_var() függvényt FILTER_VALIDATE_EMAIL flaggel.
2. Ellenőrizze, hogy a domain (@ utáni rész) szerepel-e a $allowedDomains = ['cegem.hu', 'partner.com'] tömbben.
3. Ha valid és a domain megengedett, térjen vissza true-val.
4. Ha nem valid vagy a domain tiltott, logolja a hibát a WordPress WP_DEBUG_LOG-ba a felhasználó IP-címével együtt, és térjen vissza false-al.
5. A függvényt dokumentáld PHP docblock-kal, a @param és @return tag-ekkel. Ne használj külső könyvtárat.”

Miért jobb ez a módszer? A prompt beágyazza a kódot a kontextusba (WordPress plugin), meghatározza az üzleti logikát (csak bizonyos domain-ek), előírja a hibakezelési és naplózási követelményeket (biztonság, nyomkövethetőség), és rögzíti a dokumentációs szabványt. Az AI ezzel a prompttal olyan kódot generál, amely szinte közvetlenül beilleszthető a projektbe, sok időt és fejfájást megspórolva.

Példa 2: A szerep meghatározása és a kimenet formátumának előírása

Gondolj bele, milyen hatékony lehet, ha nem csak *kérsz* valamit, hanem megmondod, *milyen szakemberként* csinálja meg. Ez aktiválja az AI belső, specifikusabb tudásbázisait.

Jó prompt – a projektmenedzser vagy egyéniválló nézőpontja:

„Viselkedj egy senior full-stack fejlesztőként, aki egy ügyfélnek Bootstrap 5-ös alapú admin felületet épít. A feladat egy olyan responsive táblázat komponens létrehozása a meglévő SCSS struktúrába, ahol:
- A táblázat kerüljön egy `.card` elembe, fejlécében legyen a szűrő ikon.
- A sorok zebra stílusúak legyenek (striped).
- A kis képernyőn vízszintes görgetés legyen.
- Hozz létre egy példa SCSS-fájl részletet a 'components/_table.scss' néven, amely:
    * Definiál egy '$table-accent-bg' változót a saját színpalettánk alapján.
    * A '.table-responsive' osztályhoz adjon egy enyhe box-shadow-t a görgetés jelezésére.
- Az elkészült kódot mutasd be először egy egyszerű HTML/Példa struktúrában, majd külön blokkban az SCSS kóddal. Ne használj JavaScriptet a funkcionalitáshoz.”

Mi változik? Az AI nem egy egyszerű Bootstrap táblázat kódját másolja, hanem úgy építi fel a választ, ahogy egy tapasztalt fejlesztő tenné: figyelembe veszi a komponens architektúrát, a saját SCSS változókat, és a reszponzív tervezés gyakorlati megvalósítását. Az eredmény egy szakszerűbb, projektorientáltabb kimenet, ami kevesebb utómunkát igényel.

*(A következő részben bemutatjuk a 3-5. gyakorlati példát, beleértve a folyamatok lépésről lépésre történő lebontását és az iteratív finomítás technikáit.)*

2. rész: Gyakorlati példák (3-5.) – Folyamatok lebontása és iteratív finomítás

Az előző részben láttuk, hogy a kontextus és a szerep meghatározása hogyan emeli a kód minőségét. De mi van akkor, amikor nem egy önálló függvényre vagy komponensre van szükséged, hanem egy összetett, többlépéses folyamatra, mint például egy biztonságos felhasználói regisztráció kezelése? Itt jön képbe a következő trükk: a folyamat lépésről lépésre történő lebontása és specifikálása. Nem szabad az AI-ra hagyni a logikai ugrálást; neked kell vezetned a gondolatmenetet.

Példa 3: Lépésenkénti specifikáció összetett üzleti logikához

Rossz prompt: *„Készíts egy PHP rendszert a felhasználó regisztrációjához.”* Ez egy katasztrófa recept. Egy általános, se nem biztonságos, se nem integrálható kódot kapsz.

Jó prompt – a fejlesztő vagy a technikai döntéshozó nézőpontjából:

„Hozz létre egy PHP szkript vázlatot egy biztonságos, custom felhasználó-regisztrációs folyamathoz, amely NEM használja a WordPress beépített függvényeit. A folyamat lépései legyenek a következők:
1. **Előkészítés:** Indítsd el a sessiont. Kapcsolódj egy MySQL adatbázishoz PDO-val (használd a helyőrzőket: $host, $dbname, $user, $pass).
2. **Adatérvényesítés:** Feldolgozás előtt trimeld a $_POST['email'] és $_POST['password'] értékeket. Ellenőrizd, hogy az email cím valid-e és a jelszó legalább 8 karakter hosszú, tartalmaz számot és nagybetűt.
3. **Duplikáció ellenőrzése:** Kérdezd le az adatbázist, hogy létezik-e már a megadott email cím. Ha igen, állíts be egy session error üzenetet és redirectelj vissza.
4. **Biztonságos tárolás:** Hash-eld a jelszót password_hash() függvénnyel PASSWORD_DEFAULT algoritmussal.
5. **Adatbázis művelet:** Illeszd be a felhasználót a 'users' táblába (mezők: id, email, password_hash, created_at). Ha sikeres, állíts be egy session success üzenetet és irányítsd a felhasználót a /dashboard felé.
6. **Hibakezelés:** Minden PDO műveletnél használj try-catch blokkot. A hibákat logold egy 'error.log' fájlba, de a felhasználónak csak általános üzenetet jeleníts meg.
Írd meg a kódot lépésenkénti kommentekkel ellátva, magyarázd el röviden az egyes lépés célját.”

Mit nyersz ezzel? Az AI nem csak egy tömbből kódot generál, hanem egy precíz, biztonsági szempontokkal átitatott *protokollt* hoz létre. A lépésenkénti előírás arra kényszeríti, hogy a valós üzleti logika szerint építse fel a kódot, megelőzve a kritikus hiányosságokat (pl. duplikáció ellenőrzés elfelejtése). Ez a prompt kiváló specifikáció egy junior fejlesztő számára, vagy egy ügyfélnek történő átadáshoz.

Példa 4: Az iteratív finomítás – „Bővítsd ki” vs. „Írd újra”

A legnagyobb hiba, amit elkövethetsz, hogy az első, nem tökéletes válasz után új promptot írsz teljesen újrakezdve. Ehelyett használd a konverzációs memóriát a finomításhoz. Tegyük fel, hogy a Példa 3 alapján generáltál egy regisztrációs kódot, de a kliens új követelményt adott: email megerősítés legyen.

Ne kezdd elölről. Ehelyett írd:

„Bővítsd ki az imént generált regisztrációs szkriptet a következő lépéssel:
- A 4. és 5. lépés között hozz létre egy egyedi, cryptographically secure 'email_verify_token' értéket (használj random_bytes()-t és bin2hex()-et).
- Mentsd el ezt a tokent a felhasználó rekordjával együtt.
- Az 5. lépésben NE irányítsd a felhasználót a /dashboard-ra. Ehelyett küldj ki egy emailt (használva a PHP mail() függvényt vagy helyőrzőt) amely tartalmaz egy linket: https://példa.hu/verify?token=
- Írj egy rövid, külön PHP függvényt 'verifyEmailToken' néven, amely megkeresi a tokent az adatbázisban és beállítja a felhasználó 'verified' státuszát.”

Ez a módszer sokkal hatékonyabb. Az AI értelmezi a meglévő kódot, és kiegészíti anélkül, hogy az alapvető struktúrát tönkretenné. Olyan, mintha egy kollégával beszélnél: „OK, ez az alap, most rakjuk bele ezt a funkciót.”

Példa 5: A „példaadatokkal való tesztelés” prompt – Ne legyen elvont

Gyakran a generált kód működőnek tűnik, de amikor konkrét adatokkal akarod tesztelni, bukkanhatnak fel hibák. Kérj az AI-tól, hogy ne csak a kódot mutassa, hanem szimulálja a futását konkrét bemeneti értékekkel.

Jó prompt – a minőségbiztosítás vagy az önálló tanuló nézőpontja:

„Írtál egy 'calculateCartTotal' nevű JavaScript függvényt, amely egy terméktömböt és egy szállítási díjat kap paraméterként. A függvény összegzi a termékek (price * quantity) értékét, hozzáadja a szállítási költséget, és 27% ÁFÁ-t számol.
Kérlek, most:
1. Mutasd meg újra a függvény kódját.
2. **Alakíts ki egy konkrét tesztesetet.** Hozz létre egy 'mockCart' tömböt 3 termékkel: [ {price: 10000, quantity: 2}, {price: 5500, quantity: 1}, {price: 800, quantity: 5} ]. A szállítási díj legyen 1990.
3. **Szimuláld a függvény lefutását.** Kommentek formájában vagy egy külön blokkban írd le lépésről lépésre a számítás menetét, és add meg a végső összeget.
4. Írd ki, hogy milyen adattípussal tér vissza a függvény (Number).

Ez a prompt kikényszeríti az AI-ból a logikai átgondolást. Nem csak egy függvényt kapsz, hanem annak dokumentált, tesztelési példával alátámasztott bizonyítását. Ez rendkívül értékes lehet, amikor egy ötletet szeretnél gyorsan validálni, vagy egy feladat specifikációját készíted egy másik fejlesztő számára.

*(A következő, befejező részben kitérünk az esetleges buktatókra, adunk biztonsági figyelmeztetéseket, és összegzzük, hogyan integrálhatod ezeket a technikákat a napi munkafolyamataidba.)*

3. rész: Csapdák, biztonsági tanácsok és záró gondolatok

Bár a jó promptok hatékony eszközzé teszik az AI-t, két kritikus résszel kell számolnod: a mesterséges intelligencia korlátaival és a generált kód rejtett biztonsági kockázataival. Ha ezeket nem veszed figyelembe, gyorsan a megszokott fejfájás és időveszteség helyzetébe kerülhetsz vissza.

A fő csapdák, amelyekbe könnyen belebotlasz

1. Az illúzió a teljességről: A ChatGPT vagy a Claude önbizalommal és logikusnak tűnő szerkezettel prezentálhat egy kódot. Azonban ez *nem garancia* arra, hogy a kód átfogó, optimalizált vagy éppen aktuális best practice-eket követ. Például generálhat egy PHP függvényt, amely működik, de nem veszi figyelembe a prepared statements összes színterét, vagy egy JavaScript eseménykezelőt, amely nem kezeli megfelelően a memory leakeket. Az AI jelenlegi tudása inkább egy nagyon okos, gyorsan dolgozó, de néha félreértő junior fejlesztőéhez hasonlítható: az alapot megadja, de a szakmai felügyelet és a véglegesítés nélkülözhetetlen. 2. A kontextus elfelejtése a beszélgetés során: A konverzációs szál hosszú távon megbízhatatlan lehet. Az AI „elfelejtheti” a korábban megadott, kritikus megkötéseket (pl. „ne használj külső könyvtárat”), különösen, ha új chateket kezdesz vagy a téma eltér. Mindig érdemes a legfontosabb paramétereket (keretrendszer, biztonsági követelmények) röviden megismételni az újabb kérésekben. 3. Az önálló gondolkodás beszüntetése: A legnagyobb veszély az, ha a prompt trükköket használva elkezded kizárólag az AI-ra hagyatkozni a problémaelemzés és a megoldás tervezése terén. Ez kikapcsolja a saját kritikus szakmai reflexeidet. Az AI-t ötletgenerátorként és produktivitásfokozóként kell kezelni, nem a döntéshozó agyként. A végső minőségellenőrzés, az architektúra és a biztonsági audit a te felelősséged marad.

Nem elhanyagolható: a biztonsági figyelmeztetés

A generált kód soha nem lehet „plug-and-play” biztonságú, kivéve, ha erre expliciten és nagyon részletesen utasítod az AI-t. Íme egy konkrét példa, ami minden fejlesztő számára vészharangot kellene, hogy csengessen:

Veszélyes prompt (és annak eredménye): * Prompt: *„Írj egy PHP lekérdezést, amely a ‘products’ táblából kiválasztja azokat a termékeket, ahol a név megegyezik a felhasználó által beírt értékkel.”* * Valószínű AI generálta kód (veszélyes változat):

    // FIGYELMEZTETÉS: EZ A KÓD SEBEZETŐ!
    $searchTerm = $_GET['product_name'];
    $sql = "SELECT * FROM products WHERE name = '" . $searchTerm . "'";
    $result = mysqli_query($conn, $sql);
    

Ez a kód klasszikus SQL injection támadás felé nyitott. Egy rosszindulatú searchTerm (pl. ' OR '1'='1) teljesen tönkreteheti az adatbázisod.

Helyes megközelítés – a biztonság előírása a promptban: A promptodnak muszáj tartalmaznia a biztonsági követelményt.

„Írj egy PHP kódrészletet, amely egy MySQL adatbázis 'products' táblájából kér le adatokat felhasználói bemenet alapján.
- A bemenet érkezzen a $_GET['product_name'] változóból.
- **Kötelezően használj PDO prepared statement-et** a lekérdezéshez, hogy megakadályozd az SQL injection lehetőségét.
- Trimeld a bemenetet és szűrj speciális karaktereket, ha szükséges a megjelenítéshez.
- Kezeld a hibákat: ha nincs találat, adj vissza üres tömböt.”

Ezzel a prompttal az AI egy olyan kódot fog generálni, amely alapvetően biztonságosabb. Azonban még így is a te feladatod ellenőrizni, hogy a bindParam helyesen van-e használva, és a kapcsolati adatok (host, felhasználónév, jelszó) nem kerültek-e beégetve a kódba.

Összegzés: Hogyan építsd be a tudatosságodba?

A ChatGPT és a Claude prompt trükkök nem varázslatot, hanem precíz kommunikációt jelentenek. A kulcs a gondolkodásmód váltásában rejlik:

1. Ne kérj kódot, kérj specifikációt teljesítő megoldást. Mindig gondolj a háttérbe: a projektmenedzsment, az üzleti logika, a biztonság, a karbantarthatóság. 2. Lépj be a partner szerepébe. Az AI nem szolgáltató, hanem egy eszköz, amit irányítani kell. Minél pontosabban tudod megfogalmazni a célodat, annál értékesebb lesz a segítsége. 3. A generált kód mindig csak egy vázlat. Fogadd el a gyorsaság és az ötletek előnyét, de soha ne hagyld ki a saját kódbemutatás, tesztelés és biztonsági ellenőrzés lépéseit. A felelősség a végén mindig a fejlesztőé (vagy annak a fejlesztőnek a menedzseréé).

Kezdd a napi munka azon részével, ami ismétlődő vagy kontextusfüggő – például boilerplate komponensek, adatbázis leképezések, rutin SQL query-k –, és alkalmazd rá ezeket a prompt technikákat. Hamarosan észre fogod venni, hogy nem a szintaxis megírásával töltöd az időd, hanem a valódi problémák megoldásával. Ez a valódi előrelépés: amikor az AI segítségével a technikai megvalósításról az üzleti érték tervezésére koncentrálhatsz.

A weboldalon megjelenő szöveges és vizuális tartalmak előállításához mesterséges intelligenciát (AI) használunk.