Jedinica 11 / 11

End-to-end projekat, odgovorno korištenje umjetne inteligencije i mapa puta u struci

Dobici:

  • Sposobnost razvoja mobilne funkcije od kraja do kraja i koja se može provjeriti u dizajnu, kodu, integraciji AI, privatnosti, testiranju, otklanjanju grešaka, performansama i koracima izdavanja
  • Sposobnost uspostavljanja okvira za odgovornu i etičku upotrebu vještačke inteligencije sa principima transparentnosti, verifikacije-odgovornosti i pravde-ne-zlonamjernosti.
  • Biti u stanju stvoriti održivu profesionalnu praksu razlikovanjem područja u kojima je umjetna inteligencija jaka i slaba i zadržavanjem konačne odluke u rukama ljudi.

Kroz ovaj modul koristili smo AI u svakoj fazi mobilnog razvoja: generiranje koda, sučelje, integracija AI na uređaju i oblaku, testiranje, otklanjanje grešaka, performanse, privatnost i isporuka u prodavnici. U ovoj završnoj cjelini spojit ćemo sve ove dijelove u jedan tok od kraja do kraja, razjasniti okvir za odgovornu i etičku upotrebu AI i razgovarati o tome kako ove vještine pretvoriti u održivu profesionalnu praksu. Osnovna poruka se nije promijenila, ali je sada čvrsto uspostavljena: AI je sila koja umnožava kompetentnog mobilnog programera; nije zamjena. Osoba je ta koja je odgovorna za kvalitet, sigurnost i obećanje proizvoda korisniku.

Funkcija od kraja do kraja: kombinovanje delova

Razvijanje stvarne karakteristike od početka do kraja uz AI podršku kombinuje svaku jedinicu koju smo naučili u lancu. Primjer: funkcija "dodavanje troškova iz računa". Tok funkcionira ovako:

  1. Dizajn (cjelina 3). Nacrtajte ekran i četiri stanja (učitavanje/prazno/greška/puna) sa AI, zatražite pristupačnost od početka.
  2. Šifra (Jedinica 2). Generirajte kameru, model podataka i ViewModel sloj po sloj pomoću MVVM-a; provjerite svaki sloj.
  3. AI na uređaju (Jedinica 4). Čitanje iznosa/datuma od prijema sa ML Kit prepoznavanjem teksta; Razmotrite prethodnu obradu i bodovanje pouzdanosti.
  4. Povjerljivost (Jedinica 9). Zatražite dozvolu za kameru sa najmanjim privilegijama, napišite scenario odbijanja, čuvajte podatke na uređaju.
  5. Ispitivanje (Cijena 6). Generiranje jediničnih testova logike ekstrakcije, UI testiranje ekrana; Uključite pogranične države.
  6. Otklanjanje grešaka (Jedinica 7). Neka AI analizira padove s kontekstom i riješi osnovni uzrok.
  7. Izvedba (Jedinica 8). Izmjerite trošak baterije za obradu fotoaparata i podesite je da odgovara bateriji.
  8. Emitiranje (Cijena 10). Transparentno prijavite korištenje AI, istinito popunite obrazac za privatnost i izvršite samotestiranje.

Na svakom koraku, AI ubrzava, čovjek provjerava i odlučuje. Ova petlja je jezgro modula.

Savjet: Ne pokušavajte natjerati AI da radi složenu funkciju jednim ogromnim zahtjevom. Podijelite ga na provjerljive korake kao što je gore. Testiranje rezultata svakog koraka i prelazak na sljedeći je sigurnije i na kraju brže; Zato što veliku grešku uhvatite ne na kraju, već na prvom koraku.

Odgovorno i etičko korištenje AI

Sama tehnička kompetencija nije dovoljna; odgovoran okvir to upotpunjuje. tri principa:

Transparentnost. Korisnik mora znati da je u interakciji sa AI. Tajna AI je povreda povjerenja. Sadržaj generiran umjetnom inteligencijom je označen; Savjeti sa umjetnom inteligencijom su predstavljeni kao "korisni savjeti", a ne kao "tvrda istina".

Verifikacija i odgovornost. AI izlaz je početna tačka, a ne gotov proizvod. Odgovorni ste za svaku objavljenu liniju koda, svaki odgovor AI, svaku transakciju podataka. "AI je to tako napisao" nije odbrana.

Pravda i nezlonamjernost. AI modeli mogu nositi predrasude iz podataka na kojima su obučeni. Prepoznavanje lica može lošije raditi na nekim bojama kože, mehanizam za preporuke može isključiti grupu. Vaša je odgovornost da testirate da li vaš proizvod radi pošteno među različitim grupama korisnika.

Pažnja: Svaka tehnika koju naučite u oblasti IT i sigurnosti koristi se samo u ovlaštene i konstruktivne svrhe. Korištenje AI za kreiranje zlonamjernog softvera, razbijanje tuđe aplikacije bez dozvole, prikupljanje korisničkih podataka bez pristanka ili proizvodnju obmanjujućih sadržaja je nezakonito i protivno je etici profesije. Mjera moći se otkriva tamo gdje je ne koristite.

Prepoznavanje granica AI

Zreli programer zna gdje AI blista, a gdje ne uspijeva.

AI je moćan

AI je slab

Šifra kalupa, proizvodnja šablona

Proizvodne i arhitektonske odluke

Ispitivanje i nacrt dokumentacije

Razumijevanje poslovnog konteksta i korisnika

Čitanje dnevnika pada, skeniranje grešaka

Definitivna dijagnoza uzroka (potrebna je provjera)

Učenje, objašnjenje koncepta

Trenutne/neproizvedene API informacije

Tekst, opis, prijevod

Etika, sigurnost i pravna konačna odluka

Unutarnjivanje ove razlike ključno je za efikasno korištenje AI i izbjegavanje njegovih zamki.

tri mini kofera

Slučaj 1 — Brzina od kraja do kraja. Jedan solo programer je završio funkciju "unplugged" za 4 dana sa 8 koraka iznad; Bez AI procjena je bila 12 dana. Ali pošto je provjerio svaki korak, objava je odobrena prvi put. Brzina je bila stvarna jer je disciplina bila stvarna. Lekcija: AI + verifikacija je brža od AI - verifikacije.

Slučaj 2 — Pristrasnost uhvaćena. Dok je testirao funkciju predviđanja roda imenica zasnovanu na umjetnoj inteligenciji, tim je primijetio sistematske greške u nekim turskim imenicama; model je obučen na uglavnom engleskim podacima. Funkcija je promijenjena tako da traži od korisnika umjesto da pravi pogrešnu pretpostavku. Lekcija: posao programera je da testira pristrasnost treninga modela.

Slučaj 3 — Odbrana „AI je tako rekla“ je pala. Programer je objavio kod za plaćanje koji je generirao AI bez provjere; U jednom ekstremnom slučaju kod je radio dvostruke kolekcije. Odgovornost se ne uklanja izjavom "AI je to napisao"; Kao vlasnik naloga, bio je programer. Pouka: odgovornost se ne može delegirati.

Slaba prompt / Jaka prompt

Slab upit: "Napišite mi kompletnu aplikaciju za skeniranje računa."

Snažan upit: "Pomozite mi da razvijem funkciju 'dodaj trošak od prijema' korak po korak. Nastavimo redom, kada potvrdim i odobrim svaki korak, prijeđimo na sljedeći: 1) Ekran + četiri stanja + pristupačnost2) MVVM slojevi (kamera, model, ViewModel)3) Iznos/datum čitanja iz potvrde o priznanici + potvrda o primanju ML-a) + tok odbijanja5) Jedinični i UI testovi Recite mi rizike i bodove koje moram provjeriti u svakom koraku."

Predlošci koji se mogu kopirati

Predložak za planiranje od kraja do kraja: "Razvit ću sljedeću karakteristiku: [karakteristiku]. Podijelite je na provjerljive korake: dizajn, kod, integracija AI, privatnost/dozvola, testiranje, performanse, izdanje. Napišite izlaz, rizik i kriterije verifikacije za svaki korak. Nemojte praviti jednu ogromnu proizvodnju."

Predložak revizije etike/pristrasnosti: "Provjerite sljedeću AI karakteristiku radi pravednosti i pristrasnosti: [funkcija]. Koje grupe korisnika bi mogla imati loš učinak? Kako podaci obuke utiču na pristrasnost? Kako da ih testiram, kako da ih učinim inkluzivnijim?"

Predložak za provjeru odgovornosti: "Navedite pitanja o odgovornosti koja bih trebao postaviti prije objavljivanja ovog koda/karakteristike generisane umjetnom inteligencijom: da li sam ga razumio, da li sam ga testirao, da li je siguran, da li je transparentan za korisnika, da li je legalan/etički?"

Šablon za kontinuirano učenje: "Predloži 4-nedeljni praktični plan za poboljšanje moje AI veštine u mobilnom programeru: jedna tema svake nedelje (kod, integracija, testiranje, izdanje), sa ciljem malog projekta i navike verifikacije."

Uobičajene greške

  • Izrada složenih karakteristika sa jednim ogromnim zahtevom. Ne može se provjeriti; razbij ga na korake.
  • Izbjegavanje odgovornosti govoreći "AI je tako napisao". Vi ste odgovorni za objavljeni kod.
  • Ne testira se na AI pristrasnost. Model može loše funkcionirati u nekim grupama; Testirajte pravdu.
  • Skrivanje AI interakcije od korisnika. Transparentnost je temelj povjerenja.
  • Zaboravljanje ograničenja AI. Ljudi imaju posljednju riječ o arhitekturi, etici i trenutnom API-ju.
  • Da prestanem da učim. Alati i pravila trgovine se brzo mijenjaju; Budite stalno ažurirani.

Ukratko

Funkcija od kraja do kraja kombinuje sve delove modula u lancu: dizajn, kod, integraciju veštačke inteligencije, privatnost, testiranje, otklanjanje grešaka, performanse i izdavanje. Na svakom koraku, AI ubrzava, čovjek provjerava i odlučuje; Kompleksni rad je raščlanjen na male proverljive korake. Odgovorno korištenje temelji se na tri principa: transparentnost, provjera-odgovornost i pravičnost-ne škodi. AI je moćan multiplikator, ali ljudi imaju posljednju riječ o arhitekturi, etici, sigurnosti i trenutnom znanju. „AI je to uradio na taj način“ nije odbrana; Vi ste odgovorni za svoj proizvod i obećanje koje dajete svom korisniku. Uz ovu disciplinu, AI vas čini bržim, sveobuhvatnijim i jačim tokom vaše karijere.

Zadatak aplikacije

Razdvojite mobilnu značajku po vašem izboru (npr. "sažimanje uzimanjem glasovnih bilješki" ili "prepoznavanje proizvoda sa fotografije") na provjerljive korake s "predloškom za planiranje od kraja do kraja". Zapravo razvijte i potvrdite barem jedan korak pomoću AI. Zatim analizirajte u kojim grupama korisnika ova funkcija može uzrokovati probleme s "Šablonom kontrole etike/pristranosti" i odgovorite na pitanja koja trebate postaviti prije objavljivanja pomoću "Šablona kontrole odgovornosti".

kontrolna lista

  • [ ] Podijelio sam ovu funkciju na provjerljive male korake, a ne na jednu ogromnu produkciju
  • [ ] Provjerio sam AI izlaz na svakom koraku i donio odluku
  • [ ] Predstavio sam AI interakciju transparentno korisniku
  • [ ] Procijenio sam da li funkcija radi pošteno/pristrasno u različitim grupama
  • [ ] Odgovorio sam na pitanja o odgovornosti prije puštanja u promet (shvaćeno/testiranje/sigurno/etičko)
  • [ ] Koristio sam AI samo u kompetentne i konstruktivne svrhe i planiram da nastavim sa učenjem

Modul Exam

1. Koje od sljedećeg je najpreciznije pozicioniranje umjetne inteligencije u razvoju mobilnih uređaja?

  • A) AI zamjenjuje programera; može biti objavljen direktno bez čitanja koda koji generiše
  • B) Vještačka inteligencija radi samo u pisanju teksta, nema nikakve veze sa generisanjem koda
  • C) Vještačka inteligencija je pomoćnik i akcelerator; Odgovornost za odluke o arhitekturi, sigurnosti i emitovanju je na ljudima ✔
  • D) Budući da umjetna inteligencija uvijek proizvodi ispravan kod, dodatno testiranje i verifikacija su nepotrebni

Opis: Umjetna inteligencija je pomoćnik i akcelerator koji generiše kod, nacrte i rješenja. Odgovornost i konačno odobrenje odluka kao što su arhitektura, dozvole, sigurnost i objavljivanje snose nadležni programeri; Ljudi su odgovorni za svaki objavljen redak.

2. Kada zahtijevate mobilni kod od umjetne inteligencije, šta najviše povećava arhitektonski kvalitet proizvedenog koda?

  • A) Neka upit bude što kraći i recite 'napišite mi aplikaciju'
  • B) Prvo, nametnite arhitekturu poput MVVM-a i zatražite kod u malim dijelovima, sloj po sloj ✔
  • C) Proizvodnja cijele funkcije kao jedne ogromne datoteke u jednom promptu
  • D) Uopšte nemojte specificirati arhitekturu i prepustite najbolju odluku umjetnoj inteligenciji

Objašnjenje: Nametanje arhitekture kao što je MVVM i zahtijevanje sloj po sloj prije pisanja koda direktno u AI proizvodi strukturu koja se može testirati i održavati koja odvaja logiku od ekrana. Zahtjev bez arhitekture vraća kod koji sve trpa na ekran.

3. Šta se najčešće zanemaruje prilikom kreiranja interfejsa sa veštačkom inteligencijom, a šta je najkritičnije u stvarnoj upotrebi?

  • A) Dizajniranje stanja učitavanja, praznog i greške, a ne samo preko celog ekrana ✔
  • B) Stvaranje samo najboljeg izgleda preko celog ekrana, preskakanje drugih slučajeva
  • C) Dodavanje što više boja i animacija svakom ekranu
  • D) Ostavljanje oznaka pristupačnosti posljednim i samo se bave izgledom

Objašnjenje: Programeri često uzimaju u obzir samo 'puno' stanje; dok se u stvarnosti korisnik uglavnom susreće sa stanjem učitavanja, praznog i greške. Generisanje sva četiri stanja (učitavanje/prazno/greška/puna) je tajna robusnog interfejsa.

4. Zašto je veštačka inteligencija na uređaju često podrazumevani izbor za funkciju koja obrađuje osetljive lične podatke (npr. merenje zdravlja)?

  • A) Modeli na uređaju su uvijek precizniji od oblaka
  • B) Obrada na uređaju nikada ne uzrokuje troškove baterije ili procesora
  • C) Obrada na uređaju je neograničena u smislu veličine modela
  • D) Budući da podaci ne napuštaju telefon, to pruža snažnu prednost u smislu privatnosti i povjerenja korisnika ✔

Objašnjenje: Obrada na uređaju ne uklanja podatke sa telefona; Ovo je snažna prednost u smislu poštovanja privatnosti i povjerenja korisnika, plus funkcionira offline i trenutno. Njegovo ograničenje je snaga uređaja i veličina modela.

5. Koja je najčešća 'tiha' greška koja uzrokuje besmislene rezultate i ne proizvodi poruku o grešci u integraciji modela na uređaju?

  • A) Pogrešan pravopis naziva datoteke modela
  • B) Niska rezolucija ikone aplikacije
  • C) Neispravna predobrada unosa (veličina/normalizacija) ✔
  • D) Tema tamnog ekrana

Objašnjenje: Neispravna predobrada unosa će proizvesti potpuno pogrešne rezultate bez bacanja grešaka. Vrijednosti predobrade treba provjeriti iz dokumentacije modela.

6. Koje je pravilo od najveće važnosti za sigurnost prilikom integracije Cloud LLM u mobilnu aplikaciju?

  • A) API ključ treba čuvati samo u pozadini, a ne na klijentu; zahtjevi moraju ići preko proxyja ✔
  • B) API ključ treba da bude ugrađen direktno u kod aplikacije radi praktičnosti
  • C) API ključ treba dijeliti u opisu aplikacije
  • D) API ključ treba čuvati u klijentu i sakriti samo promjenom imena.

Otkrivanje: API ključ nikada nije ugrađen u kod mobilne aplikacije; jer se aplikacija može obrnutim inženjeringom i izvući ključ. Ispravna arhitektura je držati ključ samo u pozadini i proslijediti zahtjeve preko vlastitog proxy servera.

7. Šta najviše povećava brzinu koju korisnici percipiraju i stopu završetka funkcije u dugim LLM odgovorima?

  • A) Čeka se dok se ne proizvede cijeli odgovor i prikazuje se odjednom
  • B) Prikaz odgovora riječ po riječ, kako je proizveden, uz striming ✔
  • C) Slanje cjelokupne istorije razgovora modelu sa svakim zahtjevom
  • D) Povećajte instrukciju modela da proširite odgovor što je više moguće

Opis: Streaming dramatično povećava percipiranu brzinu i tečnost tako što prikazuje odgovor kako se proizvodi riječ po riječ. Umjesto čekanja na praznom ekranu, korisnik gleda tekstualni obrazac; Ovo značajno smanjuje stopu napuštanja.

8. Koji je najčešći problem u testovima proizvedenim od strane umjetne inteligencije koji test čini bezvrijednim?

  • A) Testovi pokrivaju previše graničnih stanja
  • B) Testovi koriste lažne objekte, a ne prave usluge
  • C) Testovi se odvijaju veoma brzo
  • D) Naduvavanje opsega praznim/beskorisnim testovima koji zapravo ne potvrđuju ponašanje ✔

Objašnjenje: Umjetna inteligencija ponekad proizvodi testove koji zapravo ne provjeravaju nikakav izlaz (npr. samo pozovite funkciju i napišite praznu tvrdnju). Oni povećavaju broj pokrivenosti, ali ne pružaju stvarnu zaštitu; Svaki test se mora provjeriti kako bi se potvrdilo smisleno ponašanje.

9. Zašto nije dovoljno rješenje utišati pad stavljanjem u pokušaj hvatanja s prijedlogom umjetne inteligencije?

  • A) try-catch se uopće ne može koristiti u mobilnim aplikacijama
  • B) Pad prestaje, ali budući da osnovni uzrok nije riješen, problem se vraća u drugom obliku ✔
  • C) Korišćenje try-catch usporava aplikaciju, pa je zabranjeno
  • D) Prodavnica automatski odbija prešućenu grešku

Objašnjenje: Utišavanje simptoma ne rješava osnovni uzrok; Pad prestaje, ali se prvobitni problem (npr. prekinuta podatkovna veza) vraća u drugom obliku (npr. gubitak podataka). Cilj profesionalnog otklanjanja grešaka je riješiti osnovni uzrok, a ne simptom.

10. Koje je osnovno zlatno pravilo koje treba slijediti u optimizaciji performansi?

  • A) Prvo uzmite profil i izmjerite pravo usko grlo, a zatim optimizirajte ✔
  • B) Pogađanje gdje je sporo i koncentriranje
  • C) Traganje za malim dobicima u svakoj funkciji
  • D) Mjerenje performansi na emulatoru i nikada ne isprobavanje pravog uređaja

Opis: prvo izmjerite, a kasnije optimizirajte. Pravo usko grlo je gotovo uvijek na drugoj lokaciji od predviđene; Optimizacija bez profiliranja je slijepo nagađanje i često je gubitak truda.

11. Koja je najvažnija inženjerska briga za konstantno pokrenutu AI funkciju (npr. prevođenje kamere uživo)?

  • A) Funkcija zahtijeva što više dozvola
  • B) Upravljanje troškovima baterije i procesora kontinuirane obrade sa učestalošću uzorkovanja i batch obradom ✔
  • C) Pokrenite ovu funkciju samo na najskupljim telefonima
  • D) Kontinuirano prikazivanje kamere pri najvećoj mogućoj brzini kadrova

Opis: Konstantno radni model, kamera i mreža; Može brzo potrošiti bateriju, zagrijati uređaj i biti ograničen od strane sistema. Smanjenje učestalosti uzorkovanja, serija i rad samo kada je potrebno su načini za upravljanje troškovima baterije.

12. Šta princip 'najmanje privilegije' u upravljanju dozvolama znači u mobilnom razvoju?

  • A) Zahtijevanje svih mogućih dozvola pri pokretanju, za svaki slučaj.
  • B) Ukidanje aplikacije ako je dozvola odbijena
  • C) Traženje najšire dozvole i planiranje da je kasnije suzite.
  • D) Zahtijevanje samo one dozvole koja je stvarno potrebna, kada je to potrebno iu najužem obimu, sa scenarijem odbijanja ✔

Objašnjenje: Najmanja privilegija je traženje samo one dozvole koja je stvarno potrebna, kada je potrebna, iu najužem mogućem opsegu. Previše dozvola podriva povjerenje korisnika, dovodi do odbijanja trgovine i povećava rizik od curenja podataka.

13. Koji specifični zahtjevi moraju biti ispunjeni prilikom predstavljanja aplikacije sa umjetnom inteligencijom u prodavnici?

  • A) Transparentnost sadržaja, kontrola sadržaja i otkrivanje podataka koji idu umjetnoj inteligenciji u obliku povjerljivosti ✔
  • B) Skrivanje upotrebe vještačke inteligencije od korisnika
  • C) Označavanje podataka koji zapravo nisu prikupljeni u obrascu za privatnost
  • D) Obećavajuće karakteristike koje ne postoje u opisu

Otkrivanje: Prodavnice očekuju transparentnost sadržaja (izjava da proizvodi AI), moderiranje sadržaja (filtriranje štetnog izlaza i obavještenja korisnika) i otkrivanje korištenja podataka iz aplikacija koje sadrže umjetnu inteligenciju; U osjetljivom području potrebno je upozorenje o preciznosti. Prijave koje to izostave bit će odbijene.

14. Zašto je odbrana 'AI je tako napisala' nevažeća kada se pojavi greška rubnog slučaja u objavljenom kodu generisanom AI?

  • A) Budući da umjetna inteligencija uvijek proizvodi kod bez grešaka, greška dolazi od korisnika
  • B) Zato što pohranjuje automatski ispravan kod generiran AI
  • C) Zato što se odgovornost ne može prenijeti na vještačku inteligenciju; Programer je odgovoran za objavljeni kod i podatke ✔
  • D) Zato što se kod generiran umjetnom inteligencijom nikada ne prikazuje uživo

Opis: AI izlaz je početna tačka, a ne gotov proizvod. Programer je taj koji je odgovoran za svaku objavljenu liniju, svaki obrađeni podatak i svako dato obećanje; odgovornost se ne može prenijeti na AI, tako da se izlaz mora razumjeti i testirati prije objavljivanja.