Satuan 11 / 11

Proyek End-to-End, Penggunaan Kecerdasan Buatan dan Peta Jalan yang Bertanggung Jawab dalam Profesi

Keuntungan:

  • Kemampuan untuk mengembangkan fitur seluler secara menyeluruh dan dapat diverifikasi dalam desain, kode, integrasi AI, privasi, pengujian, debugging, kinerja, dan langkah-langkah rilis
  • Kemampuan untuk menetapkan kerangka kerja penggunaan kecerdasan buatan yang bertanggung jawab dan etis dengan prinsip transparansi, akuntabilitas verifikasi, dan keadilan-non-kejahatan.
  • Mampu menciptakan praktik profesional yang berkelanjutan dengan membedakan bidang-bidang di mana kecerdasan buatan kuat dan lemah serta menyerahkan keputusan akhir di tangan manusia.

Sepanjang modul ini, kami menggunakan AI di setiap tahap pengembangan seluler: pembuatan kode, antarmuka, integrasi AI pada perangkat dan cloud, pengujian, debugging, kinerja, privasi, dan pengiriman toko. Dalam unit terakhir ini, kami akan menggabungkan semua bagian tersebut ke dalam satu alur menyeluruh, memperjelas kerangka kerja penggunaan AI yang bertanggung jawab dan etis, serta membahas cara mengubah keterampilan ini menjadi praktik profesional yang berkelanjutan. Pesan intinya tidak berubah, namun kini sudah menjadi kenyataan: AI adalah kekuatan yang melipatgandakan pengembang seluler yang kompeten; itu bukan pengganti. Oranglah yang bertanggung jawab atas kualitas, keamanan, dan janji produk kepada pengguna.

Fitur ujung ke ujung: menggabungkan bagian-bagian

Mengembangkan fitur nyata dari awal hingga akhir dengan dukungan AI menggabungkan setiap unit yang telah kami pelajari dalam sebuah rantai. Contoh: fitur "tambahkan pengeluaran dari tanda terima". Alurnya bekerja seperti ini:

  1. Desain (Unit 3). Draf layar dan empat status (memuat/kosong/kesalahan/penuh) dengan AI, minta aksesibilitas dari awal.
  2. Kode (Unit 2). Generate camera, data model and ViewModel layer by layer with MVVM; verifikasi setiap lapisan.
  3. AI pada perangkat (Unit 4). Baca jumlah/tanggal sejak penerimaan dengan pengenalan teks ML Kit; Pertimbangkan pra-pemrosesan dan penilaian keyakinan.
  4. Kerahasiaan (Unit 9). Minta izin kamera dengan hak istimewa paling sedikit, tulis skenario penolakan, simpan data di perangkat.
  5. Pengujian (Unit 6). Hasilkan pengujian unit dari logika ekstraksi, pengujian UI pada tampilan; Sertakan negara-negara perbatasan.
  6. Proses Debug (Unit 7). Minta AI menganalisis kerusakan berdasarkan konteks dan menyelesaikan akar permasalahannya.
  7. Kinerja (Unit 8). Ukur biaya baterai untuk pemrosesan kamera dan atur agar ramah baterai.
  8. Penyiaran (Unit 10). Laporkan penggunaan AI secara transparan, isi formulir privasi dengan jujur, dan lakukan tes mandiri.

Di setiap langkah, AI berakselerasi, manusia memverifikasi dan memutuskan. Loop ini adalah inti dari modul.

Tip: Jangan mencoba membuat AI melakukan fitur kompleks dengan satu permintaan besar. Bagi menjadi langkah-langkah yang dapat diverifikasi seperti di atas. Menguji keluaran setiap langkah dan melanjutkan ke langkah berikutnya lebih aman dan pada akhirnya lebih cepat; Karena Anda menemukan kesalahan besar bukan di akhir, tapi di langkah pertama.

Penggunaan AI yang bertanggung jawab dan etis

Kompetensi teknis saja tidak cukup; kerangka kerja yang bertanggung jawab melengkapinya. Tiga prinsip:

Transparansi. Pengguna harus tahu bahwa dia sedang berinteraksi dengan AI. AI rahasia adalah pelanggaran kepercayaan. Konten yang dihasilkan AI diberi tag; Nasihat AI disajikan sebagai “nasihat yang bermanfaat” dan bukan “kebenaran yang nyata”.

Verifikasi dan akuntabilitas. Keluaran AI adalah titik awal, bukan produk akhir. Anda bertanggung jawab atas setiap baris kode yang diterbitkan, setiap respons AI, setiap transaksi data. "AI menulisnya seperti itu" bukanlah pembelaan.

Keadilan dan tidak merugikan. Model AI dapat membawa bias dari data yang dilatihnya. Pengenalan wajah mungkin bekerja lebih buruk pada beberapa warna kulit, mesin rekomendasi mungkin mengecualikan grup tertentu. Anda bertanggung jawab untuk menguji apakah produk Anda berfungsi dengan baik di berbagai kelompok pengguna.

Perhatian: Teknik apa pun yang Anda pelajari di bidang TI dan keamanan hanya digunakan untuk tujuan yang sah dan konstruktif. Menggunakan AI untuk membuat malware, meretas aplikasi orang lain tanpa izin, mengumpulkan data pengguna tanpa izin, atau membuat konten menyesatkan adalah tindakan ilegal dan melanggar etika profesi. Ukuran kekuatan terungkap di mana Anda tidak menggunakannya.

Menyadari keterbatasan AI

Pengembang yang matang tahu di mana AI unggul dan di mana kekurangannya.

AI sangat kuat

AI lemah

Kode cetakan, produksi boilerplate

Keputusan produk dan arsitektur

Draf pengujian dan dokumentasi

Memahami konteks bisnis dan pengguna

Pembacaan log kerusakan, pemindaian kesalahan

Diagnosis akar penyebab pasti (diperlukan verifikasi)

Pembelajaran, penjelasan konsep

Informasi API terkini/tidak dibuat

Teks, deskripsi, terjemahan

Etika, keamanan dan keputusan akhir hukum

Menginternalisasi perbedaan ini adalah kunci untuk menggunakan AI secara efektif dan menghindari kelemahannya.

tiga kasus mini

Kasus 1 — Kecepatan ujung ke ujung. Salah satu pengembang solo menyelesaikan fitur "unplugged" dalam 4 hari dengan alur 8 langkah di atas; Tanpa AI perkiraannya 12 hari. Namun karena dia memverifikasi setiap langkah, publikasi tersebut disetujui untuk pertama kalinya. Kecepatan itu nyata karena disiplin itu nyata. Pelajaran: Verifikasi AI + lebih cepat daripada verifikasi AI.

Kasus 2 — Bias tertangkap. Saat menguji fitur prediksi kata benda-gender berbasis AI, sebuah tim menemukan kesalahan sistematis pada beberapa kata benda Turki; model ini dilatih pada sebagian besar data bahasa Inggris. Fiturnya diubah menjadi bertanya kepada pengguna, bukannya membuat asumsi yang salah. Pelajaran: tugas pengembang adalah menguji bias pelatihan model.

Kasus 3 — Pertahanan “AI bilang begitu” runtuh. Pengembang menerbitkan kode pembayaran yang dihasilkan AI tanpa memverifikasinya; Dalam satu kasus ekstrim, kode tersebut melakukan pengumpulan ganda. Tanggung jawab tidak hilang dengan mengatakan "AI yang menulisnya"; Sebagai pemegang akun, dia adalah seorang pengembang. Pelajaran: tanggung jawab tidak bisa didelegasikan.

Perintah lemah / Perintah kuat

Perintah lemah: "Tuliskan saya aplikasi pemindaian tanda terima lengkap."

Perintah yang kuat: "Bantu saya mengembangkan fitur 'tambah pengeluaran dari tanda terima' langkah demi langkah. Mari kita lanjutkan secara berurutan, ketika saya memverifikasi dan menyetujui setiap langkah, lanjutkan ke langkah berikutnya: 1) Layar + empat status + aksesibilitas2) Lapisan MVVM (kamera, model, ViewModel)3) Jumlah/tanggal membaca dari tanda terima dengan ML Kit + skor kepercayaan4) Izin kamera (hak istimewa paling rendah) + alur penolakan5) Tes unit dan UI Beri tahu saya risiko dan poin yang perlu saya verifikasi di setiap langkah."

Templat yang dapat disalin

Templat perencanaan menyeluruh: "Saya akan mengembangkan fitur berikut: [fitur]. Bagi menjadi langkah-langkah yang dapat diverifikasi: desain, kode, integrasi AI, privasi/izin, pengujian, kinerja, rilis. Tulis keluaran, risiko, dan kriteria verifikasi untuk setiap langkah. Jangan membuat satu produksi raksasa."

Templat audit etika/bias: "Audit fitur AI berikut untuk mengetahui kewajaran dan biasnya: [fitur]. Grup pengguna mana yang mungkin memiliki kinerja buruk? Bagaimana data pelatihan berdampak pada bias? Bagaimana cara mengujinya, bagaimana cara membuatnya lebih inklusif?"

Templat pemeriksaan akuntabilitas: "Buat daftar pertanyaan akuntabilitas yang harus saya tanyakan sebelum merilis kode/fitur yang dihasilkan AI ini: apakah saya memahaminya, sudahkah saya mengujinya, apakah aman, apakah transparan bagi pengguna, apakah legal/etika?"

Templat pembelajaran berkelanjutan: "Usulkan rencana praktis 4 minggu untuk meningkatkan keterampilan AI saya dalam pengembang seluler: satu topik setiap minggu (kode, integrasi, pengujian, rilis), dengan tujuan proyek kecil dan kebiasaan verifikasi."

Kesalahan umum

  • Menghasilkan fitur kompleks dengan satu permintaan besar. Tidak dapat diverifikasi; memecahnya menjadi beberapa langkah.
  • Menghindari tanggung jawab dengan mengatakan "AI yang menulis begitu". Anda bertanggung jawab atas kode yang dipublikasikan.
  • Tidak menguji bias AI. Model ini mungkin kurang berhasil pada beberapa kelompok; Uji keadilan.
  • Menyembunyikan interaksi AI dari pengguna. Transparansi adalah landasan kepercayaan.
  • Melupakan keterbatasan AI. Masyarakat mempunyai keputusan akhir mengenai arsitektur, etika, dan API saat ini.
  • Untuk berhenti belajar. Peralatan dan peraturan toko berubah dengan cepat; Tetap diperbarui secara konstan.

Singkatnya

Fitur end-to-end menggabungkan semua bagian modul dalam satu rantai: desain, kode, integrasi AI, privasi, pengujian, debugging, kinerja, dan rilis. Di setiap langkah, AI semakin cepat, manusia memverifikasi dan mengambil keputusan; Pekerjaan kompleks dipecah menjadi langkah-langkah kecil yang dapat diverifikasi. Penggunaan yang bertanggung jawab didasarkan pada tiga prinsip: transparansi, verifikasi-akuntabilitas dan keadilan-tidak merugikan. AI adalah pengganda yang sangat kuat, namun manusialah yang menentukan keputusan akhir mengenai arsitektur, etika, keamanan, dan pengetahuan terkini. “AI melakukannya seperti itu” bukanlah sebuah pembelaan; Anda bertanggung jawab atas produk Anda dan janji yang Anda buat kepada pengguna Anda. Dengan disiplin ini, AI membuat Anda lebih cepat, lebih komprehensif, dan lebih kuat sepanjang karier Anda.

Tugas aplikasi

Uraikan fitur seluler pilihan Anda (misalnya, "meringkas dengan membuat catatan suara" atau "pengenalan produk dari foto") menjadi langkah-langkah yang dapat diverifikasi dengan "template perencanaan menyeluruh". Kembangkan dan validasi setidaknya satu langkah dengan AI. Kemudian, analisis kelompok pengguna mana yang fiturnya mungkin menyebabkan masalah dengan "Template kontrol etika/bias" dan jawab pertanyaan yang perlu Anda tanyakan sebelum rilis dengan "Template kontrol liabilitas".

daftar periksa

  • [ ] Saya membagi fitur tersebut menjadi langkah-langkah kecil yang dapat diverifikasi, bukan satu produksi besar
  • [ ] Saya memverifikasi keluaran AI di setiap langkah dan membuat keputusan
  • [ ] Saya menyajikan interaksi AI secara transparan kepada pengguna
  • [ ] Saya mengevaluasi apakah fitur tersebut berfungsi secara adil/bias di berbagai kelompok
  • [ ] Saya menjawab pertanyaan tanggung jawab pra-pelepasliaran (dipahami/diuji/aman/etika)
  • [ ] Saya telah menggunakan AI hanya untuk tujuan yang kompeten dan konstruktif serta berencana untuk terus belajar

Ujian Modul

1. Manakah dari berikut ini yang merupakan penentuan posisi kecerdasan buatan dalam pengembangan seluler yang paling akurat?

  • A) AI menggantikan pengembang; dapat dipublikasikan langsung tanpa membaca kode yang dihasilkannya
  • B) Kecerdasan buatan hanya berfungsi dalam menulis teks, tidak ada hubungannya dengan pembuatan kode
  • C) Kecerdasan buatan adalah asisten dan akselerator; Tanggung jawab atas keputusan arsitektur, keamanan, dan penyiaran berada di tangan manusia ✔
  • D) Karena kecerdasan buatan selalu menghasilkan kode yang benar, pengujian dan verifikasi tambahan tidak diperlukan

Deskripsi: Kecerdasan buatan adalah asisten dan akselerator yang menghasilkan kode, cetak biru, dan solusi. Tanggung jawab dan persetujuan akhir atas keputusan seperti arsitektur, perizinan, keamanan dan publikasi berada di tangan pengembang yang kompeten; Manusia bertanggung jawab atas setiap baris yang diterbitkan.

2. Saat meminta kode seluler dari kecerdasan buatan, apa yang paling meningkatkan kualitas arsitektur kode yang dihasilkan?

  • A) Buat perintahnya sesingkat mungkin dan ucapkan 'tuliskan aplikasi untuk saya'
  • B) Pertama, terapkan arsitektur seperti MVVM dan minta kode dalam potongan kecil, lapis demi lapis ✔
  • C) Memproduksi seluruh fitur sebagai satu file raksasa dalam satu prompt
  • D) Jangan menentukan arsitekturnya sama sekali dan menyerahkan keputusan terbaik kepada kecerdasan buatan

Penjelasan: Menerapkan arsitektur seperti MVVM dan memerlukan lapisan demi lapisan sebelum menulis kode langsung ke AI menghasilkan struktur yang dapat diuji dan dipelihara yang memisahkan logika dari layar. Permintaan tanpa arsitektur mengembalikan kode yang menjejalkan semuanya ke layar.

3. Apa yang paling sering diabaikan saat membuat antarmuka dengan kecerdasan buatan dan apa yang paling penting dalam penggunaan nyata?

  • A) Merancang status pemuatan, kosong, dan kesalahan, bukan hanya layar penuh ✔
  • B) Hanya menghasilkan layar penuh dengan tampilan terbaik, melewatkan kasus lainnya
  • C) Menambahkan warna dan animasi sebanyak mungkin ke setiap layar
  • D) Membiarkan tag aksesibilitas bertahan dan hanya berurusan dengan tampilan

Penjelasan: Pengembang seringkali hanya mempertimbangkan keadaan 'penuh'; padahal pada kenyataannya pengguna paling banyak menjumpai status memuat, kosong, dan error. Menghasilkan keempat status (memuat/kosong/kesalahan/penuh) adalah rahasia antarmuka yang kuat.

4. Mengapa AI pada perangkat sering kali menjadi pilihan default untuk fitur yang memproses data pribadi sensitif (misalnya pengukuran kesehatan)?

  • A) Model di perangkat selalu lebih akurat dibandingkan model cloud
  • B) Pemrosesan pada perangkat tidak memerlukan biaya baterai atau prosesor
  • C) Pemrosesan pada perangkat tidak terbatas dalam hal ukuran model
  • D) Karena data tidak keluar dari ponsel, ini memberikan keuntungan kuat dalam hal privasi dan kepercayaan pengguna ✔

Penjelasan: Pemrosesan pada perangkat tidak menghapus data dari ponsel; Ini merupakan keuntungan besar dalam hal kepatuhan privasi dan kepercayaan pengguna, ditambah lagi berfungsi secara offline dan instan. Batasannya adalah kekuatan perangkat dan ukuran model.

5. Kesalahan 'diam' apa yang paling umum menyebabkan hasil tidak berarti dan tidak menghasilkan pesan kesalahan dalam integrasi model pada perangkat?

  • A) Salah ejaan nama file model
  • B) Resolusi rendah dari ikon aplikasi
  • C) Pemrosesan awal input (ukuran/normalisasi) salah ✔
  • D) Tema layar gelap

Penjelasan: Melakukan input preprocessing yang salah akan menghasilkan hasil yang benar-benar salah tanpa menimbulkan kesalahan. Nilai pra-pemrosesan harus diverifikasi dari dokumentasi model.

6. Aturan keamanan apa yang paling penting saat mengintegrasikan cloud LLM ke dalam aplikasi seluler?

  • A) Kunci API hanya boleh disimpan di backend, bukan di klien; permintaan harus melalui proxy ✔
  • B) Kunci API harus ditanamkan langsung ke dalam kode aplikasi untuk kenyamanan
  • C) Kunci API harus dibagikan dalam deskripsi aplikasi
  • D) Kunci API harus disimpan di klien dan disembunyikan hanya dengan mengubah namanya.

Pengungkapan: Kunci API tidak pernah tertanam dalam kode aplikasi seluler; karena aplikasi dapat direkayasa balik dan kuncinya diekstraksi. Arsitektur yang benar adalah menyimpan kunci hanya di backend dan meneruskan permintaan melalui server proxy Anda sendiri.

7. Apa yang paling meningkatkan kecepatan yang dirasakan pengguna dan tingkat penyelesaian fitur dalam jawaban LLM yang panjang?

  • A) Menunggu hingga seluruh jawaban dihasilkan dan ditampilkan sekaligus
  • B) Menampilkan jawaban kata demi kata, seperti yang dihasilkan, dengan streaming ✔
  • C) Mengirim seluruh riwayat obrolan ke model dengan setiap permintaan
  • D) Memperbesar instruksi model untuk memperluas respons sebanyak mungkin

Deskripsi: Streaming secara dramatis meningkatkan kecepatan dan kelancaran yang dirasakan dengan menampilkan respons yang dihasilkan kata demi kata. Daripada menunggu di layar kosong, pengguna melihat bentuk teks; Hal ini secara signifikan mengurangi tingkat pengabaian.

8. Apa masalah paling umum dalam tes yang dihasilkan oleh kecerdasan buatan yang membuat tes tersebut tidak berguna?

  • A) Pengujian mencakup terlalu banyak status batas
  • B) Pengujian menggunakan objek tiruan, bukan layanan nyata
  • C) Tes berjalan sangat cepat
  • D) Cakupan membengkak dengan tes kosong/tidak berguna yang tidak benar-benar memvalidasi suatu perilaku ✔

Penjelasan: Kecerdasan buatan terkadang menghasilkan pengujian yang tidak benar-benar memverifikasi keluaran apa pun (misalnya, panggil saja fungsi tersebut dan tulis pernyataan kosong). Hal ini meningkatkan jumlah cakupan namun tidak memberikan perlindungan nyata; Setiap pengujian harus diperiksa untuk memverifikasi perilaku yang bermakna.

9. Mengapa solusi untuk membungkam kecelakaan tidak cukup dengan melakukan uji coba menggunakan saran kecerdasan buatan?

  • A) try-catch tidak dapat digunakan sama sekali di aplikasi seluler
  • B) Kecelakaan berhenti, tetapi karena akar permasalahannya tidak terselesaikan, masalah kembali muncul dalam bentuk yang berbeda ✔
  • C) Menggunakan try-catch memperlambat aplikasi, sehingga dilarang
  • D) Kesalahan yang dibungkam secara otomatis ditolak oleh toko

Penjelasan: Membungkam gejala tidak menyelesaikan akar permasalahan; Kerusakan berhenti, namun masalah awal (misalnya koneksi data terputus) kembali dalam bentuk lain (misalnya kehilangan data). Tujuan dalam debugging profesional adalah untuk menyelesaikan akar permasalahan, bukan gejalanya.

10. Apa aturan dasar yang harus diikuti dalam pengoptimalan kinerja?

  • A) Pertama ambil profil dan ukur hambatan sebenarnya, lalu optimalkan ✔
  • B) Menebak mana yang lambat dan berkonsentrasi disana
  • C) Mengejar keuntungan kecil di setiap fungsi
  • D) Mengukur kinerja pada emulator dan tidak pernah mencoba perangkat sebenarnya

Deskripsi: Ukur dulu, optimalkan nanti. Kemacetan sebenarnya hampir selalu terjadi di lokasi yang berbeda dari perkiraan; Pengoptimalan tanpa pembuatan profil hanyalah sebuah tebakan belaka dan sering kali hanya membuang-buang tenaga.

11. Apa permasalahan teknik yang paling penting untuk fitur AI yang terus berjalan (misalnya terjemahan kamera langsung)?

  • A) Fitur ini meminta izin sebanyak mungkin
  • B) Mengelola biaya baterai dan prosesor untuk pemrosesan berkelanjutan dengan frekuensi pengambilan sampel dan pemrosesan batch ✔
  • C) Hanya menjalankan fitur ini pada ponsel termahal
  • D) Terus merender kamera pada kecepatan bingkai setinggi mungkin

Deskripsi: Model, kamera, dan jaringan yang terus berfungsi; Ini dapat dengan cepat menghabiskan baterai, memanaskan perangkat, dan dibatasi oleh sistem. Mengurangi frekuensi pengambilan sampel, batching, dan menjalankan hanya jika diperlukan adalah cara untuk mengelola biaya baterai.

12. Apa yang dimaksud dengan prinsip 'hak istimewa paling rendah' ​​dalam pengelolaan izin dalam pengembangan seluler?

  • A) Meminta semua izin yang mungkin saat startup, untuk berjaga-jaga.
  • B) Membuat aplikasi tidak dapat dioperasikan jika izin ditolak
  • C) Meminta izin seluas-luasnya dan berencana mempersempitnya nanti.
  • D) Hanya meminta izin yang benar-benar diperlukan, bila diperlukan dan dalam ruang lingkup yang paling sempit, dengan skenario penolakan ✔

Penjelasan: Hak istimewa yang paling kecil adalah hanya meminta izin yang benar-benar diperlukan, pada saat diperlukan, dan sesempit mungkin. Terlalu banyak izin akan merusak kepercayaan pengguna, menyebabkan penolakan penyimpanan, dan meningkatkan risiko kebocoran data.

13. Persyaratan khusus apa yang harus dipenuhi saat menyajikan aplikasi dengan kecerdasan buatan ke toko?

  • A) Transparansi konten, kontrol konten dan pengungkapan data menuju kecerdasan buatan dalam bentuk kerahasiaan ✔
  • B) Menyembunyikan penggunaan kecerdasan buatan dari pengguna
  • C) Menandai data yang sebenarnya tidak dikumpulkan dalam formulir privasi
  • D) Fitur-fitur menjanjikan yang tidak ada dalam deskripsi

Pengungkapan: Toko mengharapkan transparansi konten (pernyataan bahwa mereka menghasilkan AI), moderasi konten (penyaringan keluaran berbahaya dan pemberitahuan pengguna), dan pengungkapan penggunaan data dari aplikasi yang mengandung kecerdasan buatan; Peringatan akurasi diperlukan di area sensitif. Permohonan yang menghilangkan hal ini akan ditolak.

14. Mengapa pertahanan 'AI menulis seperti itu' tidak valid ketika terjadi kesalahan kasus tepi dalam kode yang dihasilkan AI yang dipublikasikan?

  • A) Karena kecerdasan buatan selalu menghasilkan kode bebas kesalahan, kesalahan berasal dari pengguna
  • B) Karena secara otomatis menyimpan kode yang dihasilkan AI dengan benar
  • C) Karena tanggung jawab tidak dapat dialihkan ke kecerdasan buatan; Pengembang bertanggung jawab atas kode dan data yang dipublikasikan ✔
  • D) Karena kode yang dihasilkan kecerdasan buatan tidak pernah ditayangkan

Deskripsi: Keluaran AI adalah titik awal, bukan produk akhir. Pengembanglah yang bertanggung jawab atas setiap baris yang dipublikasikan, setiap data yang diproses, dan setiap janji yang dibuat; tanggung jawab tidak dapat didelegasikan kepada AI, sehingga keluarannya harus dipahami dan diuji sebelum dipublikasikan.