Enhet 11 / 11

End-to-end-projekt, ansvarsfull användning av artificiell intelligens och färdplan i yrket

Vinster:

  • Möjlighet att utveckla en mobil funktion från början och verifierbar i design, kod, AI-integration, integritet, testning, felsökning, prestanda och releasesteg
  • Förmåga att upprätta ett ramverk för ansvarsfull och etisk användning av artificiell intelligens med principerna om transparens, verifiering-ansvarighet och rättvisa-icke-maleficence.
  • Att kunna skapa en hållbar yrkesutövning genom att särskilja de områden där artificiell intelligens är stark och svag och hålla det slutliga beslutet i händerna på människor.

Under hela den här modulen använde vi AI i varje steg av mobil utveckling: kodgenerering, gränssnitt, AI-integration på enheten och molnet, testning, felsökning, prestanda, sekretess och butiksleverans. I den här sista enheten kommer vi att kombinera alla dessa bitar till ett enda flöde från slut till slut, förtydliga ramarna för ansvarsfull och etisk användning av AI och prata om hur man omvandlar dessa färdigheter till en hållbar yrkesutövning. Kärnbudskapet har inte förändrats, men det är nu fast etablerat: AI är en kraft som multiplicerar en kompetent mobilutvecklare; det är inte en ersättning. Det är personen som ansvarar för produktens kvalitet, säkerhet och löfte till användaren.

En heltäckande funktion: att kombinera delar

Att utveckla en riktig funktion från början till slut med AI-stöd kombinerar varje enhet vi har lärt oss i en kedja. Exempel: "lägg till kostnad från kvittot"-funktionen. Flödet fungerar så här:

  1. Design (enhet 3). Utkast till skärmen och fyra tillstånd (laddar/tom/fel/full) med AI, begär åtkomst från början.
  2. Kod (enhet 2). Generera kamera, datamodell och ViewModel lager för lager med MVVM; verifiera varje lager.
  3. AI på enheten (enhet 4). Läs belopp/datum från kvitto med ML Kit-textigenkänning; Överväg förbearbetning och förtroendepoäng.
  4. Sekretess (enhet 9). Begär kameratillstånd med minsta privilegium, skriv avvisningsscenariot, behåll data på enheten.
  5. Testning (enhet 6). Generera enhetstester av extraktionslogiken, UI-testning av displayen; Inkludera gränsstater.
  6. Felsökning (enhet 7). Låt AI analysera krascherna med sammanhang och lösa grundorsaken.
  7. Prestanda (enhet 8). Mät batterikostnaden för kamerabehandling och ställ in den batterivänlig.
  8. Sändning (enhet 10). Rapportera användningen av AI transparent, fyll i sekretessformuläret sanningsenligt och gör ett självtest.

Vid varje steg accelererar AI:n, människan verifierar och bestämmer. Denna loop är kärnan i modulen.

Tips: Försök inte att få AI att göra en komplex funktion med en gigantisk begäran. Dela upp det i verifierbara steg som ovan. Att testa resultatet av varje steg och gå vidare till nästa är både säkrare och i slutändan snabbare; För du fångar ett stort misstag inte i slutet, utan i första steget.

Ansvarsfull och etisk användning av AI

Enbart teknisk kompetens räcker inte; ett ansvarsfullt ramverk kompletterar det. Tre principer:

Transparens. Användaren måste veta att han eller hon interagerar med AI:n. En hemlig AI är ett förtroendebrott. AI-genererat innehåll är taggat; AI-råd presenteras som "nyttiga råd" snarare än "hård sanning".

Verifiering och ansvarighet. AI-utdata är en utgångspunkt, inte en färdig produkt. Du är ansvarig för varje kodrad som publiceras, varje AI-svar, varje datatransaktion. "AI:n skrev det så" är inget försvar.

Rättvisa och icke-ondska. AI-modeller kan bära fördomar från data som de tränas på. En ansiktsigenkänning kan fungera sämre på vissa hudfärger, en rekommendationsmotor kan utesluta en grupp. Det är ditt ansvar att testa att din produkt fungerar rättvist över olika användargrupper.

Observera: All teknik du lär dig inom området IT och säkerhet används endast för auktoriserade och konstruktiva ändamål. Att använda AI för att skapa skadlig programvara, knäcka någon annans applikation utan tillåtelse, samla in användardata utan samtycke eller producera vilseledande innehåll är olagligt och mot yrkets etik. Måttet på kraft avslöjas där du inte använder det.

Inse gränserna för AI

En mogen utvecklare vet var AI lyser och var den kommer till kort.

AI är kraftfullt

AI är svag

Formkod, tillverkning av pannplåt

Produkt- och arkitektoniska beslut

Test- och dokumentationsutkast

Förstå affärssammanhang och användare

Läsning av kraschlogg, felsökning

Definitiv orsaksdiagnos (verifiering krävs)

Lärande, begreppsförklaring

Aktuell/otillverkad API-information

Text, beskrivning, översättning

Etik, säkerhet och juridiskt slutligt beslut

Att internalisera denna distinktion är nyckeln till att använda AI effektivt och undvika dess fallgropar.

tre minifodral

Fall 1 — End-to-end hastighet. En ensamutvecklare avslutade "unplugged"-funktionen på fyra dagar med 8-stegsflödet ovan; Utan AI var uppskattningen 12 dagar. Men eftersom han verifierade varje steg godkändes publiceringen första gången. Hastigheten var verklig eftersom disciplin var verklig. Lektion: AI + verifiering är snabbare än AI - verifiering.

Fall 2 - Bias fångad. När ett team testade en AI-baserad funktion för att förutsäga substantiv och kön, märkte ett team systematiska fel i vissa turkiska substantiv; modellen tränades på mestadels engelska data. Funktionen har ändrats till att fråga användaren istället för att göra fel antagande. Lärdom: det är utvecklarens jobb att testa modellens träningsbias.

Fall 3 - "AI sa så"-försvaret kollapsade. En utvecklare publicerade en AI-genererad betalningskod utan att verifiera den; I ett extremfall gjorde koden dubbla insamlingar. Ansvar tas inte bort genom att säga "AI skrev det"; Som kontoinnehavare var han utvecklare. Lektion: ansvar kan inte delegeras.

Svag prompt / Stark prompt

Svag uppmaning: "Skriv ett komplett kvittoskanningsprogram till mig."

Kraftfull uppmaning: "Hjälp mig att utveckla funktionen 'lägg till kostnad från kvitto' steg för steg. Låt oss gå vidare i ordningsföljd, när jag verifierar och godkänner varje steg, gå vidare till nästa: 1) Skärm + fyra tillstånd + tillgänglighet2) MVVM-lager (kamera, modell, ViewModel)3) Läsbelopp/datum från mottagningsbehörighet med poäng ML Kit + release-behörighet (ML Kit + release) flow5) Enhets- och användargränssnittstester Berätta för mig vilka risker och punkter jag behöver verifiera vid varje steg."

Kopierbara mallar

End-to-end-planeringsmall: "Jag kommer att utveckla följande funktion: [funktion]. Dela upp den i verifierbara steg: design, kod, AI-integration, integritet/behörighet, testning, prestanda, release. Skriv utdata, risk och verifieringskriterier för varje steg. Gör inte en enda jätteproduktion."

Etik/bias granskningsmall: "Granska följande AI-funktion för rättvisa och partiskhet: [funktion]. Vilka användargrupper kan det fungera dåligt? Hur påverkar träningsdata bias? Hur testar jag det, hur gör jag det mer inkluderande?"

Ansvarskontrollmall: "Lista ansvarsfrågorna jag bör ställa innan jag släpper den här AI-genererade koden/funktionen: förstod jag det, har jag testat det, är det säkert, är det transparent för användaren, är det lagligt/etiskt?"

Mall för kontinuerlig inlärning: "Föreslå en 4-veckors praktisk plan för att förbättra min AI-färdighet inom mobilutvecklare: ett ämne varje vecka (kod, integration, testning, release), med målet om ett litet projekt och verifieringsvana."

Vanliga misstag

  • Producerar komplex funktion med en gigantisk begäran. Kan inte verifieras; dela upp det i steg.
  • Undviker ansvar genom att säga "AI skrev så". Du är ansvarig för den publicerade koden.
  • Testar inte för AI-bias. Modellen kan fungera dåligt i vissa grupper; Testa rättvisa.
  • Döljer AI-interaktion från användaren. Transparens är grunden för förtroende.
  • Glömma begränsningarna för AI. Människor har sista ordet om arkitektur, etik och nuvarande API.
  • Att sluta lära sig. Verktyg och butiksregler förändras snabbt; Håll dig ständigt uppdaterad.

Sammanfattningsvis

En end-to-end-funktion kombinerar alla delar av modulen i en kedja: design, kod, AI-integration, integritet, testning, felsökning, prestanda och release. Vid varje steg accelererar AI, människan verifierar och bestämmer; Komplext arbete delas upp i små verifierbara steg. Ansvarsfull användning bygger på tre principer: transparens, verifiering-ansvar och rättvisa-gör ingen skada. AI är en kraftfull multiplikator, men människor har sista ordet om arkitektur, etik, säkerhet och aktuell kunskap. "AI:n gjorde det på det sättet" är inte ett försvar; Du är ansvarig för din produkt och det löfte du ger till din användare. Med denna disciplin gör AI dig snabbare, mer omfattande och starkare under hela din karriär.

Applikationsuppgift

Dela upp en mobilfunktion som du väljer (t.ex. "sammanfatta genom att ta röstanteckningar" eller "produktigenkänning från foto") i verifierbara steg med en "End-to-end-planeringsmall". Utveckla och validera faktiskt minst ett steg med AI. Analysera sedan vilka användargrupper funktionen kan orsaka problem med "Etik/bias kontroll mall" och svara på frågorna du behöver ställa innan release med "Ansvarskontroll mall".

checklista

  • [ ] Jag bröt in funktionen i verifierbara små steg, inte en enda jätteproduktion
  • [ ] Jag verifierade AI-utgången vid varje steg och fattade beslutet
  • [ ] Jag presenterade AI-interaktionen transparent för användaren
  • [ ] Jag utvärderade om funktionen fungerar rättvist/partisk över olika grupper
  • [ ] Jag svarade på ansvarsfrågor före utgivningen (förstådd/testning/säker/etisk)
  • [ ] Jag har endast använt AI för kompetenta och konstruktiva syften och planerar att fortsätta lära mig

Modulexamen

1. Vilket av följande är den mest exakta positioneringen för artificiell intelligens i mobilutveckling?

  • A) AI ersätter utvecklaren; kan publiceras direkt utan att läsa koden den genererar
  • B) Artificiell intelligens fungerar bara i att skriva text, det har inget med kodgenerering att göra
  • C) Artificiell intelligens är en assistent och accelerator; Ansvaret för arkitektur-, säkerhets- och sändningsbeslut vilar på människan ✔
  • D) Eftersom artificiell intelligens alltid producerar korrekt kod är ytterligare testning och verifiering onödig

Beskrivning: Artificiell intelligens är en assistent och accelerator som genererar kod, ritningar och lösningar. Ansvar och slutgiltigt godkännande av beslut som arkitektur, tillstånd, säkerhet och publicering åvilar den behöriga byggherren; Människor är ansvariga för varje rad som publiceras.

2. När man begär mobilkod från artificiell intelligens, vad ökar den arkitektoniska kvaliteten på koden som produceras mest?

  • A) Håll uppmaningen så kort som möjligt och säg "skriv en app till mig"
  • B) Lägg först på en arkitektur som MVVM och begär koden i små bitar, lager för lager ✔
  • C) Att producera hela funktionen som en enda jättefil i en enda prompt
  • D) Specificera inte arkitekturen alls och överlåt det bästa beslutet till artificiell intelligens

Förklaring: Att påtvinga en arkitektur som MVVM och kräva lager för lager innan kod direkt skrivs till AI producerar en testbar och underhållbar struktur som separerar logiken från skärmen. Begäran utan arkitektur returnerar kod som klämmer in allt på skärmen.

3. Vad förbises oftast när man skapar ett gränssnitt med artificiell intelligens och vad är mest kritiskt vid verklig användning?

  • A) Designa laddnings-, tom- och feltillstånd, inte bara helskärm ✔
  • B) Producerar bara den snyggaste helskärmen, hoppar över andra fall
  • C) Lägga till så många färger och animationer som möjligt på varje skärm
  • D) Att lämna tillgänglighetstaggar sist och bara handlar om utseendet

Förklaring: Utvecklare överväger ofta bara det "fulla" tillståndet; medan användaren i verkligheten oftast stöter på laddnings-, tom- och feltillstånd. Att generera alla fyra tillstånden (laddar/tom/fel/full) är hemligheten bakom ett robust gränssnitt.

4. Varför är AI på enheten ofta standardvalet för en funktion som behandlar känsliga personuppgifter (t.ex. hälsomätning)?

  • A) Modeller på enheten är alltid mer exakta än molnet
  • B) Bearbetning på enheten medför aldrig batteri- eller processorkostnader
  • C) Bearbetningen på enheten är obegränsad när det gäller modellstorlek
  • D) Eftersom data inte lämnar telefonen ger det en stark fördel när det gäller integritet och användarförtroende ✔

Förklaring: Bearbetning på enheten tar inte bort data från telefonen; Detta är en stark fördel när det gäller integritetsefterlevnad och användarförtroende, plus att det fungerar offline och omedelbart. Dess gräns är enhetens effekt och modellstorlek.

5. Vilket är det vanligaste "tysta" felet som orsakar meningslösa resultat och som inte ger ett felmeddelande i en enhetsmodellintegration?

  • A) Fel stavning av modellens filnamn
  • B) Låg upplösning för applikationsikonen
  • C) Felaktig ingångsförbehandling (storlek/normalisering) ✔
  • D) Mörk skärmtema

Förklaring: Om du gör en felaktig förbearbetning av inmatning kommer det att ge helt felaktiga resultat utan att skapa fel. Förbearbetningsvärden bör verifieras från modellens dokumentation.

6. Vilken är den mest säkerhetskritiska regeln när man integrerar moln LLM i en mobilapplikation?

  • A) API-nyckeln bör endast förvaras i backend, inte på klienten; förfrågningar måste gå via proxy ✔
  • B) API-nyckeln bör bäddas in direkt i applikationskoden för enkelhetens skull
  • C) API-nyckel ska delas i applikationsbeskrivningen
  • D) API-nyckeln bör behållas i klienten och döljas endast genom att ändra namnet.

Avslöjande: API-nyckeln är aldrig inbäddad i mobilapplikationskoden; eftersom applikationen kan omvändas och nyckeln extraheras. Den korrekta arkitekturen är att behålla nyckeln endast i backend och skicka förfrågningar via din egen proxyserver.

7. Vad ökar mest användarupplevd hastighet och fullbordande av funktioner i långa LLM-svar?

  • A) Vänta tills hela svaret är framställt och visa det på en gång
  • B) Visar svaret ord för ord, när det produceras, med streaming ✔
  • C) Skickar hela chatthistoriken till modellen med varje förfrågan
  • D) Förstora modellinstruktionen för att utöka responsen så mycket som möjligt

Beskrivning: Streaming ökar dramatiskt upplevd hastighet och flyt genom att visa svaret när det produceras ord för ord. Istället för att vänta på en tom skärm, tittar användaren på textformuläret; Detta minskar avsevärt avsevärt.

8. Vilket är det vanligaste problemet i tester producerade av artificiell intelligens som gör testet värdelöst?

  • A) Tester täcker för många gränstillstånd
  • B) Tester använder skenobjekt, inte riktiga tjänster
  • C) Testerna går väldigt snabbt
  • D) Omfång uppblåsthet genom tomma/värdelösa tester som faktiskt inte validerar ett beteende ✔

Förklaring: Artificiell intelligens producerar ibland tester som faktiskt inte verifierar någon utdata (t.ex. ring bara funktionen och skriv ett tomt påstående). Dessa blåser upp täckningsnumret men ger inget riktigt skydd; Varje test måste kontrolleras för att verifiera meningsfullt beteende.

9. Varför är det inte en tillräcklig lösning att tysta en krasch genom att sätta den i en try-catch med ett förslag på artificiell intelligens?

  • A) try-catch kan inte användas alls i mobilapplikationer
  • B) Kraschen upphör, men eftersom grundorsaken inte är löst återkommer problemet i en annan form ✔
  • C) Att använda try-catch saktar ner applikationen, så det är förbjudet
  • D) Tysta fel avvisas automatiskt av butiken

Förklaring: Att tysta symtomet löser inte grundorsaken; Kraschen upphör, men det ursprungliga problemet (t.ex. bruten dataanslutning) återkommer i en annan form (t.ex. dataförlust). Målet med professionell felsökning är att lösa grundorsaken, inte symtomet.

10. Vilken är den grundläggande gyllene regeln att följa vid prestandaoptimering?

  • A) Ta först en profil och mät den verkliga flaskhalsen, optimera sedan ✔
  • B) Att gissa var går långsamt och koncentrera sig där
  • C) Jagar små vinster i varje funktion
  • D) Mäta prestanda på emulatorn och aldrig prova den riktiga enheten

Beskrivning: Mät först, optimera senare. Den verkliga flaskhalsen är nästan alltid på en annan plats än förutspått; Optimering utan profilering är en blind gissning och är ofta ett slöseri med ansträngning.

11. Vad är det viktigaste tekniska problemet för en ständigt körande AI-funktion (t.ex. livekameraöversättning)?

  • A) Funktionen kräver så många behörigheter som möjligt
  • B) Hantering av batteri- och processorkostnad för kontinuerlig bearbetning med samplingsfrekvens och batchbearbetning ✔
  • C) Kör bara funktionen på de dyraste telefonerna
  • D) Kontinuerlig återgivning av kameran med högsta möjliga bildhastighet

Beskrivning: Ständigt fungerande modell, kamera och nätverk; Det kan snabbt förbruka batteriet, värma upp enheten och begränsas av systemet. Att minska samplingsfrekvensen, batchning och körning endast när det behövs är sätt att hantera batterikostnaderna.

12. Vad betyder principen om "minst privilegium" i behörighetshantering vid mobilutveckling?

  • A) Begär alla möjliga behörigheter vid start, för säkerhets skull.
  • B) Göra appen obrukbar om tillstånd nekas
  • C) Be om det bredaste tillståndet och planerar att begränsa det senare.
  • D) Begär endast det tillstånd som faktiskt krävs, när det är nödvändigt och inom den snästa omfattningen, med ett avslagsscenario ✔

Förklaring: Minsta privilegium är att bara be om det tillstånd som faktiskt behövs, när det behövs och i så snäv utsträckning som möjligt. För många behörigheter undergräver användarnas förtroende, leder till butiksavslag och ökar risken för dataläckage.

13. Vilka specifika krav måste uppfyllas när man presenterar en ansökan med artificiell intelligens till butiken?

  • A) Innehållstransparens, innehållskontroll och avslöjande av data som går till artificiell intelligens i form av konfidentialitet ✔
  • B) Dölja användningen av artificiell intelligens för användaren
  • C) Märkning av data som faktiskt inte samlas in i sekretessformuläret
  • D) Lovande funktioner som inte finns i beskrivningen

Avslöjande: Butiker förväntar sig innehållstransparens (påstående om att den producerar AI), innehållsmoderering (filtrering av skadlig utdata och användarmeddelanden) och avslöjande av dataanvändning från applikationer som innehåller artificiell intelligens; Noggrannhetsvarning krävs i känsligt område. Ansökningar som utelämnar dessa kommer att avslås.

14. Varför är "AI skrev det så"-försvaret ogiltigt när ett edge case-fel inträffar i publicerad AI-genererad kod?

  • A) Eftersom artificiell intelligens alltid producerar felfri kod kommer felet från användaren
  • B) Eftersom lagrar automatiskt korrekt AI-genererad kod
  • C) Eftersom ansvar inte kan överföras till artificiell intelligens; Utvecklaren ansvarar för publicerad kod och data ✔
  • D) Eftersom artificiell intelligens-genererad kod aldrig sätts live

Beskrivning: AI-utgången är en utgångspunkt, inte en färdig produkt. Det är utvecklaren som är ansvarig för varje publicerad rad, varje data som bearbetas och varje löfte som ges; ansvar kan inte delegeras till AI, så resultatet måste förstås och testas innan publicering.