Miért kell az AI kódgenerálásnak szabályok, nem csak jobb promptok
Miért kell a mesterséges intelligencia által generált kódnak strukturális korlát, nem pedig jobb prompt
Mindenki hallott már olyan biztonsági rémről, amikor egy felhasználó véletlenül más bérlő adatait olvassa ki. Az ilyen hibák miatt éjszakákat virrasztanak a biztonsági szakemberek, és komoly jogi következményekkel járhatnak. Pedig senki sem akarja ezt. Nem szándékos döntés vagy rosszindulat áll a hátterében – egyszerűen csak elfelejtették ellenőrizni.
Az AI modellek, például a Claude vagy a GPT naponta több ezer sor kódot írnak. Ilyen mennyiség mellett a biztonság fenntartása egyre nehezebb feladat. Hiába írod bele a rendszerpromptba, hogy „mindig ellenőrizd a jogosultságot”, vagy ismételgeted, hogy „a biztonság a legfontosabb”, a kérdés mégiscsak az marad:
Hogyan lehetsz biztos benne, hogy a kód tényleg azt csinálja, amit szeretnél?
Miért nem elég a „reméljük, hogy betartja” megközelítés
A legtöbb fejlesztőcsapat még mindig arra hagyatkozik, hogy az AI modellt „szép szóval” ráveszik a szabályok betartására. A promptban kérjük, hogy mindig használja a közös jogosultság-ellenőrző függvényt, vagy hogy ne hagyja ki az input validálást.
Ez működik – de csak néha. A probléma az, hogy ez a módszer teljesen a modell emlékezetére és jóindulatára épül. Ha a modell elfelejti a szabályt, vagy egy gyorsabb útra talál és következtetésre vezeti magát, akkor egész blokkok kódot ír ki nélkülig.
A humán code review sem segít igazán az AI által flódolt kódmennyiségnél. Csapda ez, 因为 az AI kód sokszor már semä
Strukturális korlátok: amikor a kód maga védi magát
A strukturális korlátok teljesen különböznek a promptban megfogalmazott szabályoktól. Ezek olyan gépileg ellenőrizhető feltételek, amelyek a kódnak nem is lehetnek megszeghetőek – például a típusrendszer, a compiler vagy a tesztek.
A kulcsszó itt az „nem lehet”.
Ahelyett, hogy az AI modellt kérnénk, hogy „ne töröljön adatokat”, és átadunk egy test statistic teszt vagy ti
A szabályok helye: a kód struktúrájában
A legfontosabb szabályok már pontosan megfogalmazhatók:
„A felhasználó csak akkor fér hozzá egy erőforráshoz, ha bejelentkezett, tartozik a bérlőhöz, és az erőforrás valóban a bérlőhöz tartozik.”
Ez már egy teljes és pontos leírás. De nem az angol nyelvű promptban kell tartani ezt a szabályt – hanem embedelni kell a kód típusrendszerébe. Így a compiler maga tiltja meg, hogy valaki írjon kódot, amely nélkülözi a jogosultság-ellenőrzést.
Az AI modell egyszerű csak azt braucht, hogy a kód lefordítható legyen és a gates legyen.