Добивки:
- Способност за развој на мобилна функција од крај до крај и проверлива во дизајнот, кодот, интеграцијата на вештачката интелигенција, приватноста, тестирањето, дебагирањето, перформансите и чекорите за ослободување
- Способност да се воспостави рамка за одговорно и етичко користење на вештачката интелигенција со принципите на транспарентност, верификација-отчетност и праведност-незлосторност.
- Способност да се создаде одржлива професионална практика со разликување на областите каде вештачката интелигенција е силна и слаба и чување на конечната одлука во рацете на луѓето.
Во текот на овој модул, користевме вештачка интелигенција во секоја фаза од развојот на мобилниот телефон: генерирање код, интерфејс, интеграција на вештачката интелигенција на уредот и облакот, тестирање, дебагирање, перформанси, приватност и испорака во продавницата. Во оваа последна единица, ќе ги комбинираме сите овие делови во еден тек од крај до крај, ќе ја разјасниме рамката за одговорно и етичко користење на вештачката интелигенција и ќе разговараме за тоа како да ги претвориме овие вештини во одржлива професионална пракса. Основната порака не е променета, но сега е цврсто воспоставена: вештачката интелигенција е сила која мултиплицира компетентен развивач на мобилни телефони; тоа не е замена. Лицето е одговорно за квалитетот, безбедноста и ветувањето на производот на корисникот.
Карактеристика од крај до крај: комбинирање делови
Развивањето на вистинска карактеристика од почеток до крај со поддршка за вештачка интелигенција ја комбинира секоја единица што сме ја научиле во синџир. Пример: функција „додај трошок од потврда“. Протокот работи вака:
- Дизајн (Unit 3). Нацртајте го екранот и четирите состојби (вчитување/празна/грешка/полна) со вештачка интелигенција, побарајте пристапност од почеток.
- Шифра (Unit 2). Генерирајте камера, модел на податоци и ViewModel слој по слој со MVVM; проверете го секој слој.
- ВИ на уредот (Единица 4). Прочитајте го износот/датумот од приемот со препознавање текст ML Kit; Размислете за претобработка и бодување на доверба.
- Доверливост (Unit 9). Побарајте дозвола за камерата со најмала привилегија, напишете го сценариото за одбивање, чувајте ги податоците на уредот.
- Тестирање (Unit 6). Генерирање единица тестови на логиката на екстракција, UI тестирање на екранот; Вклучете ги пограничните држави.
- Дебагирање (Единица 7). Вештачката интелигенција нека ги анализира падовите со контекст и да ја реши основната причина.
- Изведба (Оддел 8). Измерете ја цената на батеријата за обработка на фотоапаратот и поставете ја погодна за батеријата.
- Емитување (Единица 10). Транспарентно пријавете ја употребата на вештачка интелигенција, вистинито пополнете го формуларот за приватност и спроведете самотестирање.
На секој чекор, вештачката интелигенција забрзува, човекот проверува и одлучува. Оваа јамка е јадрото на модулот.
Совет: Не обидувајте се да ја натерате вештачката интелигенција да направи сложена функција со едно огромно барање. Поделете го на проверливи чекори како погоре. Тестирањето на излезот од секој чекор и преминувањето на следниот е и побезбедно и на крајот побрзо; Затоа што фаќате голема грешка не на крајот, туку на првиот чекор.
Одговорна и етичка употреба на вештачката интелигенција
Само техничката компетентност не е доволна; одговорна рамка го комплетира. Три принципи:
Транспарентност. Корисникот мора да знае дека тој или таа е во интеракција со вештачката интелигенција. Тајната вештачка интелигенција е прекршување на довербата. Содржината генерирана од вештачка интелигенција е означена; Советите за вештачка интелигенција се претставени како „корисен совет“ наместо „тврда вистина“.
Верификација и одговорност. Излезот на вештачката интелигенција е почетна точка, а не готов производ. Вие сте одговорни за секоја објавена линија на код, секој одговор на вештачка интелигенција, секоја трансакција со податоци. „Ви го напиша тоа така“ не е одбрана.
Правда и незлобност. Моделите со вештачка интелигенција можат да носат предрасуди од податоците за кои се обучени. Препознавањето на лицето може да работи полошо на некои бои на кожата, а моторот за препораки може да исклучи група. Ваша одговорност е да тестирате дали вашиот производ работи прилично кај различни групи корисници.
Внимание: Секоја техника што ќе ја научите од областа на ИТ и безбедноста се користи само за овластени и конструктивни цели. Користењето вештачка интелигенција за создавање малициозен софтвер, кршење туѓа апликација без дозвола, собирање податоци за корисникот без согласност или производство на погрешна содржина е нелегално и против етиката на професијата. Мерката за моќ се открива таму каде што не ја користите.
Препознавање на границите на вештачката интелигенција
Зрелиот развивач знае каде сјае вештачката интелигенција и каде отпаѓа.
ВИ е моќна
ВИ е слаба
Код на мувла, производство на котли
Производни и архитектонски одлуки
Тестирање и нацрт документација
Разбирање на деловниот контекст и корисникот
Читање на дневникот за падови, скенирање на грешки
Дефинитивна дијагноза на основната причина (потребна е потврда)
Учење, објаснување на концептот
Тековни/нефабрикувани информации за API
Текст, опис, превод
Етика, безбедност и правна конечна одлука
Внатрешноста на оваа разлика е клучна за ефикасно користење на вештачката интелигенција и избегнување на нејзините стапици.
три мини футроли
Случај 1 - Брзина од крај до крај. Еден соло програмер ја заврши функцијата „исклучен“ за 4 дена со протокот од 8 чекори погоре; Без вештачка интелигенција проценката беше 12 дена. Но, бидејќи тој го проверуваше секој чекор, објавувањето беше одобрено првиот пат. Брзината беше реална затоа што дисциплината беше вистинска. Лекција: AI + проверката е побрза од AI - верификацијата.
Случај 2 - Уловена пристрасност. При тестирањето на функцијата за предвидување именки-род врз основа на вештачка интелигенција, тим забележал систематски грешки кај некои турски именки; моделот беше обучен главно на англиски податоци. Функцијата е променета да го прашува корисникот наместо да прави погрешна претпоставка. Поука: работа на развивачот е да ја тестира пристрасноста за обука на моделот.
Случај 3 - Одбраната „Ви рече така“ пропадна. Програмер објави код за плаќање генериран со вештачка интелигенција без да го потврди; Во еден екстремен случај кодот правеше двојни колекции. Одговорноста не се отстранува со кажување „ВИ го напиша тоа“; Како сопственик на сметка, тој беше развивач. Поука: одговорноста не може да се делегира.
Слаб промпт / Силен промпт
Слаба порака: „Напишете ми целосна апликација за скенирање на сметките“.
Моќен потсетник: „Помогнете ми да ја развијам функцијата „додај трошок од сметката“ чекор по чекор. Ајде да продолжиме по редослед, кога ќе го потврдам и одобрувам секој чекор, ќе преминеме на следниот: 1) Екран + четири состојби + пристапност2) слоеви на MVVM (камера, модел, ViewModel) 3) Читање износ/датум од КМЛ оценка по доверба на камерата) привилегија) + проток на отфрлање5) Тестови за единица и кориснички интерфејс Кажете ми ги ризиците и точките што треба да ги проверам на секој чекор."
Шаблони за копирање
Шаблон за планирање од крај до крај: „Ќе ја развијам следнава карактеристика: [функција]. Поделете ја на чекори што може да се проверат: дизајн, код, интеграција со вештачка интелигенција, приватност/дозвола, тестирање, перформанси, објавување. Напишете ги резултатите, ризикот и критериумите за проверка за секој чекор. Не правете ниту едно џиновско производство“.
Шаблон за ревизија за етика/пристрасност: „Проверете ја следнава карактеристика на вештачка интелигенција за праведност и пристрасност: [функција]. Кои кориснички групи би можеле да работат лошо? Како податоците од обуката влијаат на пристрасноста? Како да ги тестирам, како да ги направам поинклузивни?“
Шаблон за проверка на отчетноста: „Наведете ги прашањата за одговорност што треба да ги поставам пред да ја објавам оваа шифра/функција генерирана со вештачка интелигенција: дали го разбрав, дали го тестирав, дали е безбеден, дали е транспарентен за корисникот, дали е легален/етичен?“
Шаблон за континуирано учење: „Предложи 4-неделен практичен план за подобрување на мојата вештачка интелигенција кај развивачот на мобилни телефони: една тема секоја недела (код, интеграција, тестирање, објавување), со цел мал проект и навика за верификација“.
Вообичаени грешки
- Производство на сложена карактеристика со едно огромно барање. Не може да се потврди; разделете го на чекори.
- Избегнување одговорност со велејќи „Ви напиша така“. Вие сте одговорни за објавениот код.
- Не се тестира за пристрасност на вештачката интелигенција. Моделот може да работи лошо во некои групи; Тест на правдата.
- Сокривање на интеракцијата со вештачка интелигенција од корисникот. Транспарентноста е основата на довербата.
- Заборавајќи ги ограничувањата на вештачката интелигенција. Луѓето го имаат последниот збор за архитектурата, етиката и сегашното API.
- Да престане да учи. Алатките и правилата за продавница брзо се менуваат; Останете постојано ажурирани.
Сумирано
Функцијата од крај до крај ги комбинира сите делови на модулот во синџир: дизајн, код, интеграција со вештачка интелигенција, приватност, тестирање, дебагирање, перформанси и ослободување. На секој чекор, вештачката интелигенција забрзува, човекот проверува и одлучува; Комплексната работа е поделена на мали проверливи чекори. Одговорното користење се заснова на три принципи: транспарентност, верификација-одговорност и правичност-не прави штета. ВИ е моќен мултипликатор, но луѓето го имаат последниот збор за архитектурата, етиката, безбедноста и тековното знаење. „Ви го направи тоа така“ не е одбрана; Вие сте одговорни за вашиот производ и ветувањето што му го давате на вашиот корисник. Со оваа дисциплина, вештачката интелигенција ве прави побрзи, посеопфатни и посилни во текот на вашата кариера.
Задача за апликација
Разложете ја мобилната карактеристика по ваш избор (на пр. „сумирање со правење гласовни белешки“ или „препознавање на производот од фотографија“) во чекори што може да се проверат со „шаблон за планирање од крај до крај“. Развијте и потврдете барем еден чекор со вештачката интелигенција. Потоа, анализирајте кои групи корисници функцијата може да предизвика проблеми со „шаблонот за контрола на етика/пристрасност“ и одговорете на прашањата што треба да ги поставите пред објавувањето со „шаблонот за контрола на одговорноста“.
листа за проверка
- [ ] Ја скршив функцијата на проверливи мали чекори, ниту една џиновска продукција
- [ ] Го потврдив излезот на вештачката интелигенција на секој чекор и ја донесов одлуката
- [ ] Ја претставив интеракцијата на вештачката интелигенција транспарентно на корисникот
- [ ] Проценив дали функцијата работи прилично/пристрасно кај различни групи
- [ ] Одговорив на прашања за одговорност пред објавувањето (разбрано/тестирање/безбедно/етичко)
- [ ] Ја користев вештачката интелигенција само за компетентни и конструктивни цели и планирам да продолжам да учам
Модул испит
1. Кое од наведеното е најточно позиционирање на вештачката интелигенција во развојот на мобилни телефони?
- А) ВИ го заменува развивачот; може да се објави директно без да се чита кодот што го генерира
- Б) Вештачката интелигенција работи само во пишување текст, нема врска со генерирање кодови
- В) Вештачката интелигенција е асистент и акцелератор; Одговорноста за архитектонските, безбедносните и одлуките за емитување е на луѓето ✔
- Г) Бидејќи вештачката интелигенција секогаш произведува точен код, дополнителните тестирања и верификација се непотребни
Опис: Вештачката интелигенција е асистент и акцелератор кој генерира код, нацрти и решенија. Одговорноста и конечното одобрување на одлуките како што се архитектурата, дозволите, безбедноста и објавувањето е на надлежниот развивач; Луѓето се одговорни за секој објавен ред.
2. Кога се бара мобилен код од вештачка интелигенција, што најмногу го зголемува архитектонскиот квалитет на произведениот код?
- А) Чувајте го известувањето што е можно пократко и кажете „напиши ми апликација“
- Б) Прво, наметнете архитектура како MVVM и побарајте го кодот на мали парчиња, слој по слој ✔
- В) Производство на целата функција како единствена џиновска датотека во една порака
- Г) Воопшто не ја специфицирајте архитектурата и оставете ја најдобрата одлука на вештачката интелигенција
Објаснување: Наметнувањето архитектура како MVVM и барањето слој по слој пред да се напише код директно на вештачката интелигенција, создава структура која може да се тестира и одржува што ја одвојува логиката од екранот. Барањето без архитектура враќа код кој набива сè на екранот.
3. Што најчесто се занемарува при креирањето на интерфејс со вештачка интелигенција и што е најкритично во реалната употреба?
- А) Дизајнирање на вчитување, празни состојби и состојби на грешка, не само на цел екран ✔
- Б) Производство на цел екран само со најубав изглед, прескокнувајќи ги другите случаи
- В) Додавање што повеќе бои и анимации на секој екран
- Г) Оставањето на ознаките за пристапност последни и само со изгледот
Објаснување: Програмерите често ја разгледуваат само „целосната“ состојба; додека во реалноста корисникот најчесто наидува на вчитување, празни и состојби на грешка. Генерирањето на сите четири состојби (вчитување/празна/грешка/полно) е тајната на робусниот интерфејс.
4. Зошто вештачката интелигенција на уредот често е стандардниот избор за функција која обработува чувствителни лични податоци (на пр. мерење на здравјето)?
- А) Моделите на уредот се секогаш попрецизни од облакот
- Б) Обработката на уредот никогаш не предизвикува трошоци за батерија или процесор
- В) Обработката на уредот е неограничена во однос на големината на моделот
- Г) Бидејќи податоците не го напуштаат телефонот, тие обезбедуваат силна предност во однос на приватноста и довербата на корисниците ✔
Објаснување: Обработката на уред не ги отстранува податоците од телефонот; Ова е силна предност во однос на почитувањето на приватноста и довербата на корисниците, плус работи офлајн и моментално. Нејзината граница е моќноста на уредот и големината на моделот.
5. Која е најчестата „тивка“ грешка што предизвикува бесмислени резултати и не произведува порака за грешка во интеграцијата на моделот на уредот?
- А) Погрешен правопис на името на датотеката на моделот
- Б) Ниска резолуција на иконата на апликацијата
- В) Неточна претобработка на влезот (големина/нормализација) ✔
- Г) Тема на темниот екран
Објаснување: Неправилно извршување на претпроцесирање на влезовите ќе произведе сосема погрешни резултати без фрлање грешки. Вредностите за предобработка треба да се проверат од документацијата на моделот.
6. Кое е безбедносно најкритичното правило при интегрирање на cloud LLM во мобилна апликација?
- А) Клучот API треба да се чува само во задниот дел, а не на клиентот; барањата мора да поминат преку прокси ✔
- Б) Клучот API треба да биде вграден директно во кодот на апликацијата за погодност
- В) клучот API треба да се сподели во описот на апликацијата
- Г) Клучот API треба да се чува во клиентот и да се скрие само со промена на името.
Обелоденување: клучот API никогаш не е вграден во кодот на мобилната апликација; затоа што апликацијата може да се конструира обратно и клучот да се извлече. Правилната архитектура е да го задржите клучот само во задниот дел и да ги пренесувате барањата преку вашиот сопствен прокси-сервер.
7. Што најмногу ја зголемува брзината што ја согледува корисникот и стапката на завршување на функциите во долгите LLM одговори?
- А) Се чека додека не се произведе целиот одговор и се прикажува одеднаш
- Б) Прикажување на одговорот збор по збор, како што е произведен, со стриминг ✔
- В) Испраќање на целата историја на разговор до моделот со секое барање
- Г) Зголемете ја инструкцијата за моделот за да го проширите одговорот колку што е можно повеќе
Опис: Стримингот драматично ја зголемува воочената брзина и флуентност со прикажување на одговорот како што се произведува збор по збор. Наместо да чека на празен екран, корисникот ја гледа текстуалната форма; Ова значително ја намалува стапката на напуштање.
8. Кој е најчестиот проблем во тестовите произведени од вештачката интелигенција што го прави тестот безвреден?
- А) Тестовите покриваат премногу гранични состојби
- Б) Тестовите користат лажни предмети, а не вистински услуги
- В) Тестовите се одвиваат многу брзо
- Г) Надуеност на опсегот со празни/бескорисни тестови кои всушност не потврдуваат однесување ✔
Објаснување: Вештачката интелигенција понекогаш произведува тестови кои всушност не потврдуваат никаков излез (на пример, само повикајте ја функцијата и напишете празно тврдење). Тие го надувуваат бројот на покриеност, но не обезбедуваат вистинска заштита; Секој тест мора да се провери за да се потврди значајното однесување.
9. Зошто не е доволно решение да се замолчи несреќата со тоа што ќе го ставите во обид со предлог за вештачка интелигенција?
- А) try-catch воопшто не може да се користи во мобилни апликации
- Б) Несреќата престанува, но бидејќи основната причина не е решена, проблемот се враќа во друга форма ✔
- В) Користењето try-catch ја успорува апликацијата, па затоа е забрането
- Г) Замолчената грешка продавницата автоматски ја одбива
Објаснување: Премолчувањето на симптомот не ја решава основната причина; Несреќата престанува, но првобитниот проблем (на пр. прекината врска со податоци) се враќа во друга форма (на пр. загуба на податоци). Целта на професионалното дебагирање е да се реши основната причина, а не симптомот.
10. Кое е основното златно правило кое треба да се следи при оптимизација на перформансите?
- А) Прво земете профил и измерете го вистинското тесно грло, а потоа оптимизирајте го ✔
- Б) Погодување каде е бавно и концентрирање таму
- В) Бркање мали добивки во секоја функција
- Г) Мерење на перформансите на емулаторот и никогаш не пробување на вистинскиот уред
Опис: Прво мери, подоцна оптимизирај. Вистинското тесно грло е скоро секогаш на различна локација од предвиденото; Оптимизацијата без профилирање е слепа претпоставка и често е губење напор.
11. Која е најважната инженерска грижа за функцијата за вештачка интелигенција која постојано работи (на пр. превод со камера во живо)?
- А) Функцијата бара што е можно повеќе дозволи
- Б) Управување со трошоците за батерија и процесор за континуирана обработка со фреквенција на земање примероци и сериска обработка ✔
- В) Работете ја функцијата само на најскапите телефони
- Г) Континуирано прикажување на камерата со највисока можна стапка на слики
Опис: Постојано работи модел, камера и мрежа; Може брзо да ја потроши батеријата, да го загрее уредот и да биде ограничен од системот. Намалување на фреквенцијата на земање примероци, сериско користење и работа само кога е потребно се начини за управување со цената на батеријата.
12. Што значи принципот на „најмалку привилегија“ во управувањето со дозволи во развојот на мобилниот телефон?
- А) Барање на сите можни дозволи при стартување, за секој случај.
- Б) Ставање на апликацијата нефункционална ако дозволата е одбиена
- В) Барање најширока дозвола и планирање да се намали подоцна.
- Г) Барање само дозвола што всушност е потребна, кога е потребно и во најтесниот опсег, со сценарио за отфрлање ✔
Објаснување: Најмалата привилегија е да се бара само дозвола што е всушност потребна, кога е потребна, и во најтесна можна мера. Премногу дозволи ја поткопуваат довербата на корисниците, доведуваат до отфрлање на продавницата и го зголемуваат ризикот од истекување на податоци.
13. Кои специфични барања мора да се исполнат при презентирање на апликација со вештачка интелигенција во продавницата?
- А) Транспарентност на содржината, контрола на содржината и откривање на податоците од вештачката интелигенција во форма на доверливост ✔
- Б) Криење на употребата на вештачка интелигенција од корисникот
- В) Обележување податоци што всушност не се собрани во формуларот за приватност
- Г) Ветувачки карактеристики кои не постојат во описот
Обелоденување: Продавниците очекуваат транспарентност на содржината (изјава дека произведува вештачка интелигенција), умереност на содржината (филтрирање на штетен излез и известување на корисниците) и откривање на користењето податоци од апликациите што содржат вештачка интелигенција; Потребно е предупредување за точност во чувствителните области. Апликациите што ќе ги испуштат овие ќе бидат отфрлени.
14. Зошто одбраната „ВИ го напишал така“ е невалидна кога ќе се појави грешка на рабовите во објавениот код генериран од вештачката интелигенција?
- А) Бидејќи вештачката интелигенција секогаш произведува код без грешки, грешката доаѓа од корисникот
- Б) Бидејќи продавниците автоматски го коригираат кодот генериран од вештачката интелигенција
- В) Бидејќи одговорноста не може да се пренесе на вештачката интелигенција; Програмерот е одговорен за објавениот код и податоци ✔
- Г) Бидејќи кодот генериран од вештачка интелигенција никогаш не се става во живо
Опис: Излезот со вештачка интелигенција е почетна точка, а не готов производ. Програмерот е одговорен за секоја објавена линија, за секој обработен податок и за секое дадено ветување; одговорноста не може да се делегира на ВИ, така што излезот мора да се разбере и тестира пред објавувањето.