Dobički:
- Sposobnost razvoja mobilne funkcije od konca do konca in preverljive v zasnovi, kodi, integraciji umetne inteligence, zasebnosti, testiranju, odpravljanju napak, zmogljivosti in korakih izdaje
- Sposobnost vzpostavitve okvira za odgovorno in etično uporabo umetne inteligence z načeli transparentnosti, preverjanja-odgovornosti in pravičnosti-neškodljivosti.
- Biti sposoben ustvariti trajnostno poklicno prakso z razlikovanjem področij, kjer je umetna inteligenca močna in šibka, in ohraniti končno odločitev v rokah ljudi.
Skozi ta modul smo umetno inteligenco uporabljali na vseh stopnjah mobilnega razvoja: ustvarjanje kode, vmesnik, integracija umetne inteligence v napravi in v oblaku, testiranje, odpravljanje napak, zmogljivost, zasebnost in dostava v trgovino. V tej zadnji enoti bomo vse te dele združili v en sam tok od konca do konca, razjasnili okvir za odgovorno in etično uporabo umetne inteligence ter govorili o tem, kako te veščine spremeniti v trajnostno poklicno prakso. Osrednje sporočilo se ni spremenilo, vendar je zdaj trdno uveljavljeno: AI je sila, ki pomnoži kompetentnega mobilnega razvijalca; ni nadomestek. Je oseba, ki je odgovorna za kakovost, varnost in obljubo izdelka uporabniku.
Funkcija od konca do konca: združevanje delov
Razvoj resnične funkcije od začetka do konca s podporo AI združuje vse enote, ki smo se jih naučili v verigi. Primer: funkcija »dodaj stroške iz potrdila«. Tok deluje takole:
- Oblikovanje (enota 3). Osnutek zaslona in štiri stanja (nalaganje/prazno/napaka/polno) z AI, zahtevajte dostopnost od začetka.
- Koda (2. enota). Ustvarite kamero, podatkovni model in ViewModel plast za plastjo z MVVM; preverite vsako plast.
- AI na napravi (enota 4). Preberite znesek/datum od prejema s prepoznavanjem besedila ML Kit; Razmislite o predhodni obdelavi in ocenjevanju zaupanja.
- Zaupnost (enota 9). Zahtevajte dovoljenje za kamero z najmanjšimi privilegiji, napišite scenarij zavrnitve, shranite podatke v napravi.
- Testiranje (Enota 6). Ustvarjanje testov enote ekstrakcijske logike, testiranje uporabniškega vmesnika zaslona; Vključite mejne države.
- Odpravljanje napak (Enota 7). Naj AI analizira zrušitve s kontekstom in odpravi glavni vzrok.
- Predstava (enota 8). Izmerite stroške baterije pri obdelavi fotoaparata in jo nastavite, da je prijazna do baterije.
- Oddajanje (enota 10). Transparentno prijavite uporabo umetne inteligence, resnično izpolnite obrazec o zasebnosti in opravite samotestiranje.
Na vsakem koraku AI pospeši, človek preveri in se odloči. Ta zanka je jedro modula.
Namig: Ne poskušajte AI narediti zapleteno funkcijo z eno velikansko zahtevo. Razčlenite ga na preverljive korake, kot zgoraj. Preizkušanje izhoda vsakega koraka in prehod na naslednjega je varnejše in končno hitrejše; Ker velike napake ne ujameš na koncu, ampak na prvem koraku.
Odgovorna in etična uporaba AI
Samo tehnična usposobljenost ni dovolj; odgovoren okvir ga dopolnjuje. Tri načela:
Preglednost. Uporabnik mora vedeti, da je v interakciji z AI. Skrivna umetna inteligenca je zloraba zaupanja. Vsebina, ustvarjena z umetno inteligenco, je označena; Nasveti AI so predstavljeni kot "koristen nasvet" in ne kot "trda resnica".
Preverjanje in odgovornost. Rezultat AI je izhodišče in ne končni izdelek. Odgovorni ste za vsako objavljeno vrstico kode, vsak odziv AI, vsako podatkovno transakcijo. "AI je tako napisal" ni obramba.
Pravičnost in neškodljivost. Modeli umetne inteligence lahko prenašajo pristranskosti iz podatkov, na katerih se usposabljajo. Prepoznavanje obraza lahko slabše deluje pri nekaterih barvah kože, mehanizem za priporočila lahko izloči skupino. Vaša odgovornost je, da preizkusite, ali vaš izdelek pošteno deluje v različnih skupinah uporabnikov.
Pozor: Vse tehnike, ki se jih naučite na področju IT in varnosti, se uporabljajo samo za pooblaščene in konstruktivne namene. Uporaba umetne inteligence za ustvarjanje zlonamerne programske opreme, vdor v aplikacijo nekoga drugega brez dovoljenja, zbiranje uporabniških podatkov brez privolitve ali ustvarjanje zavajajoče vsebine je nezakonita in v nasprotju z etiko poklica. Mera moči se pokaže tam, kjer je ne uporabiš.
Priznavanje omejitev AI
Zrel razvijalec ve, kje umetna inteligenca blesti in kje zaostaja.
AI je močan
AI je šibek
Koda kalupa, proizvodnja kotlov
Izdelki in arhitekturne odločitve
Osnutek testiranja in dokumentacije
Razumevanje poslovnega konteksta in uporabnika
Branje dnevnika zrušitev, pregledovanje napak
Dokončna diagnoza vzroka (potrebno preverjanje)
Učenje, razlaga koncepta
Aktualne/neizdelane informacije API-ja
Besedilo, opis, prevod
Etika, varnost in pravna končna odločitev
Ponotranjenje tega razlikovanja je ključno za učinkovito uporabo umetne inteligence in izogibanje njenim pastem.
trije mini kovčki
1. primer – hitrost od konca do konca. En samostojni razvijalec je v 4 dneh dokončal funkcijo »odklopljeno« z zgornjim 8-stopenjskim potekom; Brez umetne inteligence je bila ocena 12 dni. A ker je preverjal vsak korak, je bila objava prvič odobrena. Hitrost je bila resnična, ker je bila disciplina resnična. Lekcija: AI + preverjanje je hitrejše od AI - preverjanje.
Primer 2 – Ugotovljena pristranskost. Med preizkušanjem funkcije napovedovanja spola samostalnikov, ki temelji na umetni inteligenci, je ekipa opazila sistematične napake v nekaterih turških samostalnikih; model je bil učen na večinoma angleških podatkih. Funkcija je bila spremenjena tako, da sprašuje uporabnika namesto napačne predpostavke. Lekcija: Naloga razvijalca je, da preizkusi pristranskost modela pri usposabljanju.
Primer 3 – obramba »AI je tako rekla« je padla. Razvijalec je objavil plačilno kodo, ki jo je ustvaril AI, ne da bi jo preveril; V enem skrajnem primeru je koda izvajala dvojna zbiranja. Odgovornost se ne odstrani z besedami "AI je to napisal"; Kot imetnik računa je bil razvijalec. Nauk: odgovornosti ni mogoče prenesti.
Šibek poziv/močan poziv
Šibek poziv: "Napišite mi celotno vlogo za skeniranje potrdil."
Zmogljiv poziv: »Pomagajte mi korak za korakom razviti funkcijo »dodaj stroške iz računa«. Nadaljujmo po vrstnem redu, ko preverim in odobrim vsak korak, nadaljujte z naslednjim: 1) Zaslon + štiri stanja + dostopnost2) Sloji MVVM (kamera, model, ViewModel)3) Znesek/datum branja od prejema s kompletom ML + ocena zaupanja4) Dovoljenje za kamero (najmanjši privilegij) + zavrnitev flow5) Testi enot in uporabniškega vmesnika Povejte mi tveganja in točke, ki jih moram preveriti pri vsakem koraku."
Kopirane predloge
Predloga za načrtovanje od konca do konca: "Razvil bom naslednjo funkcijo: [funkcija]. Razčlenite jo na preverljive korake: načrtovanje, koda, integracija AI, zasebnost/dovoljenje, testiranje, zmogljivost, izdaja. Napišite rezultat, tveganje in merila preverjanja za vsak korak. Ne naredite ene same velikanske proizvodnje."
Predloga za revizijo etike/pristranskosti: "Preverite naslednjo funkcijo umetne inteligence glede poštenosti in pristranskosti: [funkcija]. Katere skupine uporabnikov morda deluje slabo? Kako podatki o usposabljanju vplivajo na pristranskost? Kako jo preizkusim, kako jo naredim bolj vključujočo?"
Predloga za preverjanje odgovornosti: "Navedite vprašanja o odgovornosti, ki bi jih moral zastaviti, preden izdam to kodo/funkcijo, ustvarjeno z umetno inteligenco: ali sem jo razumel, ali sem jo preizkusil, ali je varna, ali je pregledna za uporabnika, ali je zakonita/etična?"
Predloga za stalno učenje: "Predlagajte 4-tedenski praktični načrt za izboljšanje mojih veščin AI v mobilnem razvijalcu: vsak teden ena tema (koda, integracija, testiranje, izdaja), s ciljem majhnega projekta in navade preverjanja."
Pogoste napake
- Izdelava kompleksne funkcije z eno veliko zahtevo. Ni mogoče preveriti; razdeli na korake.
- Izogibanje odgovornosti z besedami "AI je tako napisal". Za objavljeno kodo ste odgovorni sami.
- Ne testira pristranskosti AI. Model lahko v nekaterih skupinah deluje slabo; Preizkusite pravičnost.
- Skrivanje interakcije AI pred uporabnikom. Transparentnost je temelj zaupanja.
- Pozabite na omejitve AI. Ljudje imajo zadnjo besedo o arhitekturi, etiki in trenutnem API-ju.
- Da se neham učiti. Orodja in pravila trgovine se hitro spreminjajo; Bodite nenehno posodobljeni.
Če povzamem
Funkcija od konca do konca združuje vse dele modula v verigi: oblikovanje, kodo, integracijo AI, zasebnost, testiranje, odpravljanje napak, zmogljivost in izdajo. Na vsakem koraku AI pospeši, človek preveri in se odloči; Kompleksno delo je razdeljeno na majhne preverljive korake. Odgovorna uporaba temelji na treh načelih: transparentnost, preverjanje-odgovornost in pravičnost-ne škodi. AI je močan multiplikator, vendar imajo ljudje zadnjo besedo o arhitekturi, etiki, varnosti in trenutnem znanju. "Umetna inteligenca je to naredila tako" ni obramba; Odgovorni ste za svoj izdelek in obljubo, ki jo daste uporabniku. S to disciplino vas umetna inteligenca naredi hitrejše, celovitejše in močnejše v vaši karieri.
Aplikacijska naloga
Razčlenite mobilno funkcijo po vaši izbiri (npr. "povzemanje z glasovnimi zapiski" ali "prepoznavanje izdelka s fotografije") na preverljive korake s "predlogo za načrtovanje od konca do konca". Dejansko razvijte in potrdite vsaj en korak z AI. Nato analizirajte, katere skupine uporabnikov lahko funkcija povzroča težave s "predlogo za nadzor etike/pristranskosti" in odgovorite na vprašanja, ki jih morate postaviti pred izdajo s "predlogo za nadzor odgovornosti".
kontrolni seznam
- [ ] Funkcijo sem razdelil na preverljive majhne korake, ne na eno samo velikansko proizvodnjo
- [ ] Na vsakem koraku sem preveril rezultate AI in sprejel odločitev
- [ ] Uporabniku sem transparentno predstavil interakcijo AI
- [ ] Ocenil sem, ali funkcija deluje pošteno/pristransko v različnih skupinah
- [ ] Odgovoril sem na vprašanja o odgovornosti pred objavo (razumljivo/preizkušanje/varno/etično)
- [ ] Umetno inteligenco sem uporabljal samo za kompetentne in konstruktivne namene in nameravam nadaljevati učenje
Modulni izpit
1. Kaj od naslednjega je najbolj natančno določanje položaja za umetno inteligenco v mobilnem razvoju?
- A) AI nadomesti razvijalca; lahko objavi neposredno, ne da bi prebral kodo, ki jo ustvari
- B) Umetna inteligenca deluje le pri pisanju besedila, z ustvarjanjem kode nima nič
- C) Umetna inteligenca je pomočnik in pospeševalec; Odgovornost za arhitekturne, varnostne in oddajne odločitve je v rokah ljudi ✔
- D) Ker umetna inteligenca vedno izdela pravilno kodo, so dodatna testiranja in preverjanja nepotrebna
Opis: Umetna inteligenca je pomočnik in pospeševalnik, ki ustvarja kodo, načrte in rešitve. Odgovornost in končna odobritev odločitev, kot so arhitektura, dovoljenja, varnost in objava, je v pristojnosti pristojnega projektanta; Za vsako objavljeno vrstico smo odgovorni ljudje.
2. Ko od umetne inteligence zahtevate mobilno kodo, kaj najbolj poveča arhitekturno kakovost izdelane kode?
- A) Poziv naj bo čim krajši in recite "napišite mi aplikacijo"
- B) Najprej vsilite arhitekturo, kot je MVVM, in zahtevajte kodo v majhnih delih, plast za plastjo ✔
- C) Izdelava celotne funkcije kot ene same ogromne datoteke v enem samem pozivu
- D) Sploh ne določajte arhitekture in prepustite najboljšo odločitev umetni inteligenci
Pojasnilo: vsiljevanje arhitekture, kot je MVVM, in zahtevanje sloja za slojem pred pisanjem kode neposredno v AI ustvari strukturo, ki jo je mogoče preizkusiti in vzdrževati, ki ločuje logiko od zaslona. Zahteva brez arhitekture vrne kodo, ki vse stlači na zaslon.
3. Kaj je največkrat spregledano pri izdelavi vmesnika z umetno inteligenco in kaj je najbolj kritično pri realni uporabi?
- A) Oblikovanje stanja nalaganja, praznega in napake, ne samo celotnega zaslona ✔
- B) Ustvarjanje samo najlepšega celozaslonskega prikaza, preskakovanje drugih primerov
- C) Dodajanje čim več barv in animacij na vsak zaslon
- D) Puščanje oznak za dostopnost na zadnjem mestu in obravnavanje le videza
Pojasnilo: razvijalci pogosto upoštevajo samo 'polno' stanje; medtem ko se v resnici uporabnik večinoma srečuje s stanji nalaganja, praznega in napak. Generiranje vseh štirih stanj (nalaganje/prazno/napaka/polno) je skrivnost robustnega vmesnika.
4. Zakaj je umetna inteligenca v napravi pogosto privzeta izbira za funkcijo, ki obdeluje občutljive osebne podatke (npr. merjenje zdravja)?
- A) Modeli v napravi so vedno natančnejši od oblaka
- B) Obdelava v napravi nikoli ne povzroči stroškov baterije ali procesorja
- C) Obdelava v napravi je neomejena glede velikosti modela
- D) Ker podatki ne zapustijo telefona, zagotavlja veliko prednost v smislu zasebnosti in zaupanja uporabnikov ✔
Pojasnilo: obdelava v napravi ne odstrani podatkov iz telefona; To je velika prednost v smislu skladnosti z zasebnostjo in zaupanja uporabnikov, poleg tega pa deluje brez povezave in takoj. Njegova omejitev je moč naprave in velikost modela.
5. Katera je najpogostejša 'tiha' napaka, ki povzroči nesmiselne rezultate in ne prikaže sporočila o napaki pri integraciji modela v napravi?
- A) Napačno črkovanje imena datoteke modela
- B) Nizka ločljivost ikone aplikacije
- C) Nepravilna predprocesiranje vnosa (velikost/normalizacija) ✔
- D) Temna tema zaslona
Pojasnilo: Nepravilno izvajanje predprocesiranja vnosa bo proizvedlo popolnoma napačne rezultate brez vrženja napak. Vrednosti predprocesiranja je treba preveriti v dokumentaciji modela.
6. Katero je varnostno najbolj kritično pravilo pri integraciji oblaka LLM v mobilno aplikacijo?
- A) Ključ API naj bo shranjen le v ozadju, ne pa na odjemalcu; zahteve morajo iti prek posrednika ✔
- B) Ključ API mora biti zaradi priročnosti vdelan neposredno v kodo aplikacije
- C) Ključ API mora biti v skupni rabi v opisu aplikacije
- D) Ključ API naj bo shranjen v odjemalcu in skrit samo s spremembo imena.
Razkritje: ključ API ni nikoli vdelan v kodo mobilne aplikacije; ker je aplikacijo mogoče vzvratno konstruirati in izluščiti ključ. Pravilna arhitektura je, da ključ obdržite samo v ozadju in posredujete zahteve prek lastnega strežnika proxy.
7. Kaj najbolj poveča hitrost, ki jo uporabniki zaznajo, in stopnjo dokončanja funkcij pri dolgih odgovorih LLM?
- A) Počakajte, da se pripravi celoten odgovor in ga takoj prikažete
- B) Prikaz odgovora besedo za besedo, kot je proizveden, s pretakanjem ✔
- C) Pošiljanje celotne zgodovine klepetov modelu z vsako zahtevo
- D) Povečajte model navodil, da čim bolj razširite odgovor
Opis: pretakanje dramatično poveča zaznano hitrost in tekočnost s prikazom odziva, ko se ustvari beseda za besedo. Namesto čakanja na praznem zaslonu uporabnik gleda besedilno obliko; To bistveno zmanjša stopnjo opustitve.
8. Katera je najpogostejša težava pri testih, ki jih izdeluje umetna inteligenca, zaradi katere je test brez vrednosti?
- A) Testi pokrivajo preveč mejnih stanj
- B) Preizkusi uporabljajo lažne objekte, ne resničnih storitev
- C) Testi potekajo zelo hitro
- D) Razširitev obsega s praznimi/neuporabnimi testi, ki dejansko ne potrdijo vedenja ✔
Pojasnilo: Umetna inteligenca včasih ustvari teste, ki dejansko ne preverijo nobenega rezultata (npr. samo pokličite funkcijo in napišite prazno trditev). Ti povečajo število pokritosti, vendar ne zagotavljajo prave zaščite; Vsak test je treba preveriti, da se preveri smiselno vedenje.
9. Zakaj ni zadostna rešitev, da utišate zrušitev tako, da jo postavite v poskusno lovljenje s predlogom umetne inteligence?
- A) poskusnega ulova sploh ni mogoče uporabiti v mobilnih aplikacijah
- B) Zrušitev se ustavi, a ker glavni vzrok ni odpravljen, se težava vrne v drugačni obliki ✔
- C) Uporaba try-catch upočasni aplikacijo, zato je prepovedana
- D) Utišano napako trgovina samodejno zavrne
Pojasnilo: Utišanje simptoma ne reši temeljnega vzroka; Zrušitev se ustavi, vendar se prvotna težava (npr. prekinjena podatkovna povezava) vrne v drugi obliki (npr. izguba podatkov). Cilj profesionalnega odpravljanja napak je odpraviti temeljni vzrok, ne simptom.
10. Katero je osnovno zlato pravilo, ki ga je treba upoštevati pri optimizaciji delovanja?
- A) Najprej vzemite profil in izmerite pravo ozko grlo, nato optimizirajte ✔
- B) Ugibanje kje je počasno in koncentracija tam
- C) Lovljenje na majhne dobičke v vsaki funkciji
- D) Merjenje zmogljivosti na emulatorju in nikoli preizkušanje prave naprave
Opis: najprej izmerite, nato optimizirajte. Pravo ozko grlo je skoraj vedno na drugi lokaciji od predvidene; Optimizacija brez profiliranja je slepo ugibanje in je pogosto izguba truda.
11. Kateri je najpomembnejši inženirski pomislek za nenehno delujočo funkcijo AI (npr. prevajanje s kamero v živo)?
- A) Funkcija zahteva čim več dovoljenj
- B) Upravljanje stroškov baterije in procesorja za neprekinjeno obdelavo s frekvenco vzorčenja in paketno obdelavo ✔
- C) Zaženite funkcijo samo na najdražjih telefonih
- D) Neprekinjeno upodabljanje kamere pri najvišji možni hitrosti sličic
Opis: Stalno delujoč model, kamera in omrežje; Lahko hitro porabi baterijo, segreje napravo in ga sistem omeji. Zmanjšanje frekvence vzorčenja, seriranje in delovanje samo po potrebi so načini za upravljanje stroškov baterije.
12. Kaj načelo 'najmanjših privilegijev' pri upravljanju dovoljenj pomeni pri mobilnem razvoju?
- A) Zahtevanje vseh možnih dovoljenj ob zagonu, za vsak slučaj.
- B) Onemogočanje delovanja aplikacije, če je dovoljenje zavrnjeno
- C) Prošnja za najširše dovoljenje in načrtovanje, da bi ga pozneje zožili.
- D) Zahtevanje samo dovoljenja, ki je dejansko potrebno, kadar je potrebno in v najožjem obsegu, s scenarijem zavrnitve ✔
Pojasnilo: Najmanjši privilegij je zahtevati le tisto dovoljenje, ki je dejansko potrebno, ko je potrebno in v najožjem možnem obsegu. Preveč dovoljenj spodkopava zaupanje uporabnikov, vodi do zavrnitve shranjevanja in povečuje tveganje uhajanja podatkov.
13. Katere posebne zahteve morajo biti izpolnjene pri predstavitvi aplikacije z umetno inteligenco v trgovini?
- A) Preglednost vsebine, nadzor vsebine in razkritje podatkov, ki gredo umetni inteligenci v obliki zaupnosti ✔
- B) Skrivanje uporabe umetne inteligence pred uporabnikom
- C) Označevanje podatkov, ki se dejansko ne zbirajo v obrazcu o zasebnosti
- D) Obetavne lastnosti, ki ne obstajajo v opisu
Razkritje: Trgovine pričakujejo preglednost vsebine (izjava, da proizvaja AI), moderiranje vsebine (filtriranje škodljivih rezultatov in obveščanje uporabnikov) in razkritje uporabe podatkov iz aplikacij, ki vsebujejo umetno inteligenco; Na občutljivem območju je potrebno opozorilo o natančnosti. Prijave, ki jih ne bodo izpustile, bodo zavrnjene.
14. Zakaj je obramba 'AI tako napisal' neveljavna, ko pride do napake robnega primera v objavljeni kodi, ki jo ustvari AI?
- A) Ker umetna inteligenca vedno proizvede kodo brez napak, napako povzroči uporabnik
- B) Ker samodejno shrani pravilno kodo, ki jo ustvari umetna inteligenca
- C) Ker odgovornosti ni mogoče prenesti na umetno inteligenco; Za objavljeno kodo in podatke je odgovoren razvijalec ✔
- D) Ker koda, ustvarjena z umetno inteligenco, ni nikoli objavljena
Opis: rezultat AI je izhodišče in ne končni izdelek. Razvijalec je odgovoren za vsako objavljeno vrstico, vsak obdelan podatek in vsako dano obljubo; odgovornosti ni mogoče prenesti na AI, zato je treba rezultate razumeti in preizkusiti pred objavo.