A promptolás az új kódolás?
A mesterséges intelligencia (AI) forradalmasította a programozást. Sokan úgy gondolják, elég beírni egy mondatot, és a gép megírja a tökéletes kódot. A valóság azonban teljesen más. Ha rosszul adunk utasítást, az eredmény egy átláthatatlan, biztonsági hibákkal teli „spagetti kód” lesz.
Saját, több mint 10 éves WordPress plugin fejlesztési tapasztalatom, és rengeteg régi, elavult bővítmény refaktorálása során tanultam meg egy nagyon fontos leckét. Ahhoz, hogy az AI jól dolgozzon, pontosan meg kell mondanunk neki, mik a játékszabályok. Ezt a módszert szeretném most megosztani veletek egy egyszerű iránymutatásként.
Az AI olyan, mint egy hatalmas, megállíthatatlan folyó
Képzeljük el az AI-t úgy, mint egy hihetetlenül erős, gyors sodrású folyót. Tele van energiával és nyers erővel.
Ha csak úgy rászabadítjuk ezt a folyót a földre (vagyis adunk egy egyszerű „írj nekem egy plugint” parancsot), akkor a víz mindent eláraszt. Káosz lesz. A kód mindenfelé folyik majd, a funkciók összekeverednek, az adatbázis lekérdezések pedig ott landolnak, ahol semmi keresnivalójuk. Ez a totális katasztrófa receptje.
2026 van, HAHÓ!
Mi, fejlesztők, sitebuilderek már nem lapáttal ássuk a medret. Nem mi írjuk a kód minden egyes sorát kézzel. A mi feladatunk most az, hogy megtervezzük a víz útvonalát. Masszív gátakat, csatornákat és medreket építünk a precíz utasításainkkal. Ha a meder (a rendszerprompt) kész van, egyszerűen ráengedjük a vizet (az AI-t). És csak nézzük, ahogy a hatalmas erő pontosan arra folyik, és pontosan azt a munkát végzi el, amit mi elterveztünk.
Miért van szükség szigorú rendszerpromptra?
Régebben, amikor nekiálltam rendbe tenni a 10 éves pluginjaimat, láttam, mennyi technikai adósság tud felhalmozódni. Túl nagy fájlok, egymásba gabalyodó funkciók, hiányzó biztonsági ellenőrzések. Amikor az AI-t kezdtem használni segítségként, rájöttem, hogy magától újra elköveti ezeket a régi hibákat. Hajlamos mindent egyetlen hatalmas fájlba zsúfolni.
Sok-sok kísérletezés és finomhangolás után alkottam meg azt a szigorú rendszert, amit most használok.
Ennek a lényege:
- Fázisokra bontás: Az AI nem kezdhet el azonnal kódolni. Először tervet kell készítenie. Át kell gondolnia az architektúrát, a mappaszerkezetet és az adatbázist. Én ezt átnézem, jóváhagyom, és csak utána indulhat a munka.
- Szigorú struktúra: Rá kell kényszeríteni az AI-t a modern tervezési mintákra. Kis fájlok, egyértelmű felelősségi körök (Repository és Service osztályok). Így a kód tiszta és bővíthető marad.
- Biztonság mindenekelőtt: Az AI hajlamos elfelejteni a bejövő adatok szűrését vagy az SQL injekció elleni védelmet. A rendszerpromptban ezt „nem vitatható” szabályként kell rögzíteni.
Ne kódolj, hanem irányíts!
A jövő programozása már nem feltétlenül a szintaxis magolásáról szól. Arról szól, hogy megértjük a szoftverarchitektúrát, és képesek vagyunk egy szuperintelligens, de sokszor szétszórt „kollégát” a helyes irányba terelni.
Ha megadod az AI-nak a megfelelő kereteket, az eredmény egy biztonságos, gyors és vállalati szintű kód lesz. Használd a fenti elveket, építsd meg a saját csatornáidat, és hagyd, hogy a gép elvégezze a nehéz fizikai munkát!
A környezet megteremtése (a teszteléshez, elenőrzéshez ezek kellenek, bővebben a cikk végén):
# Szerepkör: Senior WordPress Fejlesztő és Deployment Specialista
## 1. Kontextus-érzékenység és Dinamikus Konfiguráció
Szigorúan alkalmazkodnod kell az aktuális, specifikus projektstruktúrához. Ne feltételezz beégetett (hardcoded) útvonalakat.
**1. Lépés: A Bővítmény Azonosítása (Plugin Identity)**
- **Bővítmény Gyökér (Plugin Root):** Határozd meg a gyökérkönyvtárat a fő plugin fájl vagy a `composer.json` megkeresésével.
- **Bővítmény Keresőbarát Neve (Slug):** Használd a Gyökérkönyvtár nevét (pl. `.../plugins/my-custom-plugin` -> slug: `my-custom-plugin`).
- **Névtér (Namespace):** Konvertáld a Slugot PascalCase formátumba a PHP névterekhez (pl. `my-custom-plugin` -> `MyCustomPlugin`).
- **Szövegtartomány (Text Domain):** SZIGORÚAN használd a Bővítmény Slugját.
## 2. Kötelező Beállítási Protokoll
BÁRMELY bővítmény projekt esetén ki kell kényszerítened (enforce) ezeknek a fájloknak a jelenlétét a Bővítmény Gyökérkönyvtárában:
### A. `composer.json` (Univerzális Sablon)
- **Name:** `[user-vagy-vendor]/[plugin-slug]`
- **Type:** `wordpress-plugin`
- **Autoload:** PSR-4 leképezés: `[Namespace]\\` -> `includes/`.
- **Require-Dev:** `squizlabs/php_codesniffer`, `phpstan/phpstan`, `wp-coding-standards/wpcs`.
### B. `phpcs.xml` (Dinamikus Szabálykészlet)
- **Rule:** `WordPress`
- **Properties:** Állítsd be a `text_domain` értékét erre: `[plugin-slug]`
## 3. Munkafolyamat Kikényszerítése
1. **Könyvtár Ellenőrzése
