Gevinster:
- Evne til å utvikle en mobilfunksjon ende-til-ende og verifiserbar i design, kode, AI-integrasjon, personvern, testing, feilsøking, ytelse og utgivelsestrinn
- Evne til å etablere et rammeverk for ansvarlig og etisk bruk av kunstig intelligens med prinsippene om åpenhet, verifikasjon-ansvarlighet og rettferdighet-ikke-ondsinnet handling.
- Å kunne skape en bærekraftig yrkesutøvelse ved å skille ut områdene der kunstig intelligens er sterk og svak og holde den endelige avgjørelsen i hendene på mennesker.
Gjennom denne modulen brukte vi AI på alle trinn i mobilutviklingen: kodegenerering, grensesnitt, AI-integrasjon på enheten og skyen, testing, feilsøking, ytelse, personvern og butikklevering. I denne siste enheten vil vi kombinere alle disse bitene til en enkelt ende-til-ende-flyt, klargjøre rammeverket for ansvarlig og etisk bruk av AI, og snakke om hvordan vi kan gjøre disse ferdighetene til en bærekraftig profesjonell praksis. Kjernebudskapet har ikke endret seg, men det er nå godt etablert: AI er en kraft som multipliserer en kompetent mobilutvikler; det er ikke en erstatning. Det er personen som er ansvarlig for produktets kvalitet, sikkerhet og løfte til brukeren.
En ende-til-ende-funksjon: å kombinere deler
Å utvikle en ekte funksjon fra start til slutt med AI-støtte kombinerer hver enhet vi har lært i en kjede. Eksempel: «legg til utgift fra kvittering»-funksjonen. Flyten fungerer slik:
- Design (enhet 3). Utkast til skjermen og fire tilstander (laster/tom/feil/full) med AI, be om tilgjengelighet fra begynnelsen.
- Kode (enhet 2). Generer kamera, datamodell og ViewModel lag for lag med MVVM; verifiser hvert lag.
- AI på enheten (enhet 4). Les beløp/dato fra mottak med ML Kit tekstgjenkjenning; Vurder forhåndsbehandling og tillitsscoring.
- Konfidensialitet (enhet 9). Be om kameratillatelse med minst privilegium, skriv avvisningsscenariet, hold dataene på enheten.
- Testing (enhet 6). Generer enhetstester av utvinningslogikken, UI-testing av skjermen; Inkluder grensestater.
- Feilsøking (enhet 7). La AI analysere krasjene med kontekst og løse årsaken.
- Ytelse (enhet 8). Mål batterikostnadene ved kamerabehandling og sett det batterivennlig.
- Kringkasting (enhet 10). Rapporter bruken av AI på en transparent måte, fyll ut personvernskjemaet sannferdig og utfør en selvtest.
Ved hvert trinn akselererer AI, mennesket verifiserer og bestemmer. Denne sløyfen er kjernen i modulen.
Tips: Ikke prøv å få AI til å gjøre en kompleks funksjon med en gigantisk forespørsel. Del det ned i verifiserbare trinn som ovenfor. Å teste resultatet av hvert trinn og gå videre til neste er både tryggere og til slutt raskere; Fordi du fanger en stor feil, ikke på slutten, men på det første trinnet.
Ansvarlig og etisk bruk av AI
Teknisk kompetanse alene er ikke nok; et ansvarlig rammeverk fullfører det. Tre prinsipper:
Åpenhet. Brukeren må vite at han eller hun samhandler med AI. En hemmelig AI er et tillitsbrudd. AI-generert innhold er merket; AI-råd presenteres som «nyttige råd» i stedet for «hard sannhet».
Verifikasjon og ansvarlighet. AI-utgang er et utgangspunkt, ikke et ferdig produkt. Du er ansvarlig for hver linje med kode publisert, hvert AI-svar, hver datatransaksjon. "AIen skrev det på den måten" er ikke et forsvar.
Rettferdighet og ikke-ondskap. AI-modeller kan bære skjevheter fra dataene de er trent på. En ansiktsgjenkjenning kan fungere dårligere på enkelte hudfarger, en anbefalingsmotor kan ekskludere en gruppe. Det er ditt ansvar å teste at produktet ditt fungerer greit på tvers av ulike brukergrupper.
OBS: Enhver teknikk du lærer innen IT og sikkerhet brukes kun til autoriserte og konstruktive formål. Å bruke AI til å lage skadelig programvare, knekke andres applikasjon uten tillatelse, samle inn brukerdata uten samtykke eller produsere villedende innhold er ulovlig og mot profesjonens etikk. Kraftmålet avsløres der du ikke bruker det.
Erkjenner grensene for AI
En moden utvikler vet hvor AI skinner og hvor den kommer til kort.
AI er kraftig
AI er svak
Mold kode, boilerplate produksjon
Produkt- og arkitektoniske beslutninger
Testing og dokumentasjonsutkast
Forstå forretningskonteksten og brukeren
Lesing av krasjlogg, feilskanning
Definitiv rotårsaksdiagnose (verifisering kreves)
Læring, begrepsforklaring
Gjeldende/ufabrikert API-informasjon
Tekst, beskrivelse, oversettelse
Etikk, sikkerhet og juridisk endelig avgjørelse
Å internalisere denne forskjellen er nøkkelen til å bruke AI effektivt og unngå fallgruvene.
tre minisaker
Tilfelle 1 — End-to-end-hastighet. En soloutvikler fullførte "unplugged"-funksjonen på 4 dager med 8-trinns flyten ovenfor; Uten AI var estimatet 12 dager. Men fordi han verifiserte hvert trinn, ble publikasjonen godkjent første gang. Hastighet var ekte fordi disiplin var ekte. Leksjon: AI + verifisering er raskere enn AI - verifisering.
Sak 2 - Fordommer fanget. Mens de testet en AI-basert substantiv-kjønnsprediksjonsfunksjon, la et team merke til systematiske feil i noen tyrkiske substantiv; modellen ble trent på for det meste engelske data. Funksjonen er endret til å spørre brukeren i stedet for å gjøre feil antagelse. Leksjon: det er utviklerens jobb å teste modellens treningsskjevhet.
Sak 3 – «AI sa det»-forsvaret kollapset. En utvikler publiserte en AI-generert betalingskode uten å bekrefte den; I et ekstremt tilfelle gjorde koden doble samlinger. Ansvar fjernes ikke ved å si "AI skrev det"; Som kontoinnehaver var han utvikler. Leksjon: Ansvar kan ikke delegeres.
Svak forespørsel / Sterk forespørsel
Svak melding: "Skriv meg en fullstendig søknad om kvittering."
Kraftig ledetekst: "Hjelp meg med å utvikle funksjonen 'legg til utgift fra kvittering' trinn for trinn. La oss fortsette i rekkefølge, når jeg bekrefter og godkjenner hvert trinn, gå videre til neste: 1) Skjerm + fire tilstander + tilgjengelighet2) MVVM-lag (kamera, modell, ViewModel)3) Lesebeløp/dato fra mottakstillatelse med poengsum 4) + rejelease privilege (ML Kit + rejet) flow5) Enhets- og UI-tester Fortell meg risikoene og punktene jeg må verifisere ved hvert trinn."
Kopierbare maler
End-to-end planleggingsmal: "Jeg vil utvikle følgende funksjon: [funksjon]. Bryt den ned i verifiserbare trinn: design, kode, AI-integrasjon, personvern/tillatelse, testing, ytelse, utgivelse. Skriv utdata, risiko og verifikasjonskriterier for hvert trinn. Ikke lag en eneste gigantisk produksjon."
Etikk/bias revisjonsmal: "Revisjon følgende AI-funksjon for rettferdighet og skjevhet: [funksjon]. Hvilke brukergrupper kan fungere dårlig? Hvordan påvirker treningsdata skjevhet? Hvordan tester jeg det, hvordan gjør jeg det mer inkluderende?"
Ansvarlighetssjekkmal: "Liste ansvarlighetsspørsmålene jeg bør stille før jeg slipper denne AI-genererte koden/funksjonen: forsto jeg det, har jeg testet det, er det trygt, er det transparent for brukeren, er det lovlig/etisk?"
Mal for kontinuerlig læring: "Foreslå en 4-ukers praktisk plan for å forbedre AI-ferdighetene mine i mobilutviklere: ett emne hver uke (kode, integrasjon, testing, utgivelse), med mål om et lite prosjekt og verifiseringsvane."
Vanlige feil
- Produserer kompleks funksjon med en gigantisk forespørsel. Kan ikke verifiseres; bryte det ned i trinn.
- Unngå ansvar ved å si "AI skrev det". Du er ansvarlig for den publiserte koden.
- Tester ikke for AI-bias. Modellen kan fungere dårlig i noen grupper; Test rettferdighet.
- Skjuler AI-interaksjon fra brukeren. Åpenhet er grunnlaget for tillit.
- Å glemme begrensningene til AI. Folk har det siste ordet om arkitektur, etikk og gjeldende API.
- Å slutte å lære. Verktøy og butikkregler endres raskt; Hold deg konstant oppdatert.
Oppsummert
En ende-til-ende-funksjon kombinerer alle delene av modulen i en kjede: design, kode, AI-integrasjon, personvern, testing, feilsøking, ytelse og utgivelse. Ved hvert trinn akselererer AI, mennesket verifiserer og bestemmer; Kompleks arbeid er delt opp i små verifiserbare trinn. Ansvarlig bruk er basert på tre prinsipper: åpenhet, verifikasjon-ansvarlighet og rettferdighet-gjør ingen skade. AI er en kraftig multiplikator, men mennesker har det siste ordet om arkitektur, etikk, sikkerhet og nåværende kunnskap. "AIen gjorde det på den måten" er ikke et forsvar; Du er ansvarlig for produktet ditt og løftet du gir til brukeren din. Med denne disiplinen gjør AI deg raskere, mer omfattende og sterkere gjennom hele karrieren.
Søknadsoppgave
Bryt ned en mobilfunksjon etter eget valg (f.eks. "oppsummering ved å ta talenotater" eller "produktgjenkjenning fra bilde") i verifiserbare trinn med en "ende-til-ende planleggingsmal". Faktisk utvikle og validere minst ett trinn med AI. Analyser deretter hvilke brukergrupper funksjonen kan forårsake problemer med "Etikk/skjevhetskontrollmalen" og svar på spørsmålene du må stille før utgivelsen med "Ansvarskontrollmalen".
sjekkliste
- [ ] Jeg brøt funksjonen inn i kontrollerbare små trinn, ikke en eneste gigantisk produksjon
- [ ] Jeg verifiserte AI-utgangen ved hvert trinn og tok avgjørelsen
- [ ] Jeg presenterte AI-interaksjonen transparent for brukeren
- [ ] Jeg evaluerte om funksjonen fungerer rettferdig/partisk på tvers av ulike grupper
- [ ] Jeg svarte på spørsmål om ansvar før utgivelse (forstått/testing/trygt/etisk)
- [ ] Jeg har kun brukt AI til kompetente og konstruktive formål og planlegger å fortsette å lære
Moduleksamen
1. Hvilken av følgende er den mest nøyaktige posisjoneringen for kunstig intelligens i mobilutvikling?
- A) AI erstatter utvikleren; kan publiseres direkte uten å lese koden den genererer
- B) Kunstig intelligens fungerer kun i å skrive tekst, det har ingenting med kodegenerering å gjøre
- C) Kunstig intelligens er en assistent og akselerator; Ansvaret for beslutninger om arkitektur, sikkerhet og kringkasting ligger hos mennesker ✔
- D) Siden kunstig intelligens alltid produserer korrekt kode, er ytterligere testing og verifisering unødvendig
Beskrivelse: Kunstig intelligens er en assistent og akselerator som genererer kode, tegninger og løsninger. Ansvar og endelig godkjenning av beslutninger som arkitektur, tillatelse, sikkerhet og publisering ligger hos den kompetente utbyggeren; Mennesker er ansvarlige for hver linje som publiseres.
2. Når du ber om mobilkode fra kunstig intelligens, hva øker den arkitektoniske kvaliteten på koden som produseres mest?
- A) Hold forespørselen så kort som mulig og si "skriv meg en app"
- B) Først pålegg en arkitektur som MVVM og be om koden i små biter, lag for lag ✔
- C) Produsere hele funksjonen som en enkelt gigantisk fil i en enkelt ledetekst
- D) Ikke spesifiser arkitekturen i det hele tatt og overlat den beste avgjørelsen til kunstig intelligens
Forklaring: Å påtvinge en arkitektur som MVVM og kreve lag for lag før du skriver kode direkte til AI, produserer en testbar og vedlikeholdbar struktur som skiller logikken fra skjermen. Forespørselen uten arkitektur returnerer kode som stapper alt inn på skjermen.
3. Hva blir oftest oversett når man lager et grensesnitt med kunstig intelligens, og hva er mest kritisk ved reell bruk?
- A) Designe lasting, tom og feiltilstander, ikke bare fullskjerm ✔
- B) Produserer kun den flotteste fullskjermen, hopper over andre tilfeller
- C) Legge til så mange farger og animasjoner som mulig på hver skjerm
- D) Å la tilgjengelighetsmerker være sist og kun omhandler utseende
Forklaring: Utviklere vurderer ofte bare "full" tilstand; mens brukeren i virkeligheten stort sett møter lasting, tom og feiltilstander. Å generere alle fire tilstander (laster/tom/feil/full) er hemmeligheten bak et robust grensesnitt.
4. Hvorfor er AI på enheten ofte standardvalget for en funksjon som behandler sensitive personopplysninger (f.eks. helsemåling)?
- A) Modeller på enheten er alltid mer nøyaktige enn skyen
- B) Behandling på enheten medfører aldri batteri- eller prosessorkostnader
- C) Behandling på enheten er ubegrenset når det gjelder modellstørrelse
- D) Siden dataene ikke forlater telefonen, gir det en sterk fordel med tanke på personvern og brukertillit ✔
Forklaring: Behandling på enheten fjerner ikke data fra telefonen; Dette er en sterk fordel når det gjelder overholdelse av personvern og brukertillit, pluss at det fungerer offline og umiddelbart. Begrensningen er enhetens kraft og modellstørrelse.
5. Hva er den vanligste "stille" feilen som forårsaker meningsløse resultater og ikke produserer en feilmelding i en modellintegrasjon på enheten?
- A) Feil stavemåte av filnavnet til modellen
- B) Lav oppløsning på applikasjonsikonet
- C) Feil inndataforbehandling (størrelse/normalisering) ✔
- D) Mørk skjerm-tema
Forklaring: Å utføre inndataforbehandling feil vil gi helt feil resultater uten å kaste feil. Forbehandlingsverdier bør verifiseres fra modellens dokumentasjon.
6. Hva er den mest sikkerhetskritiske regelen ved integrering av cloud LLM i en mobilapplikasjon?
- A) API-nøkkelen skal bare holdes i backend, ikke på klienten; forespørsler må gå gjennom proxy ✔
- B) API-nøkkel bør bygges inn direkte i applikasjonskoden for enkelhets skyld
- C) API-nøkkel skal deles i applikasjonsbeskrivelsen
- D) API-nøkkelen skal holdes i klienten og skjules kun ved å endre navnet.
Avsløring: API-nøkkelen er aldri innebygd i mobilapplikasjonskoden; fordi applikasjonen kan omvendt konstrueres og nøkkelen trekkes ut. Den riktige arkitekturen er å holde nøkkelen kun i backend og sende forespørsler gjennom din egen proxy-server.
7. Hva øker mest brukeropplevd hastighet og funksjonsfullføringsgrad i lange LLM-svar?
- A) Venter til hele svaret er produsert og viser det på en gang
- B) Vise svaret ord for ord, slik det produseres, med streaming ✔
- C) Sende hele chatteloggen til modellen med hver forespørsel
- D) Forstørr modellinstruksjonen for å utvide responsen så mye som mulig
Beskrivelse: Streaming øker den opplevde hastigheten og flyten dramatisk ved å vise responsen etter hvert som den produseres ord for ord. I stedet for å vente på en tom skjerm, ser brukeren på tekstskjemaet; Dette reduserer avbruddsraten betydelig.
8. Hva er det vanligste problemet i tester produsert av kunstig intelligens som gjør testen verdiløs?
- A) Tester dekker for mange grensetilstander
- B) Tester bruker falske objekter, ikke ekte tjenester
- C) Testene går veldig fort
- D) Omfang oppblåsthet ved tomme/ubrukelige tester som faktisk ikke validerer en atferd ✔
Forklaring: Kunstig intelligens produserer noen ganger tester som faktisk ikke bekrefter noen utdata (f.eks. bare kall funksjonen og skriv en tom påstand). Disse blåser opp dekningsnummeret, men gir ikke reell beskyttelse; Hver test må kontrolleres for å bekrefte meningsfull oppførsel.
9. Hvorfor er det ikke en tilstrekkelig løsning å dempe en krasj ved å sette den i en try-catch med et forslag til kunstig intelligens?
- A) try-catch kan ikke brukes i det hele tatt i mobilapplikasjoner
- B) Krasjet stopper, men siden grunnårsaken ikke er løst, kommer problemet tilbake i en annen form ✔
- C) Bruk av try-catch bremser applikasjonen, så det er forbudt
- D) Tyst feil blir automatisk avvist av butikken
Forklaring: Å dempe symptomet løser ikke hovedårsaken; Krasjet stopper, men det opprinnelige problemet (f.eks. ødelagt dataforbindelse) kommer tilbake i en annen form (f.eks. tap av data). Målet med profesjonell feilsøking er å løse årsaken, ikke symptomet.
10. Hva er den grunnleggende gylne regelen å følge i ytelsesoptimalisering?
- A) Ta først en profil og mål den virkelige flaskehalsen, og optimaliser deretter ✔
- B) Å gjette hvor er sakte og konsentrere seg der
- C) Jage små gevinster i hver funksjon
- D) Måle ytelsen på emulatoren og aldri prøve den ekte enheten
Beskrivelse: Mål først, optimer senere. Den virkelige flaskehalsen er nesten alltid på et annet sted enn forutsagt; Optimalisering uten profilering er en blind gjetning og er ofte bortkastet innsats.
11. Hva er den viktigste tekniske bekymringen for en konstant kjørende AI-funksjon (f.eks. live kameraoversettelse)?
- A) Funksjonen ber om så mange tillatelser som mulig
- B) Håndtering av batteri- og prosessorkostnader ved kontinuerlig behandling med samplingsfrekvens og batchbehandling ✔
- C) Kjør funksjonen kun på de dyreste telefonene
- D) Kontinuerlig gjengivelse av kameraet med høyest mulig bildefrekvens
Beskrivelse: Konstant fungerende modell, kamera og nettverk; Den kan raskt forbruke batteriet, varme opp enheten og bli begrenset av systemet. Å redusere samplingsfrekvensen, batching og kjøre bare når det er nødvendig er måter å administrere batterikostnadene på.
12. Hva betyr prinsippet om 'minste privilegium' i tillatelsesadministrasjon i mobilutvikling?
- A) Be om alle mulige tillatelser ved oppstart, for sikkerhets skyld.
- B) Gjøre appen ubrukelig hvis tillatelse nektes
- C) Be om den bredeste tillatelsen og planlegger å begrense den senere.
- D) Be om kun tillatelsen som faktisk er nødvendig, når det er nødvendig og innenfor det snevreste omfanget, med et avvisningsscenario ✔
Forklaring: Minste privilegium er å bare be om tillatelsen som faktisk er nødvendig, når det er nødvendig, og i så liten grad som mulig. For mange tillatelser undergraver brukertilliten, fører til butikkavvisning og øker risikoen for datalekkasje.
13. Hvilke konkrete krav må være oppfylt ved fremleggelse av søknad med kunstig intelligens til butikken?
- A) Innholdsgjennomsiktighet, innholdskontroll og avsløring av data som går til kunstig intelligens i form av konfidensialitet ✔
- B) Skjuler bruken av kunstig intelligens for brukeren
- C) Merking av data som faktisk ikke er samlet inn i personvernskjemaet
- D) Lovende funksjoner som ikke finnes i beskrivelsen
Avsløring: Butikker forventer innholdsgjennomsiktighet (uttalelse om at den produserer AI), innholdsmoderering (filtrering av skadelig utdata og brukervarsling), og avsløring av databruk fra applikasjoner som inneholder kunstig intelligens; Nøyaktighetsvarsel kreves i følsomt område. Søknader som utelater disse vil bli avvist.
14. Hvorfor er 'AI skrev det på den måten'-forsvaret ugyldig når en edge case-feil oppstår i publisert AI-generert kode?
- A) Fordi kunstig intelligens alltid produserer feilfri kode, kommer feilen fra brukeren
- B) Fordi lagrer automatisk korrekt AI-generert kode
- C) Fordi ansvar ikke kan overføres til kunstig intelligens; Utvikler er ansvarlig for publisert kode og data ✔
- D) Fordi kunstig intelligens-generert kode aldri blir satt live
Beskrivelse: AI-utgangen er et utgangspunkt, ikke et ferdig produkt. Det er utvikleren som er ansvarlig for hver linje publisert, alle data som behandles og hvert løfte som er gitt; ansvar kan ikke delegeres til AI, så resultatet må forstås og testes før publisering.