Прибыль:
- Способность разработать комплексную мобильную функцию, поддающуюся проверке на этапах проектирования, кода, интеграции искусственного интеллекта, конфиденциальности, тестирования, отладки, производительности и выпуска.
- Способность создать основу для ответственного и этического использования искусственного интеллекта с принципами прозрачности, проверки-подотчетности и справедливости-непричинения вреда.
- Возможность создать устойчивую профессиональную практику, различая области, в которых искусственный интеллект силен и слаб, и оставляя окончательное решение в руках людей.
В этом модуле мы использовали ИИ на каждом этапе мобильной разработки: генерация кода, интерфейс, интеграция ИИ на устройстве и в облаке, тестирование, отладка, производительность, конфиденциальность и доставка в магазин. В этом заключительном разделе мы объединим все эти части в единый сквозной поток, проясним рамки ответственного и этичного использования ИИ и поговорим о том, как превратить эти навыки в устойчивую профессиональную практику. Основная идея не изменилась, но теперь она прочно укоренилась: ИИ — это сила, которая умножает компетентных мобильных разработчиков; это не замена. Это человек, который несет ответственность за качество, безопасность и перспективность продукта для пользователя.
Комплексная функция: объединение частей
Разработка реальной функции от начала до конца с поддержкой ИИ объединяет в цепочку все изученные нами элементы. Пример: функция «Добавить расходы из квитанции». Поток работает следующим образом:
- Проектирование (Блок 3). Нарисуйте экран и четыре состояния (загрузка/пустой/ошибка/полный) с помощью ИИ, запросите доступность с самого начала.
- Кодекс (Раздел 2). Создавайте камеру, модель данных и ViewModel слой за слоем с помощью MVVM; проверьте каждый слой.
- ИИ на устройстве (блок 4). Считайте сумму/дату квитанции с помощью распознавания текста ML Kit; Рассмотрите возможность предварительной обработки и оценки достоверности.
- Конфиденциальность (Блок 9). Запросите разрешение камеры с минимальными привилегиями, напишите сценарий отклонения, сохраните данные на устройстве.
- Тестирование (Блок 6). Генерировать модульные тесты логики извлечения, тестирование пользовательского интерфейса дисплея; Включите приграничные государства.
- Отладка (раздел 7). Пусть ИИ проанализирует сбои с учетом контекста и устранит первопричину.
- Производительность (раздел 8). Измерьте расход батареи на обработку камеры и настройте ее с учетом экономии заряда батареи.
- Радиовещание (Блок 10). Сообщайте об использовании ИИ прозрачно, правдиво заполняйте форму конфиденциальности и проводите самопроверку.
На каждом этапе ИИ ускоряется, человек проверяет и принимает решение. Этот цикл является ядром модуля.
Совет: не пытайтесь заставить ИИ выполнять сложную функцию одним гигантским запросом. Разбейте его на проверяемые шаги, как указано выше. Тестирование результатов каждого шага и переход к следующему не только безопаснее, но и быстрее; Потому что большую ошибку ловишь не в конце, а на первом шаге.
Ответственное и этичное использование ИИ
Одной только технической компетентности недостаточно; ответственная структура завершает это. Три принципа:
Прозрачность. Пользователь должен знать, что он или она взаимодействует с ИИ. Секретный ИИ — это злоупотребление доверием. Контент, созданный искусственным интеллектом, помечается тегами; Советы ИИ преподносятся как «полезные советы», а не как «жесткая правда».
Проверка и подотчетность. Результаты ИИ — это отправная точка, а не готовый продукт. Вы несете ответственность за каждую опубликованную строку кода, каждый ответ ИИ, каждую транзакцию данных. «ИИ так написал» — это не защита.
Справедливость и непричинение вреда. Модели ИИ могут нести в себе предвзятости из данных, на которых они обучаются. Распознавание лиц может работать хуже для некоторых цветов кожи, а система рекомендаций может исключить группу. Вы несете ответственность за проверку того, что ваш продукт работает справедливо в разных группах пользователей.
Внимание: Любая техника, которую вы изучаете в области ИТ и безопасности, используется только в разрешенных и конструктивных целях. Использование ИИ для создания вредоносного ПО, взлома чужого приложения без разрешения, сбора пользовательских данных без согласия или создания вводящего в заблуждение контента является незаконным и противоречит профессиональной этике. Мера силы раскрывается там, где вы ею не пользуетесь.
Признание ограничений ИИ
Зрелый разработчик знает, где ИИ хорош, а где нет.
ИИ мощный
ИИ слаб
Код пресс-формы, стандартное производство
Продуктовые и архитектурные решения
Тестирование и проект документации
Понимание бизнес-контекста и пользователя
Чтение журнала сбоев, сканирование ошибок
Точный диагноз основной причины (требуется проверка)
Обучение, объяснение концепции
Текущая/неизготовленная информация API
Текст, описание, перевод
Этика, безопасность и окончательное юридическое решение
Усвоение этого различия является ключом к эффективному использованию ИИ и избежанию его ловушек.
три мини-кейса
Случай 1. Сквозная скорость. Один разработчик-одиночка завершил «отключенную» функцию за 4 дня, используя описанную выше 8-шаговую последовательность действий; Без ИИ оценка составила 12 дней. Но поскольку он выверял каждый шаг, публикацию одобрили с первого раза. Скорость была реальной, потому что дисциплина была реальной. Урок: проверка ИИ+ выполняется быстрее, чем проверка ИИ.
Случай 2 — Предвзятость обнаружена. Тестируя функцию прогнозирования пола существительного на основе искусственного интеллекта, команда заметила систематические ошибки в некоторых турецких существительных; модель обучалась в основном на английских данных. Эта функция была изменена: теперь она спрашивает пользователя, а не делает неверные предположения. Урок: задача разработчика — проверить предвзятость обучения модели.
Случай 3. Защита «ИИ так сказал» рухнула. Разработчик опубликовал сгенерированный ИИ код платежа, не проверив его; В одном крайнем случае код выполнял двойные коллекции. Ответственность не снимается, если сказать: «Это написал ИИ»; Как владелец аккаунта, он был разработчиком. Урок: ответственность нельзя делегировать.
Слабая подсказка / Сильная подсказка
Слабая подсказка: «Напишите мне полное приложение для сканирования квитанции».
Мощная подсказка: «Помогите мне разработать функцию «добавление расходов из квитанции» шаг за шагом. Давайте продолжим по порядку: когда я проверю и одобрю каждый шаг, перейду к следующему: 1) Экран + четыре состояния + доступность2) Слои MVVM (камера, модель, ViewModel)3) Чтение суммы/даты из квитанции с помощью ML Kit + оценка доверия4) Разрешение камеры (минимальные привилегии) + поток отклонения5) Модульные и пользовательские тесты Расскажите мне о рисках и моментах, которые мне нужно проверить на каждом из них шаг».
Копируемые шаблоны
Шаблон сквозного планирования: «Я разработаю следующую функцию: [функция]. Разбейте ее на проверяемые этапы: проектирование, код, интеграция искусственного интеллекта, конфиденциальность/разрешения, тестирование, производительность, выпуск. Напишите результаты, риски и критерии проверки для каждого шага. Не делайте одно гигантское производство».
Шаблон аудита этики/предвзятости: «Проверьте следующую функцию ИИ на предмет справедливости и предвзятости: [функция]. Какие группы пользователей могут работать плохо? Как данные обучения влияют на предвзятость? Как мне ее протестировать, как сделать ее более инклюзивной?»
Шаблон проверки подотчетности: «Перечислите вопросы подотчетности, которые я должен задать перед выпуском этого кода/функции, сгенерированного ИИ: понял ли я это, протестировал ли я это, безопасно ли это, прозрачно ли это для пользователя, законно ли это/этично?»
Шаблон непрерывного обучения: «Предложите четырехнедельный практический план по улучшению моих навыков искусственного интеллекта в мобильной разработке: одна тема каждую неделю (код, интеграция, тестирование, выпуск) с целью небольшого проекта и привычки проверки».
Распространенные ошибки
- Создание сложной функции с помощью одного гигантского запроса. Невозможно проверить; разбить на этапы.
- Уход от ответственности, говоря «ИИ так написал». Вы несете ответственность за опубликованный код.
- Не тестировать на предвзятость ИИ. В некоторых группах модель может работать плохо; Испытайте справедливость.
- Скрытие взаимодействия ИИ от пользователя. Прозрачность – основа доверия.
- Забыв об ограничениях ИИ. Последнее слово в вопросах архитектуры, этики и текущего API остается за людьми.
- Чтобы перестать учиться. Инструменты и правила магазина быстро меняются; Будьте постоянно в курсе.
В итоге
Сквозная функция объединяет в цепочку все части модуля: дизайн, код, интеграцию с ИИ, конфиденциальность, тестирование, отладку, производительность и выпуск. На каждом этапе ИИ ускоряется, человек проверяет и принимает решения; Сложная работа разбивается на небольшие проверяемые шаги. Ответственное использование основано на трех принципах: прозрачность, проверка, подотчетность и справедливость, не навреди. ИИ — мощный мультипликатор, но последнее слово в вопросах архитектуры, этики, безопасности и современных знаний остается за людьми. «ИИ сделал это так» — это не защита; Вы несете ответственность за свой продукт и обещания, которые даете пользователю. Благодаря этой дисциплине ИИ сделает вас быстрее, комплекснее и сильнее на протяжении всей вашей карьеры.
Задача приложения
Разбейте мобильную функцию по вашему выбору (например, «подведение итогов с помощью голосовых заметок» или «распознавание продукта по фотографии») на проверяемые этапы с помощью «шаблона комплексного планирования». На самом деле разработайте и утвердите хотя бы один шаг с использованием ИИ. Затем проанализируйте, у каких групп пользователей эта функция может вызвать проблемы с «Шаблоном контроля этики/предвзятости», и ответьте на вопросы, которые вам нужно задать перед выпуском, с помощью «Шаблона контроля ответственности».
контрольный список
- [ ] Я разбил функцию на поддающиеся проверке маленькие шаги, а не на одно гигантское производство.
- [ ] Я проверял результаты ИИ на каждом этапе и принял решение
- [ ] Я представил пользователю взаимодействие с искусственным интеллектом прозрачно.
- [ ] Я оценил, работает ли функция справедливо/предвзято в разных группах.
- [ ] Я ответил на вопросы об ответственности перед выпуском (понимание/тестирование/безопасность/этичность)
- [ ] Я использовал ИИ только в компетентных и конструктивных целях и планирую продолжать обучение
Модульный экзамен
1. Что из перечисленного является наиболее точным позиционированием искусственного интеллекта в мобильной разработке?
- А) ИИ заменяет разработчика; может быть опубликован напрямую, не читая генерируемый им код
- Б) Искусственный интеллект работает только при написании текста, к генерации кода он не имеет никакого отношения.
- В) Искусственный интеллект – помощник и ускоритель; Ответственность за решения в области архитектуры, безопасности и телевещания лежит на людях ✔
- Г) Поскольку искусственный интеллект всегда создает правильный код, дополнительное тестирование и проверка не нужны.
Описание: Искусственный интеллект — это помощник и ускоритель, генерирующий код, чертежи и решения. Ответственность и окончательное утверждение таких решений, как архитектура, разрешения, безопасность и публикация, возлагается на компетентного разработчика; Люди несут ответственность за каждую опубликованную строчку.
2. Что больше всего повышает качество архитектуры создаваемого кода при запросе мобильного кода у искусственного интеллекта?
- А) Сделайте подсказку как можно короче и скажите: «Напишите мне приложение».
- Б) Сначала навязываем архитектуру типа MVVM и запрашиваем код небольшими кусочками, слой за слоем ✔
- В) Создание всей функции в виде одного гигантского файла за одну подсказку.
- Г) Вообще не указывайте архитектуру и оставьте лучшее решение искусственному интеллекту.
Объяснение: внедрение такой архитектуры, как MVVM, и требование слоя за слоем перед написанием кода непосредственно в ИИ создает тестируемую и поддерживаемую структуру, которая отделяет логику от экрана. Запрос без архитектуры возвращает код, который выводит все на экран.
3. Что чаще всего упускают из виду при создании интерфейса с искусственным интеллектом и что наиболее критично при реальном использовании?
- А) Проектирование состояний загрузки, пустого состояния и ошибок, а не только полноэкранного режима ✔
- Б) Создание только наиболее красивого полноэкранного режима, пропуская другие случаи
- В) Добавление как можно большего количества цветов и анимации на каждый экран.
- D) Оставлять теги доступности последними и заниматься только внешним видом
Объяснение: Разработчики часто рассматривают только «полное» состояние; тогда как на самом деле пользователь чаще всего сталкивается с состояниями загрузки, пустого состояния и ошибки. Генерация всех четырех состояний (загрузка/пусто/ошибка/полное) — секрет надежного интерфейса.
4. Почему искусственный интеллект на устройстве часто используется по умолчанию для функции обработки конфиденциальных личных данных (например, измерения состояния здоровья)?
- А) Модели на устройстве всегда более точны, чем облачные.
- Б) Обработка на устройстве никогда не требует затрат на батарею или процессор.
- C) Обработка на устройстве не ограничена по размеру модели.
- Г) Поскольку данные не покидают телефон, это дает большое преимущество с точки зрения конфиденциальности и доверия пользователей ✔
Объяснение: Обработка на устройстве не удаляет данные с телефона; Это серьезное преимущество с точки зрения соблюдения конфиденциальности и доверия пользователей, плюс оно работает в автономном режиме и мгновенно. Его ограничением является мощность устройства и размер модели.
5. Какая наиболее распространенная «тихая» ошибка, которая приводит к бессмысленным результатам и не выдает сообщения об ошибке при интеграции модели на устройстве?
- А) Неправильное написание имени файла модели
- Б) Низкое разрешение значка приложения
- C) Неправильная предварительная обработка входных данных (размер/нормализация) ✔
- D) Темная тема экрана.
Объяснение: Неправильное выполнение предварительной обработки входных данных приведет к совершенно неверным результатам без возникновения ошибок. Значения предварительной обработки следует проверять из документации модели.
6. Какое правило является наиболее важным с точки зрения безопасности при интеграции облачного LLM в мобильное приложение?
- А) Ключ API должен храниться только на сервере, а не на клиенте; запросы должны проходить через прокси ✔
- Б) API-ключ для удобства должен быть встроен непосредственно в код приложения.
- В) Ключ API должен быть указан в описании приложения.
- Г) Ключ API должен храниться в клиенте и скрываться только путем изменения имени.
Раскрытие информации: ключ API никогда не встраивается в код мобильного приложения; потому что приложение можно перепроектировать и извлечь ключ. Правильная архитектура — хранить ключ только на бэкенде и передавать запросы через собственный прокси-сервер.
7. Что больше всего увеличивает скорость, по мнению пользователей, и процент завершения функций в длинных ответах LLM?
- А) Ждать, пока будет получен весь ответ, и показывать его сразу
- Б) Показ ответа по словам в том виде, в котором он производится, в потоковом режиме ✔
- В) Отправка всей истории чата модели при каждом запросе
- D) Увеличьте инструкцию модели, чтобы максимально расширить ответ.
Описание. Потоковая передача значительно увеличивает воспринимаемую скорость и беглость речи, отображая ответ по мере его появления слово за словом. Вместо ожидания на пустом экране пользователь наблюдает за текстовой формой; Это существенно снижает процент отказов.
8. Какая наиболее распространенная проблема в тестах, созданных искусственным интеллектом, делает тест бесполезным?
- А) Тесты охватывают слишком много предельных состояний
- Б) В тестах используются макеты объектов, а не реальные сервисы.
- В) Тесты выполняются очень быстро
- Г) Раздувание области пустыми/бесполезными тестами, которые на самом деле не проверяют поведение ✔
Объяснение: Искусственный интеллект иногда создает тесты, которые фактически не проверяют какие-либо выходные данные (например, просто вызываете функцию и записываете пустое утверждение). Они увеличивают размер страхового покрытия, но не обеспечивают реальной защиты; Каждый тест должен быть проверен для проверки значимого поведения.
9. Почему это недостаточное решение, чтобы заглушить сбой, поместив его в пробную версию с предложением искусственного интеллекта?
- А) try-catch вообще нельзя использовать в мобильных приложениях
- Б) Сбой прекращается, но поскольку первопричина не устранена, проблема возвращается в другом виде ✔
- В) Использование try-catch замедляет работу приложения, поэтому запрещено
- D) Скрытая ошибка автоматически отклоняется магазином.
Объяснение: Замалчивание симптома не устраняет основную причину; Сбой прекращается, но исходная проблема (например, разрыв соединения для передачи данных) возвращается в другой форме (например, потеря данных). Цель профессиональной отладки — устранить первопричину, а не симптом.
10. Какому основному золотому правилу следует следовать при оптимизации производительности?
- А) Сначала создайте профиль и измерьте реальное узкое место, затем оптимизируйте ✔
- Б) Угадывать, где медленнее, и концентрироваться там
- В) Погоня за небольшими выгодами в каждой функции
- Г) Измерение производительности на эмуляторе и никогда не пробуние реального устройства
Описание: Сначала измерьте, потом оптимизируйте. Реальное узкое место почти всегда находится в другом месте, чем предполагалось; Оптимизация без профилирования — это слепое предположение и зачастую пустая трата усилий.
11. Что является наиболее важной инженерной проблемой для постоянно работающей функции искусственного интеллекта (например, трансляции с камеры в реальном времени)?
- А) Функция запрашивает как можно больше разрешений.
- Б) Управление затратами на батарею и процессор при непрерывной обработке с частотой выборки и пакетной обработке ✔
- В) Запускайте эту функцию только на самых дорогих телефонах.
- D) Непрерывный рендеринг камеры с максимально возможной частотой кадров.
Описание: Постоянно работающая модель, камера и сеть; Он может быстро разрядить батарею, нагреть устройство и быть ограничен системой. Сокращение частоты выборки, группирование и запуск только при необходимости — это способы управления расходами на аккумуляторы.
12. Что означает принцип «наименьших привилегий» в управлении разрешениями в мобильной разработке?
- А) Запрос всех возможных разрешений при запуске, на всякий случай.
- Б) Сделать приложение неработоспособным, если в разрешении отказано
- В) Запрос самого широкого разрешения и планирование его сужения позже.
- Г) Запрос только того разрешения, которое действительно необходимо, при необходимости и в самом узком объеме, со сценарием отказа ✔
Объяснение: Наименьшие привилегии запрашивают только то разрешение, которое действительно необходимо, когда оно необходимо, и в максимально узком объеме. Слишком большое количество разрешений подрывает доверие пользователей, приводит к отказу магазина и увеличивает риск утечки данных.
13. Какие конкретные требования необходимо соблюдать при предъявлении в магазин приложения с искусственным интеллектом?
- А) Прозрачность контента, контроль контента и раскрытие данных, поступающих в искусственный интеллект, в форме конфиденциальности ✔
- Б) Сокрытие от пользователя использования искусственного интеллекта
- В) Маркировка данных, которые фактически не собираются в форме конфиденциальности.
- D) Многообещающие функции, которых нет в описании
Раскрытие информации: магазины ожидают прозрачности контента (заявление о том, что он производит искусственный интеллект), модерации контента (фильтрация вредоносных выходных данных и уведомлений пользователей) и раскрытия использования данных из приложений, содержащих искусственный интеллект; В чувствительной зоне требуется предупреждение о точности. Заявки, в которых они не указаны, будут отклонены.
14. Почему защита «ИИ так написал» недействительна, когда в опубликованном коде, сгенерированном ИИ, возникает крайняя ошибка?
- А) Поскольку искусственный интеллект всегда создает безошибочный код, ошибка исходит от пользователя
- Б) Потому что сохраняет автоматически правильный код, сгенерированный ИИ.
- В) Потому что ответственность нельзя передать искусственному интеллекту; Разработчик несет ответственность за опубликованный код и данные ✔
- Г) Потому что код, сгенерированный искусственным интеллектом, никогда не публикуется вживую.
Описание: Результаты ИИ — это отправная точка, а не готовый продукт. Именно разработчик несет ответственность за каждую опубликованную строку, все обработанные данные и каждое данное обещание; ответственность не может быть делегирована ИИ, поэтому перед публикацией результаты должны быть поняты и протестированы.