Ieguvumi:
- Spēja atšķirt, kur mākslīgais intelekts nodrošina reālu ātrumu mobilajā attīstībā (modelis kods, melnraksts, mācīšanās) un kur (arhitektūra, atļauja, drošība, publikācija) lēmums tiek atstāts cilvēka ziņā atkarībā no uzdevuma riska līmeņa.
- Spēja pielietot disciplīnu, kas pārbauda katru mākslīgā intelekta izvadi, izmantojot kompilēšanas, palaišanas, pārbaudes un pārskatīšanas darbības
- Spēja izveidot ieradumu rakstīt spēcīgas, konteksta aizpildītas uzvednes un aizsargāt personas datus un slepenās atslēgas, nenododot tos AI
Mobilo aplikāciju izstrāde ir viena no konkurētspējīgākajām programmatūras jomām pasaulē. Mēs runājam par produktu, kas darbojas miljardos ierīču, kuru atjaunināšanas cikls ir atkarīgs no veikala apstiprinājuma un visu laiku tiek mērīts lietotāja kabatā. Mākslīgais intelekts (AI — programmatūras sistēmas, kas var radīt tekstu, kodu un risinājumus, piemēram, cilvēkiem) ir ienācis šajā jomā divos veidos: pirmkārt, kā palīglīdzeklis, kas paātrina izstrādes procesu (koda ģenerēšana, atkļūdošana, testa rakstīšana), un, otrkārt, kā lietojumprogrammā iegulta iespēja (ierīces attēlu atpazīšana, tērzēšanas palīgs, ieteikumu dzinējs). Šis modulis māca gan no gala līdz galam. Taču jau pašā sākumā pieņemsim vienu teikumu: AI neaizstāj mobilo ierīču izstrādātāju; paplašina savu produktivitāti un darbības jomu. Jūs esat atbildīgs par katru izdoto koda rindiņu, katru pieprasīto atļauju un katru darījumu, kas veikts ar lietotāja datiem.
Šajā nodaļā mēs redzēsim, kur mākslīgais intelekts rada reālu vērtību mobilajā attīstībā, kur tas ir jānodod cilvēkiem, kā pārbaudīt katru rezultātu un kāpēc privātuma un drošības disciplīna nav apspriežama.
Kur AI noder mobilajā attīstībā?
Mobilā izstrāde sastāv no daudziem atkārtotiem un šabloniskiem uzdevumiem: skata koda rakstīšana, tīkla pieprasījuma slāņa iestatīšana, datu modeļa noteikšana, testa piemēra izveide, kļūdas ziņojuma atrisināšana. AI ļoti ātri rada šos modeļus. Turpretim arhitektūras lēmumi, lietotāju pieredzes preferences, drošības robežas un biznesa loģikas precizitāte ir cilvēku sfēra.
Ir lietderīgi sadalīt uzdevumus trīs kategorijās, pamatojoties uz riska līmeni:
Uzdevuma veids
AI loma
vīrieša loma
Veidnes kods (boilerplate), ekrāna paraugs, konvertēšana
Rada melnrakstu, paātrina to
Pārskata, integrē
Biznesa loģika, datu plūsma, API integrācija
Sniedz ieteikumus un projektus
Pārbauda, pārbauda, apstiprina
Arhitektūra, atļaujas pieprasījums, drošība, apraides lēmums
Uzskaita iespējas un pamatojumus
Pieņem lēmumu un uzņemas atbildību
Šī tabula būs mūsu kompass visā modulī. Labā kolonna nekad netiek nodota AI.
Padoms: domājiet par AI kā "ļoti ātru, bet nepieredzējušu praktikantu". Jūs dodat viņam skaidru uzdevumu, izlasiet viņa izdruku, lieciet viņu pārbaudīt un uzņematies atbildību. Jūs nenosūtāt praktikanta saražoto kodu uz ražošanu (tiešraides vidi), to neizlasot; Tas pats noteikums attiecas uz AI.
Pārbaudes disciplīna: trīs soļi
AI teksts ir plūstošs un izskatās pārliecināts; Bet raitums nav precizitāte. AI dažreiz atbilst bibliotēkas funkcijai, kas neeksistē (to sauc par halucinācijām — modelis pārliecinoši rada kaut ko tādu, kas patiesībā neeksistē). Šis ir trīspakāpju filtrs, ko mobilo sakaru izstrādātājs piemēro katrai AI izvadei:
- Apkopojiet un palaidiet. Vai kods patiešām tiek apkopots, vai programma tiek atvērta? Vai AI ieteiktā API patiešām ir SDK (programmatūras izstrādes komplektā — platformas piedāvātajā gatavajā rīku komplektā)?
- Pārbaudi to. Pārbaudiet paredzamo darbību automātiski vai manuāli. “Šķiet, ka tas darbojas” ir par maz; Izmēģiniet malas gadījumus (dīkstāves dati, nav tīkla, atļauja liegta).
- Pārskatiet un pamatojiet. Vai jūs saprotat, kāpēc kods ir rakstīts šādi? Nepublicējiet kodu, kuru nesaprotat. Pajautājiet AI "ko šī līnija dara, kāpēc tā ir vajadzīga?" jautāt.
Uzmanību: YZ nodrošinātie versiju numuri, bibliotēku nosaukumi un API paraksti var būt novecojuši vai izdomāti. Tā nevar zināt par atjauninājumiem, kas izdoti pēc beigu datuma (pēdējā modeļa apmācības datuma). Vienmēr pārbaudiet kritisko atkarību no oficiālas dokumentācijas (Apple Developer, Android Developers).
trīs mini futrāļi
1. gadījums — ekrāna izstrādes paātrināšana. E-komercijas komanda izstrādāja produkta detalizēto ekrānu, izmantojot AI palīdzību no Jetpack Compose (Android modernā saskarnes rīkkopa). Pirmais melnraksts, kas parasti aizņem 2 dienas, iznāca 3 stundās. Taču komanda pārbaudē konstatēja, ka AI radītais cenu formatējums nepareizi noapaļoja santīmus: 19,99 TL dažās ierīcēs parādījās kā 20 TL. Ja nebūtu verifikācijas, šī kļūda tiktu parādīta tiešsaistē. Peļņa ir reāla, bet kontrolei ir jābūt.
2. gadījums — noķertas halucinācijas. Izstrādātājs saņēma kodu no AI, lai pieprasītu atrašanās vietas atļauju operētājsistēmā iOS. AI ierosināja funkciju, ko sauc par requestPreciseLocationOnce(). Šāda API nebija; Pareizais bija requestWhenInUseAuthorization(). Kompilācijas kļūda to atklāja nekavējoties. Nodarbība: kompilators ir godīgākais AI auditors.
3. gadījums — privātuma slazds. Viena komanda ielīmēja lietotāja kļūdu ziņojumus AI un lūdza risinājumu. Pārskatos tika iekļauti lietotāju e-pasta un ierīču ID. Tas nozīmēja personas datu noplūdi trešās puses pakalpojumam un bija pārkāpums KVKK (Personas datu aizsardzības likuma) izpratnē. Risinājums: personisko lauku notīrīšana (maskēšana) pirms datu nodošanas AI.
Vāja uzvedne / spēcīga uzvedne
Atšķirība starp divām uzvednēm vienam un tam pašam darbam nosaka izvades kvalitāti.
Vāja uzvedne: "Uzrakstiet man pieteikšanās ekrānu."
Spēcīga uzvedne: "Izveidojiet pieteikšanās ekrānu, izmantojot Jetpack Compose operētājsistēmai Android. Prasības: - E-pasta un paroles lauks; e-pasta formāta verifikācija, parole vismaz 8 rakstzīmes - Poga "Pierakstīties" ir atspējota, kamēr tiek ielādēts un rādīts vērpējs - Kļūdu ziņojumi tiek parādīti sarkanā tekstā zem lauka - MVVM arhitektūra: statuss programmā ViewModel, Komposējamais materiāls 4 tikai dod 3, Komposējamais minst.4. kodu, pēc tam katru sadaļu Paskaidrojiet 1 teikumā."
Otrā uzvedne norāda platformu, rīku, arhitektūru, robežas un izvades formātu. Tas neatstāj neko, ko AI varētu uzminēt; Tāpēc tas dod daudz noderīgāku un vieglāk pārbaudāmu rezultātu.
Kopējamas sākuma veidnes
Izmantojiet tālāk esošās veidnes, aizpildot tās ar savu kontekstu.
Lomas un konteksta veidne: "Jūs esat vecākais [iOS/Android/Flutter] izstrādātājs. Mans projekts: [lietotnes veids], mērķa platforma [versija], arhitektūra [MVVM/Clean]. Uzdevums: [vēlamais]. Ierobežojumi: [valoda, bibliotēka, versija]. Vispirms apkopojiet plānu 3 vienumos, pēc tam izveidojiet kodu, pēc tam uzskaitiet riskus."
Koda pārskatīšanas veidne: "Pārbaudiet šādu [valodas] kodu. Identificējiet: 1) kļūdas un avāriju riskus2) atmiņas/veiktspējas problēmas 3) drošības un privātuma ievainojamības 4) kur to varētu rakstīt vienkāršāk. Rindas numuri katram vienumam un ieteikt labojumus.[kods]"
Mācību veidne: "Izskaidrojiet [jēdzienu, piemēram, async/wait in Swift] no mobilo ierīču izstrādātāja perspektīvas. Sniedziet vienkāršu piemēru, miniet 3 izplatītākās kļūdas un norādiet, kad to nevajadzētu izmantot."
Verifikācijas veidne: "Jūs ieteicāt šo API/funkciju: [nosaukums]. Pārbaudiet: kurā SDK versijā tā tika iekļauta, kāda atļauja tai ir nepieciešama, vai tā ir novecojusi? Ja neesat pārliecināts, sakiet: "Neesat pārliecināts, pārbaudiet oficiālajā dokumentācijā".
Biežas kļūdas
- Izvades ielīmēšana, to neizlasot. Visizplatītākā un bīstamākā kļūda. Pat ja tā ir apkopota, loģika var būt nepareiza.
- Konfidenciālu datu nodošana AI. API atslēga, lietotāja dati, parakstīšanas sertifikāts nekad netiek ielīmēti pieprasījumā.
- Netiek pārbaudīta versija un API. AI var ieteikt novecojušas vai izdomātas API; Galīgais vārds ir oficiālajam dokumentam.
- Arhitektūras lēmuma pieņemšana AI ziņā. "Kura ir labākā arhitektūra?" Atbilde uz jautājumu ir atkarīga no jūsu projekta; AI sniedz vispārīgu atbildi, jūs zināt kontekstu.
- Viena milzu uzvednes rakstīšana. Mēģina atrisināt sarežģītu uzdevumu ar vienu pieprasījumu; Drošāk ir to sadalīt mazos, pārbaudāmos posmos.
- Lūdzot atļaujas "katram gadījumam". AI dažreiz pievieno vairāk atļauju nekā nepieciešams; Katra atļauja rada risku saglabāt apstiprinājumu un lietotāju uzticēšanos.
Rezumējot
AI mobilajā izstrādē spēlē divas lomas: palīgu, kas paātrina izstrādes procesu, un lietojumprogrammā iegulto iespēju. Modeļa kods nodrošina milzīgu paātrinājumu uzmetumam un apguvei; Taču lēmumi par arhitektūru, drošību, atļaujām un publicēšanu ir cilvēciski. Katra izvade tiek pārbaudīta, veicot trīs darbības: kompilēšana, palaišana, pārbaude, pārskatīšana. Konfidenciāli dati un personiskā informācija nekad netiek nodota AI. Spēcīgā pieprasījuma platformā ir skaidri norādīts rīks, ierobežojumi un izvades formāts. Šī disciplīna ir pārējā moduļa pamats.
Lietojumprogrammas uzdevums
Izvēlieties ekrānu no sava mobilā projekta (vai iedomātas "piezīmju veikšanas lietotnes"). Uzrakstiet uzvedni šim ekrānam, izmantojot iepriekš redzamo lomu un konteksta veidni. Mēģiniet kompilēt AI ģenerēto kodu projektā un izlaidiet to caur trīspakāpju verifikācijas filtru: vai tas tika apkopots, vai tas darbojās, kā paredzēts, vai jūs sapratāt katru rindiņu? Pierakstiet vismaz vienu atrasto kļūdu vai viltus API.
kontrolsaraksts
- [ ] Es noteicu, kurā no trim grupām uzdevums ietilpst, pamatojoties uz tā riska līmeni
- [ ] Pieprasījumā norādīju platformu, versiju, arhitektūru un ierobežojumus
- [ ] Es apkopoju izvadi un palaist to
- [ ] Es pārbaudīju ierobežojuma gadījumus (dīkstāves dati, nav tīkla, atļauja liegta)
- [ ] Es pārliecinājos, ka saprotu katru rindiņu
- [ ] Es nesniedzu AI nekādus personas datus vai privātās atslēgas
- [ ] Es pārbaudīju kritiskās API no oficiālās dokumentācijas