Biztonságos kódolás AI-val: Tanulságok a frontvonalról

2025.10.11.
AI Biztonság Blog

Egy valódi fejlesztési folyamat AI-asszisztenssel: Tapasztalatok a frontvonalról

Gyakran felmerül a kérdés, hogy a gyakorlatban hogyan is néz ki egy komolyabb, nem triviális funkció lefejlesztése egy már meglévő projektbe AI-segítséggel. Mitchell Hashimoto most erre adott egy kimerítő, kézzelfogható választ. Egy konkrét példán keresztül mutatta be, hogyan készített egy letisztult, diszkréten működő automatikus frissítési felületet a Ghostty nevű terminál emulátorához, méghozzá Swift nyelven.

Mitchell a teljes folyamatot dokumentálta: 16 kódolási szakasz teljes átiratát osztotta meg, amelyeket az Amp Code nevű eszközzel hajtott végre. Az egész munka két napot és nagyjából 8 óra gépidőt vett igénybe, a tokenköltsége pedig mindössze 15,98 dollár volt. Érdemes megjegyezni, hogy az Amp Code megosztott átirat (transcript) funkciója kiemelkedően jó – ahogy a példa is mutatja –, jó lenne, ha a többi hasonló eszköz (Claude Code, Codex CLI, Gemini CLI) is átvenné ezt a megoldást.

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

A megosztott anyagból rengeteg hasznos tippet és trükköt leshetünk el. Lássuk a legfontosabbakat egy AI biztonsági szakértő szemével!

Tanulságok és bevált gyakorlatok egy profi tollából

A „rendrakás” lépésének fontossága

Az egyik leglényegesebb tanulság, amit Mitchell kiemel, az a rendszeres „takarítási” fázis beiktatása. Ahogy ő fogalmaz:

„A rendrakás lépése tényleg fontos. Ahhoz, hogy hatékonyan tudj rendet tenni, elég jól kell értened a kódot, így ez a fázis arra kényszerít, hogy ne fogadjam el vakon az AI által írt kódot. Ráadásul a jobban szervezett és dokumentált kód a későbbi, AI-vezérelt munkamenetek teljesítményét is javítja. Néha csak viccesen úgy hivatkozom erre, mint az ‘anti-slop munkamenet’.”

AI biztonsági szempontból ez kulcsfontosságú.

Az AI által generált kód vakon elfogadása óriási kockázatot rejt magában!

Ez a módszer arra ösztönöz, hogy folyamatosan felülvizsgáld és megértsd a generált kódrészleteket, ami elengedhetetlen a rejtett sebezhetőségek és logikai hibák kiszűréséhez.

Néha egy kis kézi munkával kell rávezetni az AI-t a helyes útra

Másik érdekes megfigyelés, hogy időnként egy kis manuális beavatkozás csodákra képes, és sokkal jobb eredményre vezeti az AI-t a későbbiekben.

„Szántam egy kis időt arra, hogy manuálisan átstrukturáljam a view modelt. Ez azt jelentette, hogy egy ‘tagged union’-ra váltottam a sok opcionális mezőt tartalmazó struktúra helyett. Átneveztem típusokat, áthelyeztem dolgokat. Tapasztalatból tudtam, hogy ez a kis kézi munka a folyamat közepén megalapozza az AI-ügynökök sikerét a későbbi, frontendet és backendet is érintő feladatok során.”

Miután ezzel végzett, maratoni rendrakási fázissal folytatta a munkát. Íme egy példa az egyik ilyen refaktoráló promptra:

Turn each @macos/Sources/Features/Update/UpdatePopoverView.swift case into a dedicated fileprivate Swift view that takes the typed value as its parameter so that we can remove the guards.

A záró „orákulum” prompt

Hashimoto azt javasolja, hogy minden munkamenetet egy ehhez hasonló, a lehetséges hiányosságokat firtató kérdéssel zárjunk, amivel rávesszük a modellt a kód átfogó elemzésére.

„Látsz még bármilyen más fejlesztési lehetőséget a @macos/Sources/Features/Update funkcióval kapcsolatban? Ne írj kódot. Csak konzultálj az orákulummal. Vedd fontolóra azokat a kódrészleteket is, amelyekhez több unit tesztet lehetne adni.”

„Consult the oracle” (Konzultálj az orákulummal) egy Amp-specifikus parancs, ami arra utasítja az eszközt, hogy egy drágább, de jóval képzettebb és alaposabb modellt használjon az elemzéshez. Ez egyfajta „második vélemény”, ami segíthet felfedezni azokat a gyenge pontokat vagy hiányosságokat, amik felett elsiklottunk.

Megéri? Gyorsabb vagy nem?

Az interneten sokan vitatkoznak azon, hogy az AI-jal valóban gyorsabban lehet-e dolgozni. Mitchell szerint ebben az esetben egyértelműen igen.

„Szerintem gyorsabban szállítottam le ezt a funkciót, mintha mindent egyedül csináltam volna. Különösen azért, mert a SwiftUI apróbb stílusbeli finomhangolásai számomra borzasztóan unalmasak és időigényesek, az AI pedig ezt a feladatot remekül elvégzi.”

De hozzáteszi, hogy a gyorsabb/lassabb vita számára személyesen nem ragadja meg a lényeget. Az igazi érték valami másban rejlik:

„Számomra az a legnagyobb előny, hogy az AI tud helyettem dolgozni, amíg én félreállok, hogy más dolgokkal foglalkozzak.”

És ez a gondolat talán mindennél fontosabb. Nem csupán egy eszközt kapunk, amivel gyorsabban kalapálhatjuk a kódot, hanem egyfajta asszisztenst, ami képes önállóan haladni, amíg mi a nagyobb képpel, a stratégiai kérdésekkel vagy akár egy kávészünettel foglalkozunk.