Добивки:
- Да се биде способен да разликува каде вештачката интелигенција обезбедува вистинска брзина во развојот на мобилниот телефон (шифра на шаблон, нацрт, учење) и каде (архитектура, дозвола, безбедност, објавување) одлуката е препуштена на човекот, во зависност од нивото на ризик на задачата.
- Способност да се примени дисциплина која го потврдува секој излез од вештачката интелигенција преку компајлирање, тестирање и прегледување чекори
- Способност да се развие навика за пишување силни, контекстуални потсетници и заштита на личните податоци и тајните клучеви без да се даваат на вештачката интелигенција
Развојот на мобилни апликации е едно од најконкурентните софтверски полиња во светот. Станува збор за производ кој работи на милијарди уреди, чиј циклус на ажурирање зависи од одобрението во продавницата и се мери во џебот на корисникот постојано. Вештачката интелигенција (AI — софтверски системи што можат да произведуваат текст, код и решенија како луѓето) влезе во ова поле на два начина: прво, како помошно средство што го забрзува процесот на развој (генерирање кодови, дебагирање, пишување тестови) и второ, како способност вградена во апликацијата (препознавање слики на уредот, помошник за разговор, мотор за препораки). Овој модул ги учи и двете од крај до крај. Но, ајде да заковаме една реченица од самиот почеток: ВИ не го заменува развивачот на мобилни телефони; ја проширува својата продуктивност и опсег. Вие сте одговорни за секоја издадена линија код, за секоја побарана дозвола и за секоја трансакција направена со кориснички податоци.
Во оваа единица, ќе видиме каде вештачката интелигенција произведува вистинска вредност во развојот на мобилниот телефон, каде мора да се предаде на луѓето, како да се потврди секој излез и зошто дисциплината за заштита на приватноста не може да се преговара.
Каде ВИ е корисна во развојот на мобилни телефони?
Развојот на мобилниот телефон се состои од многу повторувачки и шарени задачи: пишување код за преглед, поставување на слој за мрежно барање, дефинирање на модел на податоци, производство на тест случај, решавање на пораката за грешка. ВИ ги произведува овие обрасци многу брзо. Спротивно на тоа, архитектонските одлуки, преференциите за корисничко искуство, безбедносните граници и точноста на деловната логика се доменот на луѓето.
Корисно е да се поделат задачите во три корпи врз основа на нивото на ризик:
Тип на задача
Улогата на вештачката интелигенција
улогата на човекот
Шифра на шаблон (бојлер плоча), екран на примерок, конверзија
Генерира нацрт, го забрзува
Осврти, интегрира
Деловна логика, проток на податоци, интеграција на API
Дава предлози и нацрти
Проверува, тестира, потврдува
Архитектура, барање дозвола, безбедност, одлука за емитување
Набројува опции и оправдувања
Донесува одлука и ја носи одговорноста
Оваа табела ќе биде нашиот компас низ модулот. Десната колона никогаш не се предава на вештачката интелигенција.
Совет: Помислете на вештачката интелигенција како „многу брз, но неискусен практикант“. Му давате јасна задача, го читате неговиот отпечаток, го ставате на тест и преземате одговорност. Не го испраќате кодот произведен од практикантот во продукција (околина во живо) без да го прочитате; Истото правило важи и за вештачката интелигенција.
Дисциплина за верификација: три чекори
Текстот за вештачка интелигенција е флуиден и изгледа самоуверено; Но, флуентноста не е точност. Вештачката интелигенција понекогаш одговара на библиотечната функција која не постои (ова се нарекува халуцинација - моделот што самоуверено произведува нешто што всушност не постои). Еве го филтерот во три чекори што развивачот на мобилни телефони го применува на секој излез на вештачка интелигенција:
- Компајлирајте и стартувајте. Дали кодот всушност се компајлира, дали апликацијата се отвора? Дали API-то предложено од вештачката интелигенција навистина е во SDK (комплет за развој на софтвер - готовиот сет на алатки што ги нуди платформата)?
- Тестирајте го. Тестирајте го очекуваното однесување автоматски или рачно. „Се чини дека функционира“ не е доволно; Обидете се со edge case (податоци во мирување, без мрежа, одбиена дозвола).
- Прегледајте и оправдајте. Дали разбирате зошто кодот е напишан на овој начин? Не објавувајте код што не го разбирате. Прашајте ја вештачката интелигенција „што прави оваа линија, зошто е потребна? прашај.
Внимание: Броевите на верзиите, имињата на библиотеките и потписите на API обезбедени од YZ може да се застарени или измислени. Не може да знае за ажурирањата објавени по датумот на исклучување (последниот датум кога моделот бил обучен). Секогаш проверувајте ја критичната зависност од официјалната документација (Apple Developer, Android Developers).
три мини футроли
Случај 1 - Забрзување на развојот на екранот. Тим за е-трговија го подготви екранот со детали за производот со помош на вештачка интелигенција од Jetpack Compose (современ комплет алатки за интерфејс на Android). Првиот нацрт, кој вообичаено трае 2 дена, излезе за 3 часа. Но, тимот откри на тестот дека форматирањето на цената произведено од вештачката интелигенција неправилно го заокружува денарот: 19,99 TL се појавија како 20 TL на некои уреди. Ако немаше потврда, оваа грешка ќе излезе во живо. Добивката е реална, но контролата е задолжителна.
Случај 2 - Фатена халуцинација. Програмер доби код од вештачката интелигенција за да побара дозвола за локација на iOS. AI предложи функција наречена requestPreciseLocationOnce(). Немаше таков API; Точниот беше requestWhenInUseAuthorization(). Грешката во компилацијата го откри тоа веднаш. Лекција: компајлерот е најчесниот ревизор на вештачката интелигенција.
Случај 3 - Замка за приватност. Еден тим ги залепи извештаите за грешки на корисниците во вештачката интелигенција и побара решение. Извештаите вклучуваа идентификатори за е-пошта и уреди на корисниците. Ова значеше истекување на лични податоци на услуга од трета страна и беше прекршување во однос на KVKK (Закон за заштита на лични податоци). Решение: бришење (маскирање) на личните полиња пред да ги дадете податоците на вештачката интелигенција.
Слаб промпт / Силен промпт
Разликата помеѓу два потсетници за иста работа го одредува квалитетот на излезот.
Слаб промпт: „Напиши ми екран за најавување“.
Моќен потсетник: „Произведете екран за најавување со помош на Jetpack Compose за Android. Барања: - Поле за е-пошта и лозинка; потврда на форматот на е-пошта, лозинка најмалку 8 знаци - копчето „Најави се“ е оневозможено при вчитување и прикажување на центрифугата. дајте ја шифрата, а потоа секој дел Објаснете во 1 реченица."
Вториот повик ги кажува платформата, алатката, архитектурата, границите и излезниот формат. Не остава ништо на ВИ да погоди; Затоа, тоа дава многу покорисен и полесен за проверка резултат.
Шаблони за стартер што може да се копираат
Користете ги шаблоните подолу така што ќе ги пополните со ваш сопствен контекст.
Шаблон за улоги и контекст: „Вие сте постар развивач на [iOS/Android/Flutter]. Мој проект: [тип на апликација], целна платформа [верзија], архитектура [MVVM/Clean]. Задача: [што сакате]. Ограничувања: [јазик, библиотека, верзија]. Прво сумирајте го планот во 3 ставки, а потоа наведете го кодот за ризик.
Шаблон за преглед на код: „Испитајте го следниов код за [јазик]. Идентификувајте:1) грешки и ризици од падови2) Проблеми со меморијата/изведбата3) ранливости во безбедноста и приватноста4) Каде што може да се напише поедноставно. Броеви на линии за секоја ставка и предложете корекции.[код]“.
Шаблон за учење: „Објаснете го [концептот, на пр. асинхронизирај/чекај во Swift] од перспектива на развивач на мобилни уреди. Наведи едноставен пример, спомни 3 вообичаени грешки и посочи кога не треба да го користам“.
Шаблон за потврда: „Го предложивте ова API/функција: [име]. Потврдете: во која верзија на SDK дојде, каква дозвола бара, дали е застарена? Ако не сте сигурни, кажете „не сум сигурен, проверете во официјалната документација“.
Вообичаени грешки
- Вметнување на излезот без да го прочитате. Најчеста и најопасна грешка. Дури и да се состави, логиката може да е погрешна.
- Давање доверливи податоци на вештачката интелигенција. Клучот API, корисничките податоци, сертификатот за потпишување никогаш не се залепени во барањето.
- Не се потврдува верзијата и API. ВИ може да предложи застарени или измислени API; Официјалниот документ го има последниот збор.
- Препуштање на архитектонската одлука на АИ. „Која е најдобрата архитектура? Одговорот на прашањето зависи од вашиот проект; ВИ дава генерички одговор, го знаете контекстот.
- Пишување на еден џиновски потсетник. Обидувајќи се да решите сложена задача со едно барање; Побезбедно е да го поделите на мали, проверливи чекори.
- Барање дозволи „за секој случај“. AI понекогаш додава повеќе дозволи отколку што е потребно; Секоја дозвола претставува ризик за складирање на одобрението и довербата на корисниците.
Сумирано
Вештачката интелигенција игра две улоги во развојот на мобилниот телефон: асистент кој го забрзува процесот на развој и можност за вградена апликација. Кодот на моделот обезбедува огромно забрзување за изготвување и учење; Но, архитектонските, безбедносните, дозволите и одлуките за објавување се човечки. Секој излез се проверува преку три чекори: компајлира-извршување, тестирање, преглед. Доверливите податоци и личните информации никогаш не се даваат на вештачката интелигенција. Платформата за силна побарувачка јасно ги наведува алатката, ограничувањата и форматот на излезот. Оваа дисциплина е основа за остатокот од модулот.
Задача за апликација
Изберете екран од вашиот сопствен мобилен проект (или имагинарна „апликација за земање белешки“). Напишете потсетник за тој екран користејќи го „шаблонот за улоги и контекст“ погоре. Обидете се да го компајлирате кодот генериран со вештачка интелигенција во проект и да го поминете низ филтер за потврда во три чекори: дали се компајлира, дали работеше како што се очекуваше, дали ја разбравте секоја линија? Забележете барем една грешка или лажен API што ќе го најдете.
листа за проверка
- [ ] Одредив во која од трите кофи задачата спаѓа врз основа на нивото на ризик
- [ ] Ги наведов платформата, верзијата, архитектурата и ограничувањата во барањето
- [ ] Го составив излезот и го извршив
- [ ] Ги тестирав лимитните случаи (податоци во мирување, нема мрежа, дозволата е одбиена)
- [ ] Се погрижив да ја разберам секоја линија
- [ ] Не дадов никакви лични податоци или приватни клучеви за вештачката интелигенција
- [ ] Ги потврдив критичните API од официјалната документација