Unità 11 / 11

Progetto end-to-end, uso responsabile dell'intelligenza artificiale e roadmap nella professione

Guadagni:

  • Capacità di sviluppare una funzionalità mobile end-to-end e verificabile nelle fasi di progettazione, codice, integrazione AI, privacy, test, debug, prestazioni e rilascio
  • Capacità di stabilire un quadro per un uso responsabile ed etico dell’intelligenza artificiale con i principi di trasparenza, verifica-responsabilità e giustizia-non maleficenza.
  • Essere in grado di creare una pratica professionale sostenibile distinguendo le aree in cui l’intelligenza artificiale è forte e debole e lasciando la decisione finale nelle mani degli esseri umani.

In questo modulo abbiamo utilizzato l'intelligenza artificiale in ogni fase dello sviluppo mobile: generazione del codice, interfaccia, integrazione dell'intelligenza artificiale sul dispositivo e nel cloud, test, debug, prestazioni, privacy e consegna in negozio. In questa unità finale, combineremo tutti questi elementi in un unico flusso end-to-end, chiariremo il quadro per un uso responsabile ed etico dell'intelligenza artificiale e parleremo di come trasformare queste competenze in una pratica professionale sostenibile. Il messaggio principale non è cambiato, ma ora è fermamente stabilito: l'intelligenza artificiale è una forza che moltiplica uno sviluppatore mobile competente; non è un sostituto. È la persona responsabile della qualità, della sicurezza e della promessa del prodotto all'utente.

Una funzionalità end-to-end: combinare le parti

Lo sviluppo di una funzionalità reale dall'inizio alla fine con il supporto dell'intelligenza artificiale combina tutte le unità che abbiamo appreso in una catena. Esempio: funzione "aggiungi spesa dalla ricevuta". Il flusso funziona in questo modo:

  1. Progettazione (Unità 3). Disegna lo schermo e i quattro stati (caricamento in corso/vuoto/errore/pieno) con l'intelligenza artificiale, richiedi l'accessibilità dall'inizio.
  2. Codice (Unità 2). Genera fotocamera, modello dati e ViewModel livello per livello con MVVM; verificare ogni strato.
  3. IA sul dispositivo (Unità 4). Lettura importo/data dallo scontrino con riconoscimento testo ML Kit; Prendere in considerazione la preelaborazione e il punteggio di confidenza.
  4. Riservatezza (Unità 9). Richiedi l'autorizzazione della fotocamera con privilegio minimo, scrivi lo scenario di rifiuto, conserva i dati sul dispositivo.
  5. Test (Unità 6). Generare unit test della logica di estrazione, test UI del display; Includere gli stati di confine.
  6. Debug (Unità 7). Chiedi all'intelligenza artificiale di analizzare gli arresti anomali con il contesto e risolverne la causa principale.
  7. Prestazioni (Unità 8). Misura il costo della batteria per l'elaborazione della fotocamera e impostala a basso consumo di batteria.
  8. Trasmissione (Unità 10). Segnala l'uso dell'intelligenza artificiale in modo trasparente, compila il modulo sulla privacy in modo veritiero e conduci un autotest.

Ad ogni passo l’IA accelera, l’umano verifica e decide. Questo ciclo è il nucleo del modulo.

Suggerimento: non provare a far sì che l'intelligenza artificiale esegua una funzione complessa con una richiesta enorme. Suddividilo in passaggi verificabili come sopra. Testare il risultato di ogni passaggio e passare a quello successivo è più sicuro e, in definitiva, più veloce; Perché un grosso errore si coglie non alla fine, ma al primo passo.

Uso responsabile ed etico dell’IA

La sola competenza tecnica non è sufficiente; un quadro responsabile lo completa. Tre principi:

Trasparenza. L'utente deve sapere che sta interagendo con l'intelligenza artificiale. Un’intelligenza artificiale segreta è una violazione della fiducia. Il contenuto generato dall'intelligenza artificiale è taggato; I consigli dell’intelligenza artificiale vengono presentati come “consigli utili” piuttosto che come “dura verità”.

Verifica e responsabilità. L'output dell'intelligenza artificiale è un punto di partenza, non un prodotto finito. Sei responsabile di ogni riga di codice pubblicata, di ogni risposta dell'intelligenza artificiale, di ogni transazione di dati. "L'IA l'ha scritto così" non è una difesa.

Giustizia e non maleficenza. I modelli di intelligenza artificiale possono contenere pregiudizi derivanti dai dati su cui sono addestrati. Un riconoscimento facciale potrebbe funzionare peggio su alcuni colori della pelle, un motore di raccomandazione potrebbe escludere un gruppo. È tua responsabilità verificare che il tuo prodotto funzioni correttamente tra diversi gruppi di utenti.

Attenzione: qualsiasi tecnica appresa nel campo dell'informatica e della sicurezza viene utilizzata solo per scopi autorizzati e costruttivi. Usare l'intelligenza artificiale per creare malware, crackare l'applicazione di qualcun altro senza autorizzazione, raccogliere dati utente senza consenso o produrre contenuti fuorvianti è illegale e contrario all'etica della professione. La misura del potere si rivela dove non lo usi.

Riconoscere i limiti dell’intelligenza artificiale

Uno sviluppatore maturo sa dove l’intelligenza artificiale brilla e dove non è all’altezza.

L’intelligenza artificiale è potente

L'intelligenza artificiale è debole

Codice stampo, produzione boilerplate

Decisioni sul prodotto e sull'architettura

Test e bozza della documentazione

Comprendere il contesto aziendale e l'utente

Lettura del registro degli arresti anomali, scansione degli errori

Diagnosi definitiva della causa principale (verifica richiesta)

Apprendimento, spiegazione dei concetti

Informazioni sull'API corrente/non fabbricata

Testo, descrizione, traduzione

Etica, sicurezza e decisione finale giuridica

Interiorizzare questa distinzione è fondamentale per utilizzare l’intelligenza artificiale in modo efficace ed evitare le sue insidie.

tre mini custodie

Caso 1: velocità end-to-end. Uno sviluppatore solista ha completato la funzionalità "scollegato" in 4 giorni con il flusso in 8 passaggi sopra descritto; Senza AI la stima era di 12 giorni. Ma poiché ha verificato ogni passaggio, la pubblicazione è stata approvata la prima volta. La velocità era reale perché la disciplina era reale. Lezione: la verifica AI + è più veloce della verifica AI -.

Caso 2: pregiudizi rilevati. Durante il test di una funzionalità di previsione del genere dei sostantivi basata sull'intelligenza artificiale, un team ha notato errori sistematici in alcuni sostantivi turchi; il modello è stato addestrato principalmente su dati inglesi. La funzionalità è stata modificata per chiedere all'utente invece di fare un presupposto sbagliato. Lezione: è compito dello sviluppatore testare il bias di addestramento del modello.

Caso 3 – La difesa “l’ha detto l’IA” è crollata. Uno sviluppatore ha pubblicato un codice di pagamento generato dall'intelligenza artificiale senza verificarlo; In un caso estremo il codice eseguiva raccolte doppie. La responsabilità non viene rimossa dicendo "l'ha scritto l'AI"; In qualità di titolare dell'account, era uno sviluppatore. Lezione: la responsabilità non può essere delegata.

Prompt debole / Prompt forte

Suggerimento debole: "Scrivimi un'applicazione completa per la scansione delle ricevute".

Suggerimento potente: "Aiutami a sviluppare la funzionalità 'aggiungi spesa dalla ricevuta' passo dopo passo. Procediamo in ordine, quando verifico e approvo ogni passaggio, passiamo a quello successivo: 1) Schermo + quattro stati + accessibilità2) Livelli MVVM (fotocamera, modello, ViewModel)3) Lettura importo/data dalla ricevuta con ML Kit + punteggio di attendibilità4) Autorizzazione fotocamera (privilegio minimo) + flusso di rifiuto5) Test unità e UI Dimmi i rischi e i punti che devo verificare ad ogni passaggio."

Modelli copiabili

Modello di pianificazione end-to-end: "Svilupperò la seguente funzionalità: [funzionalità]. Suddividila in passaggi verificabili: progettazione, codice, integrazione AI, privacy/permessi, test, prestazioni, rilascio. Scrivi i criteri di output, rischio e verifica per ogni passaggio. Non realizzare un'unica produzione gigantesca. "

Modello di controllo etica/pregiudizi: "Verifica l'equità e i pregiudizi della seguente funzionalità dell'intelligenza artificiale: [funzione]. Quali gruppi di utenti potrebbero funzionare in modo scarso? In che modo i dati di addestramento influiscono sui pregiudizi? Come posso testarli, come posso renderli più inclusivi?"

Modello di controllo della responsabilità: "Elenca le domande sulla responsabilità che dovrei porre prima di rilasciare questo codice/funzionalità generato dall'intelligenza artificiale: l'ho compreso, l'ho testato, è sicuro, è trasparente per l'utente, è legale/etico?"

Modello di apprendimento continuo: "Proporre un piano pratico di 4 settimane per migliorare le mie competenze di intelligenza artificiale come sviluppatore mobile: un argomento ogni settimana (codice, integrazione, test, rilascio), con l'obiettivo di un piccolo progetto e un'abitudine di verifica."

Errori comuni

  • Produrre funzionalità complesse con una richiesta enorme. Non può essere verificato; suddividerlo in passaggi.
  • Evitare la responsabilità dicendo "L'AI ha scritto così". Sei responsabile del codice pubblicato.
  • Non testare i bias dell'IA. Il modello potrebbe funzionare male in alcuni gruppi; Metti alla prova la giustizia.
  • Nascondere l'interazione dell'IA all'utente. La trasparenza è il fondamento della fiducia.
  • Dimenticare i limiti dell’intelligenza artificiale. Le persone hanno l'ultima parola sull'architettura, sull'etica e sulle API attuali.
  • Per smettere di imparare. Gli strumenti e le regole del negozio cambiano rapidamente; Rimani costantemente aggiornato.

In sintesi

Una funzionalità end-to-end combina tutte le parti del modulo in una catena: progettazione, codice, integrazione AI, privacy, test, debug, prestazioni e rilascio. Ad ogni passaggio, l’intelligenza artificiale accelera, l’uomo verifica e decide; Il lavoro complesso viene suddiviso in piccoli passaggi verificabili. L'uso responsabile si basa su tre principi: trasparenza, verifica-responsabilità ed equità-non nuocere. L’intelligenza artificiale è un potente moltiplicatore, ma gli esseri umani hanno l’ultima parola su architettura, etica, sicurezza e conoscenza attuale. “L’IA ha fatto così” non è una difesa; Sei responsabile del tuo prodotto e della promessa che fai al tuo utente. Con questa disciplina, l'intelligenza artificiale ti rende più veloce, più completo e più forte per tutta la tua carriera.

Compito dell'applicazione

Suddividi una funzionalità mobile di tua scelta (ad esempio "riassumere prendendo appunti vocali" o "riconoscimento del prodotto dalla foto") in passaggi verificabili con un "modello di pianificazione end-to-end". Sviluppare e convalidare effettivamente almeno un passaggio con l'intelligenza artificiale. Quindi, analizza quali gruppi di utenti la funzionalità potrebbe causare problemi con il "Modello di controllo di etica/pregiudizi" e rispondi alle domande che devi porre prima del rilascio con il "Modello di controllo di responsabilità".

lista di controllo

  • [] Ho suddiviso la funzionalità in piccoli passaggi verificabili, non in un'unica produzione gigantesca
  • [ ] Ho verificato l'output dell'intelligenza artificiale in ogni passaggio e ho preso la decisione
  • [] Ho presentato l'interazione dell'intelligenza artificiale in modo trasparente all'utente
  • [] Ho valutato se la funzionalità funziona in modo equo/distorto tra i diversi gruppi
  • [ ] Ho risposto alle domande sulla responsabilità prima del rilascio (capito/testato/sicuro/etico)
  • [ ] Ho utilizzato l'intelligenza artificiale solo per scopi competenti e costruttivi e ho intenzione di continuare ad apprendere

Esame del modulo

1. Quale dei seguenti è il posizionamento più accurato per l'intelligenza artificiale nello sviluppo mobile?

  • A) L'intelligenza artificiale sostituisce lo sviluppatore; può essere pubblicato direttamente senza leggere il codice che genera
  • B) L'intelligenza artificiale funziona solo nella scrittura del testo, non ha nulla a che fare con la generazione del codice
  • C) L'intelligenza artificiale è assistente e acceleratore; La responsabilità delle decisioni relative all'architettura, alla sicurezza e alla trasmissione spetta agli esseri umani ✔
  • D) Poiché l'intelligenza artificiale produce sempre il codice corretto, non sono necessari ulteriori test e verifiche

Descrizione: L'intelligenza artificiale è un assistente e un acceleratore che genera codice, progetti e soluzioni. La responsabilità e l'approvazione finale di decisioni quali architettura, autorizzazione, sicurezza e pubblicazione spettano allo sviluppatore competente; Gli esseri umani sono responsabili di ogni riga pubblicata.

2. Quando si richiede codice mobile all'intelligenza artificiale, cosa aumenta maggiormente la qualità architetturale del codice prodotto?

  • A) Mantieni la richiesta il più breve possibile e dì "scrivimi un'app"
  • B) Innanzitutto, imponi un'architettura come MVVM e richiedi il codice in piccoli pezzi, strato per strato ✔
  • C) Produzione dell'intera funzionalità come un unico file gigante in un unico prompt
  • D) Non specificare affatto l'architettura e lasciare la decisione migliore all'intelligenza artificiale

Spiegazione: imporre un'architettura come MVVM e richiedere livello per livello prima di scrivere il codice direttamente sull'intelligenza artificiale produce una struttura testabile e gestibile che separa la logica dallo schermo. La richiesta senza architettura restituisce codice che stipa tutto sullo schermo.

3. Cosa viene più spesso trascurato quando si crea un'interfaccia con l'intelligenza artificiale e cosa è più critico nell'uso reale?

  • A) Progettare gli stati di caricamento, vuoto e di errore, non solo lo schermo intero ✔
  • B) Produrre solo lo schermo intero più bello, saltando gli altri casi
  • C) Aggiungere quanti più colori e animazioni possibile a ciascuna schermata
  • D) Lasciare i tag di accessibilità per ultimi e occuparsi solo dell'aspetto

Spiegazione: gli sviluppatori spesso considerano solo lo stato "completo"; mentre in realtà l'utente riscontra principalmente stati di caricamento, vuoto ed errore. La generazione di tutti e quattro gli stati (caricamento in corso/vuoto/errore/pieno) è il segreto di un'interfaccia robusta.

4. Perché l'intelligenza artificiale integrata nel dispositivo è spesso la scelta predefinita per una funzionalità che elabora dati personali sensibili (ad esempio la misurazione della salute)?

  • R) I modelli on-device sono sempre più accurati di quelli cloud
  • B) L'elaborazione sul dispositivo non comporta mai costi della batteria o del processore
  • C) L'elaborazione sul dispositivo è illimitata in termini di dimensioni del modello
  • D) Poiché i dati non lasciano il telefono, ciò offre un forte vantaggio in termini di privacy e fiducia dell'utente ✔

Spiegazione: l'elaborazione sul dispositivo non rimuove i dati dal telefono; Questo è un grande vantaggio in termini di rispetto della privacy e fiducia degli utenti, inoltre funziona offline e istantaneamente. Il suo limite è la potenza del dispositivo e le dimensioni del modello.

5. Qual è l'errore "silenzioso" più comune che causa risultati privi di significato e non produce un messaggio di errore in un'integrazione del modello sul dispositivo?

  • A) Ortografia errata del nome del file del modello
  • B) Bassa risoluzione dell'icona dell'applicazione
  • C) Preelaborazione dell'input errata (dimensione/normalizzazione) ✔
  • D) Tema dello schermo scuro

Spiegazione: eseguire la preelaborazione dell'input in modo errato produrrà risultati completamente errati senza generare errori. I valori di preelaborazione dovrebbero essere verificati dalla documentazione del modello.

6. Qual è la regola più critica per la sicurezza quando si integra il cloud LLM in un'applicazione mobile?

  • R) La chiave API deve essere conservata solo nel backend, non sul client; le richieste devono passare tramite proxy ✔
  • B) La chiave API deve essere incorporata direttamente nel codice dell'applicazione per comodità
  • C) La chiave API deve essere condivisa nella descrizione dell'applicazione
  • D) La chiave API va mantenuta nel client e nascosta solo cambiando il nome.

Divulgazione: la chiave API non è mai incorporata nel codice dell'applicazione mobile; perché l'applicazione può essere decodificata e la chiave estratta. L'architettura corretta è mantenere la chiave solo nel backend e passare le richieste attraverso il proprio server proxy.

7. Che cosa aumenta maggiormente la velocità percepita dall'utente e il tasso di completamento delle funzionalità nelle risposte LLM lunghe?

  • A) Aspettare finché non viene prodotta l'intera risposta e mostrarla immediatamente
  • B) Mostrare la risposta parola per parola, così come viene prodotta, con streaming ✔
  • C) Invio dell'intera cronologia della chat alla modella con ogni richiesta
  • D) Ampliare l'istruzione del modello per estendere la risposta il più possibile

Descrizione: lo streaming aumenta notevolmente la velocità e la fluidità percepite visualizzando la risposta così come viene prodotta parola per parola. Invece di attendere su uno schermo vuoto, l'utente guarda il modulo di testo; Ciò riduce significativamente il tasso di abbandono.

8. Qual è il problema più comune nei test prodotti dall'intelligenza artificiale che rende il test inutile?

  • A) I test coprono troppi stati limite
  • B) I test utilizzano oggetti fittizi, non servizi reali
  • C) I test vengono eseguiti molto velocemente
  • D) L'ambito è gonfiato da test vuoti/inutili che in realtà non convalidano un comportamento ✔

Spiegazione: l'intelligenza artificiale a volte produce test che in realtà non verificano alcun output (ad esempio, basta chiamare la funzione e scrivere un'asserzione vuota). Questi gonfiano il numero di copertura ma non forniscono una protezione reale; Ogni test deve essere controllato per verificare un comportamento significativo.

9. Perché non è una soluzione sufficiente mettere a tacere un incidente mettendolo in una prova con un suggerimento dell'intelligenza artificiale?

  • A) try-catch non può essere utilizzato affatto nelle applicazioni mobili
  • B) Il crash si interrompe, ma poiché la causa principale non è stata risolta, il problema si ripresenta in una forma diversa ✔
  • C) L'uso di try-catch rallenta l'applicazione, quindi è vietato
  • D) L'errore silenziato viene automaticamente rifiutato dal negozio

Spiegazione: silenziare il sintomo non risolve la causa principale; Il crash si interrompe, ma il problema originale (ad esempio la connessione dati interrotta) si ripresenta in un'altra forma (ad esempio la perdita di dati). L'obiettivo del debug professionale è risolvere la causa principale, non il sintomo.

10. Qual è la regola d'oro fondamentale da seguire nell'ottimizzazione delle prestazioni?

  • A) Innanzitutto prendi un profilo e misura il collo di bottiglia reale, quindi ottimizza ✔
  • B) Indovinare dove è lento e concentrarsi lì
  • C) Inseguire piccoli guadagni in ogni funzione
  • D) Misurare le prestazioni sull'emulatore e non provare mai il dispositivo reale

Descrizione: Misura prima, ottimizza dopo. Il vero collo di bottiglia si trova quasi sempre in una posizione diversa da quella prevista; L'ottimizzazione senza profilazione è un'ipotesi cieca e spesso è uno spreco di sforzi.

11. Qual è la preoccupazione ingegneristica più importante per una funzionalità AI costantemente attiva (ad esempio la traduzione tramite telecamera in tempo reale)?

  • R) La funzionalità richiede quante più autorizzazioni possibili
  • B) Gestione dei costi della batteria e del processore dell'elaborazione continua con frequenza di campionamento ed elaborazione batch ✔
  • C) Esegui la funzione solo sui telefoni più costosi
  • D) Rendering continuo della telecamera al frame rate più alto possibile

Descrizione: Modello, fotocamera e rete costantemente funzionanti; Può consumare rapidamente la batteria, surriscaldare il dispositivo ed essere limitato dal sistema. Ridurre la frequenza di campionamento, il batching e l'utilizzo solo quando necessario sono modi per gestire il costo della batteria.

12. Cosa significa il principio del "privilegio minimo" nella gestione dei permessi nello sviluppo mobile?

  • A) Richiedere tutte le autorizzazioni possibili all'avvio, per ogni evenienza.
  • B) Rendere l'app inutilizzabile se l'autorizzazione viene negata
  • C) Chiedere il permesso più ampio e pianificare di restringere il campo in seguito.
  • D) Richiedere solo il permesso effettivamente richiesto, quando necessario e nell'ambito più ristretto, con scenario di rifiuto ✔

Spiegazione: il privilegio minimo consiste nel richiedere solo il permesso effettivamente necessario, quando necessario e nella misura più limitata possibile. Troppe autorizzazioni minano la fiducia degli utenti, portano al rifiuto dello store e aumentano il rischio di fuga di dati.

13. Quali requisiti specifici devono essere soddisfatti quando si presenta allo store un'applicazione dotata di intelligenza artificiale?

  • A) Trasparenza dei contenuti, controllo dei contenuti e divulgazione dei dati destinati all'intelligenza artificiale sotto forma di riservatezza ✔
  • B) Nascondere all'utente l'uso dell'intelligenza artificiale
  • C) Contrassegnare i dati che non vengono effettivamente raccolti nel modulo privacy
  • D) Caratteristiche promettenti che non esistono nella descrizione

Divulgazione: i negozi si aspettano trasparenza dei contenuti (dichiarazione che produce intelligenza artificiale), moderazione dei contenuti (filtro di output dannosi e notifiche agli utenti) e divulgazione dell'utilizzo dei dati da applicazioni contenenti intelligenza artificiale; Avviso di precisione richiesto nell'area sensibile. Le domande che omettono questi dati verranno respinte.

14. Perché la difesa "L'AI l'ha scritto in questo modo" non è valida quando si verifica un errore di caso limite nel codice pubblicato generato dall'IA?

  • R) Poiché l'intelligenza artificiale produce sempre codice privo di errori, l'errore viene dall'utente
  • B) Perché i negozi correggono automaticamente il codice generato dall'intelligenza artificiale
  • C) Perché la responsabilità non può essere trasferita all’intelligenza artificiale; Lo sviluppatore è responsabile del codice e dei dati pubblicati ✔
  • D) Perché il codice generato dall'intelligenza artificiale non viene mai messo in pratica

Descrizione: l'output dell'intelligenza artificiale è un punto di partenza, non un prodotto finito. È lo sviluppatore che è responsabile di ogni riga pubblicata, di ogni dato elaborato e di ogni promessa fatta; la responsabilità non può essere delegata all’intelligenza artificiale, quindi l’output deve essere compreso e testato prima della pubblicazione.