Gevinster:
- Evne til at udvikle en mobil funktion end-to-end og verificerbar i design, kode, AI-integration, privatliv, test, fejlfinding, ydeevne og udgivelsestrin
- Evne til at etablere en ramme for ansvarlig og etisk brug af kunstig intelligens med principperne om gennemsigtighed, verifikation-ansvarlighed og retfærdighed-ikke-ondsindethed.
- At kunne skabe en bæredygtig professionel praksis ved at skelne mellem de områder, hvor kunstig intelligens er stærk og svag og holde den endelige beslutning i hænderne på mennesker.
Igennem dette modul brugte vi AI på alle stadier af mobiludvikling: kodegenerering, interface, AI-integration på enheden og cloud, test, fejlretning, ydeevne, privatliv og butikslevering. I denne sidste enhed vil vi kombinere alle disse stykker i et enkelt ende-til-ende flow, afklare rammerne for ansvarlig og etisk brug af AI og tale om, hvordan man kan omdanne disse færdigheder til en bæredygtig professionel praksis. Kernebudskabet har ikke ændret sig, men det er nu solidt etableret: AI er en kraft, der formerer en kompetent mobiludvikler; det er ikke en erstatning. Det er personen, der er ansvarlig for produktets kvalitet, sikkerhed og løfte til brugeren.
En ende-til-ende funktion: at kombinere dele
At udvikle en ægte funktion fra start til slut med AI-understøttelse kombinerer hver enhed, vi har lært i en kæde. Eksempel: "tilføj udgift fra kvittering" funktion. Flow fungerer således:
- Design (Enhed 3). Udkast til skærmen og fire tilstande (indlæser/tom/fejl/fuld) med AI, anmod om tilgængelighed fra begyndelsen.
- Kode (Enhed 2). Generer kamera, datamodel og ViewModel lag for lag med MVVM; verificere hvert lag.
- AI på enheden (enhed 4). Læs beløb/dato fra modtagelse med ML Kit tekstgenkendelse; Overvej forbehandling og tillidsscoring.
- Fortrolighed (Enhed 9). Anmod om kameratilladelse med mindst privilegium, skriv afvisningsscenariet, behold dataene på enheden.
- Test (Enhed 6). Generer enhedstest af ekstraktionslogikken, UI-test af skærmen; Inkluder grænsestater.
- Fejlretning (Enhed 7). Få AI til at analysere nedbruddene med kontekst og løse årsagen.
- Ydelse (Enhed 8). Mål batteriomkostningerne ved kamerabehandling, og indstil det batterivenligt.
- Broadcasting (Enhed 10). Rapportér brugen af kunstig intelligens på en gennemsigtig måde, udfyld fortrolighedsformularen sandfærdigt, og udfør en selvtest.
Ved hvert trin accelererer AI’en, mennesket verificerer og bestemmer. Denne sløjfe er kernen i modulet.
Tip: Forsøg ikke at få AI til at gøre en kompleks funktion med en gigantisk anmodning. Opdel det i verificerbare trin som ovenfor. At teste output fra hvert trin og gå videre til det næste er både sikrere og i sidste ende hurtigere; For du fanger en stor fejl ikke til sidst, men ved det første skridt.
Ansvarlig og etisk brug af kunstig intelligens
Teknisk kompetence alene er ikke nok; en ansvarlig ramme fuldender det. Tre principper:
Gennemsigtighed. Brugeren skal vide, at han eller hun interagerer med AI'en. En hemmelig AI er et tillidsbrud. AI-genereret indhold er tagget; AI-råd præsenteres som "nyttige råd" snarere end "hårde sandheder."
Verifikation og ansvarlighed. AI-output er et udgangspunkt, ikke et færdigt produkt. Du er ansvarlig for hver udgivet kodelinje, hvert AI-svar, hver datatransaktion. "AI'en skrev det på den måde" er ikke et forsvar.
Retfærdighed og ikke-ondskab. AI-modeller kan bære skævheder fra de data, de er trænet på. En ansigtsgenkendelse kan virke værre på nogle hudfarver, en anbefalingsmotor kan udelukke en gruppe. Det er dit ansvar at teste, at dit produkt fungerer rimeligt på tværs af forskellige brugergrupper.
Bemærk: Enhver teknik, du lærer inden for IT og sikkerhed, bruges kun til autoriserede og konstruktive formål. Brug af kunstig intelligens til at skabe malware, knække en andens applikation uden tilladelse, indsamle brugerdata uden samtykke eller producere vildledende indhold er ulovligt og imod professionens etik. Målingen af kraft afsløres, hvor du ikke bruger den.
At erkende grænserne for AI
En moden udvikler ved, hvor AI skinner, og hvor den kommer til kort.
AI er kraftfuld
AI er svag
Formkode, produktion af kedelplader
Produkt- og arkitektoniske beslutninger
Udkast til test og dokumentation
Forståelse af forretningskonteksten og brugeren
Læsning af nedbrudslog, fejlscanning
Definitiv årsagsdiagnose (bekræftelse påkrævet)
Læring, begrebsforklaring
Aktuelle/ufabrikerede API-oplysninger
Tekst, beskrivelse, oversættelse
Etik, sikkerhed og juridisk endelig afgørelse
At internalisere denne skelnen er nøglen til at bruge AI effektivt og undgå dens faldgruber.
tre minisager
Tilfælde 1 — End-to-end-hastighed. En solo-udvikler afsluttede "unplugged"-funktionen på 4 dage med 8-trins flowet ovenfor; Uden AI var estimatet 12 dage. Men fordi han verificerede hvert trin, blev udgivelsen godkendt første gang. Hastighed var ægte, fordi disciplin var ægte. Lektion: AI + verifikation er hurtigere end AI - verifikation.
Sag 2 - Bias fanget. Mens de testede en AI-baseret substantiv-kønsforudsigelsesfunktion, bemærkede et hold systematiske fejl i nogle tyrkiske substantiver; modellen blev trænet på for det meste engelske data. Funktionen er blevet ændret til at spørge brugeren i stedet for at antage forkert. Lektion: det er udviklerens opgave at teste modellens træningsbias.
Case 3 - "AI sagde det"-forsvaret kollapsede. En udvikler udgav en AI-genereret betalingskode uden at bekræfte den; I et ekstremt tilfælde lavede koden dobbelte indsamlinger. Ansvar fjernes ikke ved at sige "AI skrev det"; Som kontohaver var han udvikler. Lektion: Ansvar kan ikke delegeres.
Svag prompt / Stærk prompt
Svag prompt: "Skriv mig en komplet kvitteringsscanningsapplikation."
Kraftfuld prompt: "Hjælp mig med at udvikle funktionen 'tilføj udgift fra kvittering' trin for trin. Lad os fortsætte i rækkefølge, når jeg verificerer og godkender hvert trin, går du videre til det næste: 1) Skærm + fire tilstande + tilgængelighed2) MVVM-lag (kamera, model, ViewModel)3) Læsebeløb/dato fra modtagelsestilladelse med score ML Kit + release privilege (ML Kit + release privilege) flow5) Enheds- og brugergrænsefladetest Fortæl mig de risici og punkter, jeg skal verificere ved hvert trin."
Kopierbare skabeloner
End-to-end planlægningsskabelon: "Jeg vil udvikle følgende funktion: [funktion]. Opdel det i verificerbare trin: design, kode, AI-integration, privatliv/tilladelse, test, ydeevne, udgivelse. Skriv output-, risiko- og verifikationskriterierne for hvert trin. Lav ikke en eneste gigantisk produktion."
Etik/bias revisionsskabelon: "Revider følgende AI-funktion for retfærdighed og bias: [funktion]. Hvilke brugergrupper kan det fungere dårligt? Hvordan påvirker træningsdata bias? Hvordan tester jeg det, hvordan gør jeg det mere inkluderende?"
Ansvarlighedstjek-skabelon: "Liste de ansvarlighedsspørgsmål, jeg bør stille, før jeg frigiver denne AI-genererede kode/funktion: forstod jeg det, har jeg testet det, er det sikkert, er det gennemsigtigt for brugeren, er det lovligt/etisk?"
Kontinuerlig læringsskabelon: "Foreslå en 4-ugers praktisk plan for at forbedre mine AI-færdigheder inden for mobiludvikler: et emne hver uge (kode, integration, test, udgivelse), med målet om et lille projekt og verifikationsvane."
Almindelige fejl
- Producerer kompleks funktion med en gigantisk anmodning. Kan ikke verificeres; opdele det i trin.
- Undgå ansvar ved at sige "AI skrev det". Du er ansvarlig for den offentliggjorte kode.
- Tester ikke for AI-bias. Modellen kan fungere dårligt i nogle grupper; Prøv retfærdigheden.
- Skjuler AI-interaktion fra brugeren. Gennemsigtighed er grundlaget for tillid.
- Glemmer begrænsningerne ved AI. Folk har det sidste ord om arkitektur, etik og nuværende API.
- At stoppe med at lære. Værktøjer og butiksregler ændrer sig hurtigt; Hold dig konstant opdateret.
Sammenfattende
En ende-til-ende-funktion kombinerer alle dele af modulet i en kæde: design, kode, AI-integration, privatliv, test, fejlfinding, ydeevne og frigivelse. Ved hvert trin accelererer AI, mennesket verificerer og beslutter; Kompleks arbejde er opdelt i små verificerbare trin. Ansvarlig brug er baseret på tre principper: gennemsigtighed, verifikation-ansvarlighed og retfærdighed-gør ingen skade. AI er en stærk multiplikator, men mennesker har det sidste ord om arkitektur, etik, sikkerhed og aktuel viden. "AI'en gjorde det på den måde" er ikke et forsvar; Du er ansvarlig for dit produkt og det løfte, du giver til din bruger. Med denne disciplin gør AI dig hurtigere, mere omfattende og stærkere gennem hele din karriere.
Ansøgningsopgave
Opdel en mobilfunktion efter eget valg (f.eks. "opsummering ved at tage noter" eller "produktgenkendelse fra foto") i verificerbare trin med en "ende-til-ende planlægningsskabelon". Faktisk udvikle og validere mindst et trin med AI. Analyser derefter, hvilke brugergrupper funktionen kan forårsage problemer med "Etik/bias kontrolskabelonen", og besvar de spørgsmål, du skal stille inden frigivelse med "Skabelonen for ansvarskontrol".
tjekliste
- [ ] Jeg brød funktionen op i verificerbare små trin, ikke en eneste gigantisk produktion
- [ ] Jeg verificerede AI-outputtet ved hvert trin og tog beslutningen
- [ ] Jeg præsenterede AI-interaktionen transparent for brugeren
- [ ] Jeg vurderede, om funktionen fungerer retfærdigt/forudset på tværs af forskellige grupper
- [ ] Jeg besvarede spørgsmål om ansvar før udgivelse (forstået/testning/sikker/etisk)
- [ ] Jeg har kun brugt AI til kompetente og konstruktive formål og planlægger at fortsætte med at lære
Modul eksamen
1. Hvilken af følgende er den mest nøjagtige positionering for kunstig intelligens i mobiludvikling?
- A) AI erstatter udvikleren; kan udgives direkte uden at læse den kode, den genererer
- B) Kunstig intelligens virker kun ved at skrive tekst, det har intet med kodegenerering at gøre
- C) Kunstig intelligens er en assistent og accelerator; Ansvaret for arkitektur-, sikkerheds- og udsendelsesbeslutninger påhviler mennesker ✔
- D) Da kunstig intelligens altid producerer korrekt kode, er yderligere test og verifikation unødvendig
Beskrivelse: Kunstig intelligens er en assistent og accelerator, der genererer kode, tegninger og løsninger. Ansvar og endelig godkendelse af beslutninger såsom arkitektur, tilladelser, sikkerhed og offentliggørelse påhviler den kompetente udvikler; Mennesker er ansvarlige for hver linje offentliggjort.
2. Når man anmoder om mobilkode fra kunstig intelligens, hvad øger så den arkitektoniske kvalitet af den producerede kode mest?
- A) Hold prompten så kort som muligt, og sig "skriv en app til mig"
- B) Påtving først en arkitektur som MVVM og anmod om koden i små stykker, lag for lag ✔
- C) Fremstilling af hele funktionen som en enkelt gigantisk fil i en enkelt prompt
- D) Specificer slet ikke arkitekturen og overlad den bedste beslutning til kunstig intelligens
Forklaring: At pålægge en arkitektur som MVVM og kræve lag for lag, før kode skrives direkte til AI'en, producerer en testbar og vedligeholdelig struktur, der adskiller logikken fra skærmen. Forespørgslen uden arkitektur returnerer kode, der propper alt ind på skærmen.
3. Hvad overses hyppigst, når man laver en grænseflade med kunstig intelligens, og hvad er mest kritisk ved reel brug?
- A) Design af indlæsnings-, tom- og fejltilstande, ikke kun fuld skærm ✔
- B) Producerer kun den flotteste fuldskærm, springer andre tilfælde over
- C) Tilføjelse af så mange farver og animationer som muligt til hver skærm
- D) At lade tilgængelighedsmærker være sidste og kun beskæftiger sig med udseendet
Forklaring: Udviklere overvejer ofte kun den 'fulde' tilstand; hvorimod brugeren i virkeligheden for det meste støder på indlæsnings-, tom- og fejltilstande. Generering af alle fire tilstande (indlæser/tom/fejl/fuld) er hemmeligheden bag en robust grænseflade.
4. Hvorfor er AI på enheden ofte standardvalget for en funktion, der behandler følsomme persondata (f.eks. sundhedsmåling)?
- A) Modeller på enheden er altid mere nøjagtige end skyen
- B) Behandling på enheden medfører aldrig batteri- eller processoromkostninger
- C) Behandling på enheden er ubegrænset med hensyn til modelstørrelse
- D) Da data ikke forlader telefonen, giver det en stærk fordel med hensyn til privatliv og brugertillid ✔
Forklaring: Behandling på enheden fjerner ikke data fra telefonen. Dette er en stærk fordel med hensyn til overholdelse af privatlivets fred og brugertillid, plus det virker offline og øjeblikkeligt. Dens grænse er enhedens effekt og modelstørrelse.
5. Hvad er den mest almindelige 'tavse' fejl, der forårsager meningsløse resultater og ikke producerer en fejlmeddelelse i en modelintegration på enheden?
- A) Forkert stavning af modellens filnavn
- B) Lav opløsning af applikationsikonet
- C) Forkert input-forbehandling (størrelse/normalisering) ✔
- D) Mørk skærm tema
Forklaring: Forkert inputforbehandling vil give helt forkerte resultater uden at smide fejl. Forbehandlingsværdier skal verificeres fra modellens dokumentation.
6. Hvad er den mest sikkerhedskritiske regel, når cloud LLM integreres i en mobilapplikation?
- A) API-nøglen bør kun opbevares i backend, ikke på klienten; anmodninger skal gå gennem fuldmagt ✔
- B) API-nøgle bør indlejres direkte i applikationskoden for nemheds skyld
- C) API-nøgle skal deles i applikationsbeskrivelsen
- D) API-nøglen skal opbevares i klienten og kun skjules ved at ændre navnet.
Offentliggørelse: API-nøglen er aldrig indlejret i mobilapplikationskoden; fordi applikationen kan reverse engineering og nøglen udtrækkes. Den korrekte arkitektur er kun at beholde nøglen i backend og sende anmodninger gennem din egen proxy-server.
7. Hvad øger den brugeropfattede hastighed og færdiggørelseshastigheden af funktioner mest i lange LLM-svar?
- A) Venter indtil hele svaret er produceret og viser det på én gang
- B) Visning af svaret ord for ord, efterhånden som det produceres, med streaming ✔
- C) Sender hele chathistorikken til modellen med hver anmodning
- D) Forstør modelinstruktionen for at udvide responsen så meget som muligt
Beskrivelse: Streaming øger opfattet hastighed og flydende dramatisk ved at vise svaret, som det produceres ord for ord. I stedet for at vente på en tom skærm, ser brugeren tekstformularen; Dette reducerer antallet af opgivelser betydeligt.
8. Hvad er det mest almindelige problem i test produceret af kunstig intelligens, der gør testen værdiløs?
- A) Tests dækker for mange grænsetilstande
- B) Tests bruger falske objekter, ikke rigtige tjenester
- C) Tests kører meget hurtigt
- D) Omfang oppustethed ved tomme/ubrugelige tests, der faktisk ikke validerer en adfærd ✔
Forklaring: Kunstig intelligens producerer nogle gange test, der faktisk ikke verificerer noget output (kald bare funktionen og skriv en tom påstand). Disse puster dækningsnummeret op, men giver ikke reel beskyttelse; Hver test skal kontrolleres for at verificere meningsfuld adfærd.
9. Hvorfor er det ikke en tilstrækkelig løsning at dæmpe et styrt ved at sætte det i en try-catch med en kunstig intelligens-forslag?
- A) try-catch kan slet ikke bruges i mobilapplikationer
- B) Nedbruddet stopper, men da hovedårsagen ikke er løst, vender problemet tilbage i en anden form ✔
- C) Brug af try-catch sænker applikationen, så det er forbudt
- D) Tavsede fejl afvises automatisk af butikken
Forklaring: At dæmpe symptomet løser ikke hovedårsagen; Nedbruddet stopper, men det oprindelige problem (f.eks. brudt dataforbindelse) vender tilbage i en anden form (f.eks. tab af data). Målet i professionel debugging er at løse årsagen, ikke symptomet.
10. Hvad er den grundlæggende gyldne regel at følge i præstationsoptimering?
- A) Tag først en profil og mål den rigtige flaskehals, optimer derefter ✔
- B) At gætte hvor er langsomt og koncentrere sig der
- C) Jagter små gevinster i hver funktion
- D) Måling af ydeevne på emulatoren og aldrig prøve den rigtige enhed
Beskrivelse: Mål først, optimer senere. Den egentlige flaskehals er næsten altid et andet sted end forudsagt; Optimering uden profilering er et blindt gæt og er ofte spild af kræfter.
11. Hvad er den vigtigste ingeniørmæssige bekymring for en konstant kørende AI-funktion (f.eks. live kameraoversættelse)?
- A) Funktionen anmoder om så mange tilladelser som muligt
- B) Håndtering af batteri- og processoromkostninger ved kontinuerlig behandling med samplingsfrekvens og batchbehandling ✔
- C) Kør kun funktionen på de dyreste telefoner
- D) Kontinuerlig gengivelse af kameraet med den højest mulige billedhastighed
Beskrivelse: Konstant fungerende model, kamera og netværk; Det kan hurtigt opbruge batteriet, varme enheden op og være begrænset af systemet. Reduktion af prøvetagningsfrekvens, batching og kun kørsel, når det er nødvendigt, er måder at styre batteriomkostningerne på.
12. Hvad betyder princippet om 'mindste privilegium' i tilladelsesstyring i mobiludvikling?
- A) Anmodning om alle mulige tilladelser ved opstart, for en sikkerheds skyld.
- B) Gør appen ubrugelig, hvis tilladelse nægtes
- C) Beder om den bredeste tilladelse og planlægger at indsnævre den senere.
- D) Anmoder kun om den tilladelse, der faktisk er påkrævet, når det er nødvendigt og inden for det snævreste område, med et afvisningsscenarie ✔
Forklaring: Mindst privilegium er kun at bede om den tilladelse, der faktisk er nødvendig, når det er nødvendigt, og i det snævrest muligt omfang. For mange tilladelser underminerer brugernes tillid, fører til butiksafvisning og øger risikoen for datalækage.
13. Hvilke specifikke krav skal være opfyldt, når en ansøgning med kunstig intelligens indgives til butikken?
- A) Indholdsgennemsigtighed, indholdskontrol og videregivelse af data, der går til kunstig intelligens i form af fortrolighed ✔
- B) Skjul brugen af kunstig intelligens for brugeren
- C) Markering af data, der faktisk ikke er indsamlet i privatlivsformularen
- D) Lovende funktioner, der ikke findes i beskrivelsen
Offentliggørelse: Butikker forventer indholdsgennemsigtighed (erklæring om, at det producerer AI), indholdsmoderering (filtrering af skadeligt output og brugermeddelelser) og offentliggørelse af dataforbrug fra applikationer, der indeholder kunstig intelligens; Nøjagtighedsadvarsel påkrævet i følsomt område. Ansøgninger, der udelader disse, vil blive afvist.
14. Hvorfor er 'AI skrev det på den måde'-forsvaret ugyldigt, når der opstår en edge case-fejl i publiceret AI-genereret kode?
- A) Fordi kunstig intelligens altid producerer fejlfri kode, kommer fejlen fra brugeren
- B) Fordi gemmer automatisk korrekt AI-genereret kode
- C) Fordi ansvar ikke kan overføres til kunstig intelligens; Udvikler er ansvarlig for offentliggjort kode og data ✔
- D) Fordi kunstig intelligens-genereret kode aldrig bliver sat live
Beskrivelse: AI-outputtet er et udgangspunkt, ikke et færdigt produkt. Det er udvikleren, der er ansvarlig for hver publiceret linje, alle data, der behandles og hvert løfte, der er givet; ansvar kan ikke delegeres til AI, så output skal forstås og testes før offentliggørelse.