Egység 1 / 11

Bevezetés az AI-ba a mobilfejlesztésben: szerepek, határok, hitelesítés és biztonság

Nyereség:

  • Megkülönböztetni, hogy a mesterséges intelligencia hol biztosít valódi gyorsaságot a mobilfejlesztésben (mintakód, vázlat, tanulás) és hol (architektúra, engedély, biztonság, publikáció) a döntést az emberre bízza, a feladat kockázati szintjétől függően.
  • Képes egy olyan tudományág alkalmazására, amely minden mesterséges intelligencia-kimenetet verifikál a fordítási futtatási, tesztelési és felülvizsgálati lépésekkel
  • Képes kialakítani egy olyan szokást, hogy erős, kontextussal teli promptokat írjon, és védje a személyes adatokat és titkos kulcsokat anélkül, hogy átadná azokat az MI-nek

A mobilalkalmazás-fejlesztés a világ egyik legversenyképesebb szoftverterülete. Egy több milliárd eszközön működő termékről beszélünk, amelynek frissítési ciklusa a bolti jóváhagyástól függ, és folyamatosan a felhasználó zsebében mérik. A mesterséges intelligencia (AI – az emberhez hasonlóan szöveget, kódot és megoldásokat előállító szoftverrendszerek) kétféleképpen lépett be ebbe a területbe: egyrészt a fejlesztési folyamatot felgyorsító segédeszközként (kódgenerálás, hibakeresés, tesztírás), másrészt az alkalmazásba ágyazott képességként (eszközön található képfelismerés, chat-asszisztens, ajánlómotor). Ez a modul mindkettőt végponttól végpontig tanítja. De szögezzünk le egy mondatot rögtön az elején: az AI nem helyettesíti a mobilfejlesztőt; növeli termelékenységét és hatókörét. Ön felelős minden kiadott kódsorért, minden kért engedélyért és minden felhasználói adatokkal végzett tranzakcióért.

Ebben a részben látni fogjuk, hogy a mesterséges intelligencia hol termel valódi értéket a mobilfejlesztésben, hol kell átadnia az embereknek, hogyan kell ellenőrizni az egyes kimeneteket, és miért nem alku tárgya az adatvédelmi-biztonsági fegyelem.

Hol jön jól az AI a mobilfejlesztésben?

A mobilfejlesztés sok ismétlődő és mintázott feladatból áll: nézetkód írása, hálózati kérési réteg beállítása, adatmodell meghatározása, teszteset készítése, hibaüzenet feloldása. Az AI nagyon gyorsan előállítja ezeket a mintákat. Ezzel szemben az építészeti döntések, a felhasználói élmény preferenciái, a biztonsági határok és az üzleti logika pontossága az emberek hatáskörébe tartozik.

Célszerű a feladatokat három csoportba osztani a kockázati szint alapján:

Feladat típusa

Az AI szerepe

férfi szerepe

Sablon kód (boilerplate), minta képernyő, átalakítás

Huzatot generál, felgyorsítja

Véleményezi, integrálja

Üzleti logika, adatáramlás, API integráció

Javaslatokat és tervezeteket ad

Ellenőrzi, teszteli, érvényesíti

Építészet, engedélykérés, biztonság, közvetítési döntés

Felsorolja a lehetőségeket és az indoklásokat

Döntést hoz és felelősséget vállal

Ez a táblázat az iránytűnk lesz az egész modulban. A jobb oldali oszlopot soha nem adják át az MI-nek.

Tipp: Gondoljon az AI-ra úgy, mint egy „nagyon gyors, de tapasztalatlan gyakornokra”. Egyértelmű feladatot adsz neki, elolvasod a kinyomtatott anyagot, próbára teszed, és vállalod a felelősséget. A gyakornok által előállított kódot nem küldi el termelésbe (élő környezetbe) anélkül, hogy elolvasná; Ugyanez a szabály vonatkozik az AI-ra is.

Ellenőrzési fegyelem: három lépés

Az AI szöveg gördülékeny és magabiztosnak tűnik; De a folyékonyság nem a pontosság. A mesterséges intelligencia időnként olyan könyvtári funkcióhoz is illeszkedik, amely nem is létezik (ezt hívják hallucinációnak – a modell magabiztosan produkál valamit, ami valójában nem is létezik). Íme a háromlépcsős szűrő, amelyet a mobilfejlesztő minden AI-kimenetre alkalmaz:

  1. Fordítsa le és futtassa. Valóban lefordítja a kódot, megnyílik az alkalmazás? Az AI által javasolt API valóban benne van az SDK-ban (szoftverfejlesztő készlet – a platform által kínált kész eszközkészlet)?
  2. Teszteld. Tesztelje a várható viselkedést automatikusan vagy manuálisan. „Úgy tűnik, működik” nem elég; Próbálja ki az éles eseteket (tétlen adatok, nincs hálózat, engedély megtagadva).
  3. Tekintse át és indokolja. Érted, miért van így írva a kód? Ne tegyen közzé olyan kódot, amelyet nem ért. Kérdezd meg az AI-t: "Mit csinál ez a vonal, miért van rá szükség?" kérdez.
Figyelem: Az YZ által biztosított verziószámok, könyvtárnevek és API-aláírások elavultak vagy gyártottak lehetnek. Nem tudhat a határidő (a modell utolsó betanításának dátuma) után megjelent frissítésekről. Mindig ellenőrizze a kritikus függőséget a hivatalos dokumentációból (Apple Developer, Android Developers).

három mini tok

1. eset – Képernyőfejlesztés felgyorsítása. Egy e-kereskedelmi csapat a Jetpack Compose (az Android modern interfész eszközkészlete) AI segítségével készítette el a termékrészletek képernyőjét. Az első vázlat, ami általában 2 napig tart, 3 óra alatt jelent meg. A csapat azonban rákapott a tesztre, hogy az AI által előállított árformázás helytelenül kerekítette a fillért: 19,99 TL 20 TL-ként jelent meg bizonyos eszközökön. Ha nem történik meg az ellenőrzés, akkor ez a hiba jelentkezne. A haszon valódi, de az ellenőrzés elengedhetetlen.

2. eset – Elkapott hallucináció. Egy fejlesztő kódot kapott az AI-tól, hogy helymeghatározási engedélyt kérjen iOS rendszeren. Az AI egy requestPreciseLocationOnce() nevű függvényt javasolt. Nem volt ilyen API; A helyes a requestWhenInUseAuthorization() volt. Az összeállítási hiba erre azonnal rávilágított. Tanulság: a fordító a mesterséges intelligencia legbecsületesebb auditora.

3. eset – Adatvédelmi csapda. Az egyik csapat felhasználói hibajelentéseket illesztett be az AI-ba, és megoldást kért. A jelentések tartalmazták a felhasználók e-mail-címét és eszközazonosítóit. Ez a személyes adatok harmadik fél szolgáltatáshoz való kiszivárogtatását jelentette, és a KVKK (személyes adatok védelméről szóló törvény) megsértését jelentette. Megoldás: a személyes mezők törlése (maszkolása), mielőtt átadná az adatokat az MI-nek.

Gyenge felszólítás / Erős felszólítás

Az ugyanarra a munkára vonatkozó két felszólítás közötti különbség határozza meg a kimenet minőségét.

Gyenge felszólítás: "Írjon nekem egy bejelentkezési képernyőt."

Hatékony prompt: "Hozzon létre egy bejelentkezési képernyőt a Jetpack Compose for Android segítségével. Követelmények: - E-mail és jelszó mező; e-mail formátum ellenőrzése, jelszó legalább 8 karakter - A 'Bejelentkezés' gomb le van tiltva a betöltés és a pörgető megjelenítése közben - A hibaüzenetek piros szöveggel jelennek meg a mező alatt - MVVM architektúra: állapot a ViewModelben, csak összeállítható minst.4 a kódot, majd az egyes szakaszokat Magyarázd el 1 mondatban."

A második prompt megadja a platformot, az eszközt, az architektúrát, a határokat és a kimeneti formátumot. Semmit sem hagy kitalálni az MI-nek; Ezért sokkal hasznosabb és könnyebben ellenőrizhető eredményt ad.

Másolható kezdősablonok

Használja az alábbi sablonokat úgy, hogy kitölti őket saját kontextusával.

Szerep- és kontextussablon: "Ön vezető [iOS/Android/Flutter] fejlesztő. Projektem: [alkalmazástípus], célplatform [verzió], architektúra [MVVM/Clean]. Feladat: [amit szeretne]. Megszorítások: [nyelv, könyvtár, verzió]. Először foglalja össze a tervet 3 tételben, majd állítsa elő a kódot, majd sorolja fel a kockázatokat."

Kód-ellenőrző sablon:"Vizsgálja meg a következő [nyelvű] kódot. Azonosítsa:1) Hibák és összeomlási kockázatok2) Memória-/teljesítményproblémák3) Biztonsági és adatvédelmi sebezhetőségek4) Ahová egyszerűbben lehetne írni. Sorszámok az egyes tételekhez, és javasoljon javításokat.[kód]"

Tanulási sablon: "Magyarázza el a [koncepciót, pl. async/wait in Swift] mobilfejlesztői szemszögből. Mondjon egy egyszerű példát, említsen meg 3 gyakori hibát, és mutasson rá, mikor nem szabad használni."

Ellenőrző sablon: "Ön javasolta ezt az API-t/funkciót: [név]. Ellenőrzés: melyik SDK-verzió jött be, milyen engedélyek szükségesek, elavult? Ha nem biztos benne, mondja azt, hogy "nem biztos, ellenőrizze a hivatalos dokumentációt"."

Gyakori hibák

  • A kimenet beillesztése olvasás nélkül. A leggyakoribb és legveszélyesebb hiba. Még ha össze is fordítják, a logika hibás lehet.
  • Bizalmas adatok átadása az AI-nak. Az API-kulcs, a felhasználói adatok, az aláíró tanúsítvány soha nem kerül beillesztésre a kérésbe.
  • Nem ellenőrzi a verziót és az API-t. A mesterséges intelligencia elavult vagy kitalált API-kat javasolhat; A hivatalos dokumentum mondja ki a végső szót.
  • Az építészeti döntést az AI-ra bízzuk. – Melyik a legjobb építészet? A kérdésre adott válasz a projekttől függ; Az AI általános választ ad, ismered a kontextust.
  • Egy óriási felszólítás írása. Egy összetett feladat megoldásának megkísérlése egyetlen kéréssel; Biztonságosabb, ha apró, ellenőrizhető lépésekre bontja.
  • Engedélyek kérése „minden esetre”. Az AI néha a szükségesnél több engedélyt ad hozzá; Minden engedély kockázatot jelent a tárolás jóváhagyására és a felhasználói bizalomra nézve.

Összefoglalva

Az AI két szerepet tölt be a mobilfejlesztésben: egy asszisztens, amely felgyorsítja a fejlesztési folyamatot, és egy alkalmazásba ágyazott képesség. A mintakód óriási felgyorsítást biztosít a rajzoláshoz és a tanuláshoz; De az építészeti, biztonsági, engedélyezési és publikációs döntések emberiek. Minden kimenet ellenőrzése három lépésben történik: fordítás-futás, tesztelés, áttekintés. Bizalmas adatokat és személyes adatokat soha nem adunk át az MI-nek. Az erős kereslet platform egyértelműen meghatározza az eszközt, a korlátokat és a kimeneti formátumot. Ez a tudományág a modul többi részének alapja.

Pályázati feladat

Válasszon ki egy képernyőt a saját mobilprojektjéből (vagy egy képzeletbeli „jegyzetkészítő alkalmazásból”). Írjon egy promptot az adott képernyőhöz a fenti „Szerep- és kontextussablon” segítségével. Próbáld meg a mesterséges intelligencia által generált kódot egy projektbe fordítani, és átengedni egy háromlépcsős ellenőrző szűrőn: lefordította, a várt módon működött, minden sorát megértetted? Jegyezze fel legalább egy hibát vagy hamis API-t, amelyet talált.

ellenőrző lista

  • [ ] A kockázati szint alapján meghatároztam, hogy a feladat a három közül melyik vödörbe tartozik
  • [ ] A kérésben megadtam a platformot, a verziót, az architektúrát és a megszorításokat
  • [ ] Összeállítottam a kimenetet és lefuttattam
  • [ ] Limites eseteket teszteltem (tétlen adatok, nincs hálózat, engedély megtagadva)
  • [ ] Gondoskodtam róla, hogy minden sort megértsek
  • [ ] Nem adtam meg semmilyen személyes adatot vagy privát kulcsot az AI-nak
  • [ ] A kritikus API-kat hivatalos dokumentációból ellenőriztem