Unitate 11 / 11

Proiect end-to-end, utilizarea responsabilă a inteligenței artificiale și foaia de parcurs în profesie

Câștiguri:

  • Abilitatea de a dezvolta o caracteristică mobilă de la capăt la capăt și care poate fi verificată în design, cod, integrare AI, confidențialitate, testare, depanare, performanță și pași de lansare
  • Capacitatea de a stabili un cadru de utilizare responsabilă și etică a inteligenței artificiale cu principiile transparenței, verificare-responsabilitate și justiție-non-malefință.
  • A fi capabil să creeze o practică profesională durabilă prin distingerea zonelor în care inteligența artificială este puternică și slabă și păstrând decizia finală în mâinile oamenilor.

Pe parcursul acestui modul, am folosit AI în fiecare etapă a dezvoltării mobile: generarea codului, interfața, integrarea AI pe dispozitiv și în cloud, testare, depanare, performanță, confidențialitate și livrare în magazin. În această unitate finală, vom combina toate aceste piese într-un singur flux end-to-end, vom clarifica cadrul pentru utilizarea responsabilă și etică a AI și vom vorbi despre cum să transformăm aceste abilități într-o practică profesională durabilă. Mesajul de bază nu s-a schimbat, dar acum este ferm stabilit: AI este o forță care înmulțește un dezvoltator mobil competent; nu este un înlocuitor. Este persoana care este responsabilă pentru calitatea, siguranța și promisiunea produsului față de utilizator.

O caracteristică de la capăt la capăt: combinarea pieselor

Dezvoltarea unei caracteristici reale de la început până la sfârșit cu suport AI combină fiecare unitate pe care am învățat-o într-un lanț. Exemplu: funcția „adăugați cheltuieli din primire”. Fluxul funcționează astfel:

  1. Proiectare (Unitatea 3). Schițați ecranul și patru stări (încărcare/gol/eroare/plin) cu AI, solicitați accesibilitatea de la început.
  2. Cod (Unitatea 2). Generați cameră, model de date și ViewModel strat cu strat cu MVVM; verifica fiecare strat.
  3. AI pe dispozitiv (unitatea 4). Citiți suma/data de la primire cu recunoașterea textului ML Kit; Luați în considerare preprocesarea și scorul de încredere.
  4. Confidențialitate (Unitatea 9). Solicitați permisiunea camerei cu cel mai mic privilegiu, scrieți scenariul de respingere, păstrați datele pe dispozitiv.
  5. Testare (Unitatea 6). Generați teste unitare ale logicii de extracție, testarea UI a afișajului; Includeți statele de frontieră.
  6. Depanare (Unitatea 7). Pune AI să analizeze blocările cu context și să rezolve cauza principală.
  7. Performanță (Unitatea 8). Măsurați costul bateriei pentru procesarea camerei și setați-l să fie ușor de utilizat.
  8. Difuzare (Unitatea 10). Raportați utilizarea AI în mod transparent, completați formularul de confidențialitate cu sinceritate și efectuați un autotest.

La fiecare pas, AI-ul accelerează, omul verifică și decide. Această buclă este nucleul modulului.

Sfat: Nu încercați să faceți AI să facă o funcție complexă cu o singură solicitare uriașă. Împărțiți-l în pași verificabili ca mai sus. Testarea rezultatului fiecărui pas și trecerea la următorul este atât mai sigură, cât și în cele din urmă mai rapidă; Pentru că prinzi o mare greșeală nu la final, ci la primul pas.

Utilizarea responsabilă și etică a IA

Doar competența tehnică nu este suficientă; un cadru responsabil o completează. Trei principii:

Transparență. Utilizatorul trebuie să știe că el sau ea interacționează cu AI. O IA secretă este o încălcare a încrederii. Conținutul generat de AI este etichetat; Sfaturile inteligenței artificiale sunt prezentate mai degrabă ca „sfaturi utile” decât ca „adevăr dur”.

Verificare și responsabilitate. Ieșirea AI este un punct de plecare, nu un produs finit. Sunteți responsabil pentru fiecare linie de cod publicată, fiecare răspuns AI, fiecare tranzacție de date. „AI a scris-o așa” nu este o apărare.

Justiție și non-malefință. Modelele AI pot prezenta prejudecăți din datele pe care sunt instruiți. O recunoaștere facială poate funcționa mai rău pe anumite culori ale pielii, un motor de recomandare poate exclude un grup. Este responsabilitatea dvs. să testați dacă produsul dvs. funcționează corect în diferite grupuri de utilizatori.

Atentie: Orice tehnica pe care o invatati in domeniul IT si securitate este folosita doar in scopuri autorizate si constructive. Utilizarea inteligenței artificiale pentru a crea malware, a sparge aplicația altcuiva fără permisiune, a colecta date despre utilizatori fără consimțământ sau pentru a produce conținut înșelător este ilegală și împotriva eticii profesiei. Măsura puterii este dezvăluită acolo unde nu o folosești.

Recunoașterea limitelor AI

Un dezvoltator matur știe unde strălucește AI și unde nu este.

AI este puternic

AI este slabă

Cod matriță, producție boilerplate

Produs și decizii arhitecturale

Testare și proiect de documentație

Înțelegerea contextului de afaceri și a utilizatorului

Citirea jurnalului de blocări, scanarea erorilor

Diagnosticul definitiv al cauzei principale (este necesară verificarea)

Învățare, explicarea conceptului

Informații API curente/nefabricate

Text, descriere, traducere

Etică, securitate și decizie finală juridică

Internalizarea acestei distincții este esențială pentru utilizarea eficientă a AI și evitarea capcanelor acesteia.

trei mini cutii

Cazul 1 — Viteză de la capăt la capăt. Un dezvoltator solo a terminat funcția „deconectat” în 4 zile cu fluxul în 8 pași de mai sus; Fără AI estimarea a fost de 12 zile. Dar pentru că a verificat fiecare pas, publicația a fost aprobată prima dată. Viteza era reală pentru că disciplina era reală. Lecție: AI + verificarea este mai rapidă decât AI - verificarea.

Cazul 2 – Prejudecata prins. În timp ce a testat o funcție de predicție a numelui-gen bazată pe inteligență artificială, o echipă a observat erori sistematice la unele substantive turcești; modelul a fost instruit pe date în mare parte în limba engleză. Caracteristica a fost schimbată pentru a cere utilizatorului în loc să facă o presupunere greșită. Lecție: este datoria dezvoltatorului să testeze părtinirea de antrenament a modelului.

Cazul 3 – Apărarea „AI a spus așa” s-a prăbușit. Un dezvoltator a publicat un cod de plată generat de AI fără a-l verifica; Într-un caz extrem, codul făcea colecții duble. Responsabilitatea nu este eliminată spunând „AI scris-o”; În calitate de deținător de cont, a fost dezvoltator. Lecție: responsabilitatea nu poate fi delegată.

Prompt slab / Prompt puternic

Solicitare slabă: „Scrieți-mi o aplicație completă de scanare a chitanțelor”.

Prompt puternic: „Ajută-mă să dezvolt caracteristica „adăugați cheltuieli de la primire” pas cu pas. Să procedăm în ordine, când verific și aprob fiecare pas, trecem la următorul: 1) Ecran + patru stări + accesibilitate2) Straturi MVVM (cameră, model, ViewModel)3) Citirea sumei/date din chitanță cu kit ML + permisiunea fluxului ML + scorul de încredere și privilegiul de respingere a camerei4) teste Spuneți-mi riscurile și punctele pe care trebuie să le verific la fiecare pas.”

Șabloane copiabile

Șablon de planificare de la capăt la capăt: „Voi dezvolta următoarea caracteristică: [funcție]. Împărțiți-o în pași verificabili: proiectare, cod, integrare AI, confidențialitate/permisiune, testare, performanță, lansare. Scrieți rezultatele, riscul și criteriile de verificare pentru fiecare pas. Nu faceți o singură producție gigantică."

Șablon de audit de etică/prejudecată: „Audit următoarea funcție AI pentru corectitudine și părtinire: [funcție]. Ce grupuri de utilizatori ar putea avea rezultate slabe? Cum afectează datele de instruire părtinirea? Cum o testez, cum o fac mai incluzivă?"

Șablon de verificare a responsabilității: „Enumerați întrebările de responsabilitate pe care ar trebui să le pun înainte de a lansa acest cod/funcție generată de AI: am înțeles-o, l-am testat, este sigur, este transparent pentru utilizator, este legal/etic?"

Șablon de învățare continuă: „Propun un plan practic de 4 săptămâni pentru a-mi îmbunătăți abilitățile de AI în dezvoltator de dispozitive mobile: un subiect în fiecare săptămână (cod, integrare, testare, lansare), cu scopul unui proiect mic și al unui obicei de verificare.”

Greșeli comune

  • Producerea unei funcții complexe cu o singură cerere uriașă. Nu poate fi verificat; descompune-l în trepte.
  • Evitați responsabilitatea spunând „AI a scris așa”. Sunteți responsabil pentru codul publicat.
  • Nu se testează părtinirea AI. Modelul poate funcționa prost în unele grupuri; Testează dreptatea.
  • Ascunderea interacțiunii AI de utilizator. Transparența este fundamentul încrederii.
  • Uitând de limitările AI. Oamenii au ultimul cuvânt în ceea ce privește arhitectura, etica și API-ul actual.
  • Să nu mai înveți. Instrumentele și regulile magazinului se schimbă rapid; Rămâneți la curent în mod constant.

În concluzie

O caracteristică end-to-end combină toate părțile modulului într-un lanț: design, cod, integrare AI, confidențialitate, testare, depanare, performanță și lansare. La fiecare pas, AI accelerează, umanul verifică și decide; Lucrările complexe sunt împărțite în pași mici verificabili. Utilizarea responsabilă se bazează pe trei principii: transparență, verificare-responsabilitate și corectitudine-nu face rău. AI este un multiplicator puternic, dar oamenii au ultimul cuvânt în ceea ce privește arhitectura, etica, securitatea și cunoștințele actuale. „AI a făcut-o așa” nu este o apărare; Sunteți responsabil pentru produsul dvs. și pentru promisiunea pe care o faceți utilizatorului dvs. Cu această disciplină, AI te face mai rapid, mai cuprinzător și mai puternic pe parcursul carierei tale.

Sarcina de aplicare

Descompuneți o funcție mobilă la alegere (de exemplu, „rezumat prin luarea de note vocale” sau „recunoașterea produsului din fotografie”) în pași verificabili cu un „șablon de planificare de la capăt la capăt”. De fapt, dezvoltă și validează cel puțin un pas cu AI. Apoi, analizați ce grupuri de utilizatori funcția poate cauza probleme cu „Șablonul de control etic/prejudecăți” și răspundeți la întrebările pe care trebuie să le adresați înainte de lansare cu „Șablonul de control al răspunderii”.

lista de verificare

  • [ ] Am împărțit caracteristica în pași mici verificabili, nu o singură producție uriașă
  • [ ] Am verificat rezultatul AI la fiecare pas și am luat decizia
  • [ ] Am prezentat interacțiunea AI în mod transparent utilizatorului
  • [ ] Am evaluat dacă funcția funcționează în mod echitabil/parțial în diferite grupuri
  • [ ] Am răspuns la întrebările privind responsabilitatea înainte de lansare (înțeles/testare/sigur/etic)
  • [ ] Am folosit AI numai în scopuri competente și constructive și intenționez să continui să învăț

Examenul modulului

1. Care dintre următoarele este cea mai precisă poziționare pentru inteligența artificială în dezvoltarea mobilă?

  • A) AI înlocuiește dezvoltatorul; poate fi publicat direct fără a citi codul pe care îl generează
  • B) Inteligența artificială funcționează doar în scrierea textului, nu are nimic de-a face cu generarea de cod
  • C) Inteligența artificială este un asistent și un accelerator; Responsabilitatea pentru deciziile de arhitectură, securitate și difuzare revine oamenilor ✔
  • D) Deoarece inteligența artificială produce întotdeauna codul corect, testarea și verificarea suplimentară nu sunt necesare

Descriere: Inteligența artificială este un asistent și un accelerator care generează cod, planuri și soluții. Responsabilitatea și aprobarea finală a deciziilor precum arhitectura, autorizarea, securitatea și publicarea revin dezvoltatorului competent; Oamenii sunt responsabili pentru fiecare linie publicată.

2. La solicitarea codului mobil de la inteligența artificială, ce crește cel mai mult calitatea arhitecturală a codului produs?

  • A) Păstrați solicitarea cât mai scurtă posibil și spuneți „scrieți-mi o aplicație”
  • B) În primul rând, impuneți o arhitectură precum MVVM și solicitați codul în bucăți mici, strat cu strat ✔
  • C) Producerea întregii caracteristici ca un singur fișier gigant într-un singur prompt
  • D) Nu specificați deloc arhitectura și lăsați cea mai bună decizie pe seama inteligenței artificiale

Explicație: Impunerea unei arhitecturi precum MVVM și solicitarea strat cu strat înainte de a scrie codul direct în AI produce o structură testabilă și care poate fi întreținută care separă logica de ecran. Solicitarea fără arhitectură returnează codul care înghesuie totul pe ecran.

3. Ce este cel mai frecvent trecut cu vederea atunci când se creează o interfață cu inteligență artificială și ce este cel mai critic în utilizare reală?

  • A) Proiectarea stărilor de încărcare, gol și eroare, nu doar ecranul complet ✔
  • B) Producerea doar a ecranului complet cel mai bine aspectat, sărind peste alte cazuri
  • C) Adăugarea cât mai multor culori și animații pe fiecare ecran
  • D) Lăsând etichetele de accesibilitate ultimele și se ocupă doar de aspect

Explicație: dezvoltatorii iau în considerare adesea doar starea „completă”; în timp ce, în realitate, utilizatorul întâlnește mai ales stări de încărcare, gol și eroare. Generarea tuturor celor patru stări (încărcare/gol/eroare/plină) este secretul unei interfețe robuste.

4. De ce AI pe dispozitiv este adesea alegerea implicită pentru o funcție care procesează date personale sensibile (de exemplu, măsurarea sănătății)?

  • A) Modelele de pe dispozitiv sunt întotdeauna mai precise decât cloud
  • B) Procesarea pe dispozitiv nu implică niciodată costuri pentru baterie sau procesor
  • C) Procesarea pe dispozitiv este nelimitată în ceea ce privește dimensiunea modelului
  • D) Deoarece datele nu părăsesc telefonul, oferă un avantaj puternic în ceea ce privește confidențialitatea și încrederea utilizatorilor ✔

Explicație: Procesarea de pe dispozitiv nu elimină datele de pe telefon; Acesta este un avantaj puternic în ceea ce privește respectarea confidențialității și încrederea utilizatorilor, plus că funcționează offline și instantaneu. Limita sa este puterea dispozitivului și dimensiunea modelului.

5. Care este cea mai frecventă eroare „silențioasă” care provoacă rezultate lipsite de sens și nu produce un mesaj de eroare într-o integrare a modelului pe dispozitiv?

  • A) Ortografie greșită a numelui fișierului modelului
  • B) Rezoluția scăzută a pictogramei aplicației
  • C) Preprocesare incorectă de intrare (dimensiune/normalizare) ✔
  • D) Tema ecranului întunecat

Explicație: Efectuarea incorect de preprocesare a intrărilor va produce rezultate complet greșite fără a genera erori. Valorile de preprocesare ar trebui verificate din documentația modelului.

6. Care este cea mai critică regulă pentru securitate atunci când integrați cloud LLM într-o aplicație mobilă?

  • A) Cheia API trebuie păstrată doar în backend, nu pe client; cererile trebuie să treacă prin proxy ✔
  • B) Cheia API ar trebui să fie încorporată direct în codul aplicației pentru comoditate
  • C) Cheia API ar trebui să fie partajată în descrierea aplicației
  • D) Cheia API trebuie păstrată în client și ascunsă numai prin schimbarea numelui.

Dezvăluire: cheia API nu este niciodată încorporată în codul aplicației mobile; deoarece aplicația poate fi inginerie inversă și cheia poate fi extrasă. Arhitectura corectă este să păstrați cheia doar în backend și să treceți cererile prin propriul server proxy.

7. Ce crește cel mai mult viteza percepută de utilizator și rata de finalizare a funcțiilor în răspunsurile lungi LLM?

  • A) Așteptați până când întregul răspuns este produs și afișați-l imediat
  • B) Afișarea răspunsului cuvânt cu cuvânt, așa cum este produs, cu streaming ✔
  • C) Trimiterea întregului istoric de chat către model cu fiecare solicitare
  • D) Măriți instrucțiunea model pentru a extinde răspunsul cât mai mult posibil

Descriere: Streamingul crește dramatic viteza percepută și fluența prin afișarea răspunsului pe măsură ce este produs cuvânt cu cuvânt. În loc să aștepte pe un ecran gol, utilizatorul urmărește formularul de text; Acest lucru reduce semnificativ rata de abandon.

8. Care este cea mai frecventă problemă în testele produse de inteligența artificială care face ca testul să nu aibă valoare?

  • A) Testele acoperă prea multe stări limită
  • B) Testele folosesc obiecte simulate, nu servicii reale
  • C) Testele rulează foarte repede
  • D) Balonarea domeniului de aplicare prin teste goale/inutile care nu validează de fapt un comportament ✔

Explicație: Inteligența artificială produce uneori teste care nu verifică de fapt nicio ieșire (de exemplu, apelați funcția și scrieți o afirmație goală). Acestea umfla numărul de acoperire, dar nu oferă protecție reală; Fiecare test trebuie verificat pentru a verifica un comportament semnificativ.

9. De ce nu este o soluție suficientă pentru a reduce la tăcere un accident punându-l într-un try-catch cu o sugestie de inteligență artificială?

  • A) try-catch nu poate fi folosit deloc în aplicațiile mobile
  • B) Prăbușirea se oprește, dar deoarece cauza principală nu este rezolvată, problema revine într-o formă diferită ✔
  • C) Utilizarea try-catch încetinește aplicația, deci este interzisă
  • D) Eroarea silențiată este respinsă automat de magazin

Explicație: reducerea la tăcere a simptomului nu rezolvă cauza principală; Blocarea se oprește, dar problema inițială (de exemplu, conexiune de date întreruptă) revine în altă formă (de exemplu, pierdere de date). Scopul depanării profesionale este de a rezolva cauza principală, nu simptomul.

10. Care este regula de aur de bază de urmat în optimizarea performanței?

  • A) Mai întâi faceți un profil și măsurați blocajul real, apoi optimizați ✔
  • B) Ghicirea unde este lent și concentrarea acolo
  • C) Urmărirea câștigurilor mici în fiecare funcție
  • D) Măsurând performanța pe emulator și nu încercați niciodată dispozitivul real

Descriere: Măsurați mai întâi, optimizați mai târziu. Adevăratul blocaj este aproape întotdeauna într-o locație diferită de cea prevăzută; Optimizarea fără profilare este o presupunere oarbă și este adesea o pierdere de efort.

11. Care este cea mai importantă preocupare de inginerie pentru o funcție AI care rulează constant (de exemplu, traducerea în direct cu camera)?

  • A) Caracteristica solicită cât mai multe permisiuni
  • B) Gestionarea costului bateriei și procesorului procesării continue cu frecvența de eșantionare și procesarea lotului ✔
  • C) Rulați funcția doar pe cele mai scumpe telefoane
  • D) Redarea continuă a camerei la cea mai mare rată de cadre posibilă

Descriere: Model, cameră și rețea care funcționează constant; Poate consuma rapid bateria, poate încălzi dispozitivul și poate fi restricționat de sistem. Reducerea frecvenței de eșantionare, loturile și rularea numai atunci când este necesar sunt modalități de a gestiona costul bateriei.

12. Ce înseamnă principiul „cel mai mic privilegiu” în gestionarea permisiunilor în dezvoltarea mobilă?

  • A) Solicitarea tuturor permisiunilor posibile la pornire, pentru orice eventualitate.
  • B) Facerea aplicației inoperabile dacă permisiunea este refuzată
  • C) Cererea de permisiunea cea mai largă și planificarea de a restrânge mai târziu.
  • D) Solicitarea doar a permisului care este efectiv necesar, atunci când este necesar și în cel mai restrâns domeniu de aplicare, cu un scenariu de respingere ✔

Explicație: Cel mai mic privilegiu este să ceri doar permisiunea care este de fapt necesară, când este necesară și în cea mai îngustă măsură posibilă. Prea multe permisiuni subminează încrederea utilizatorilor, duc la respingerea stocării și crește riscul scurgerii de date.

13. Ce cerințe specifice trebuie îndeplinite atunci când se prezintă în magazin o aplicație cu inteligență artificială?

  • A) Transparența conținutului, controlul conținutului și dezvăluirea datelor care merg către inteligența artificială sub formă de confidențialitate ✔
  • B) Ascunderea utilizării inteligenței artificiale de la utilizator
  • C) Marcarea datelor care nu sunt efectiv colectate în formularul de confidențialitate
  • D) Caracteristici promițătoare care nu există în descriere

Dezvăluire: magazinele se așteaptă la transparența conținutului (declarația că produce inteligență artificială), moderarea conținutului (filtrarea rezultatelor dăunătoare și a notificărilor utilizatorilor) și dezvăluirea utilizării datelor din aplicațiile care conțin inteligență artificială; Avertizare de precizie necesară în zone sensibile. Cererile care omit acestea vor fi respinse.

14. De ce apărarea „AI scris-o așa” este invalidă atunci când apare o eroare de caz marginal în codul publicat de AI?

  • A) Deoarece inteligența artificială produce întotdeauna cod fără erori, eroarea vine de la utilizator
  • B) Deoarece stochează codul corect generat de AI
  • C) Pentru că responsabilitatea nu poate fi transferată către inteligența artificială; Dezvoltatorul este responsabil pentru codul și datele publicate ✔
  • D) Pentru că codul generat de inteligența artificială nu este niciodată pus live

Descriere: Ieșirea AI este un punct de plecare, nu un produs finit. Dezvoltatorul este responsabil pentru fiecare linie publicată, fiecare dată procesată și fiecare promisiune făcută; responsabilitatea nu poate fi delegată AI, așa că rezultatul trebuie înțeles și testat înainte de publicare.