Промпт-инжиниринг для ML-инженера в мобильной разработке
ML-инженер в мобильной разработке сталкивается с уникальными ограничениями: размер модели, задержка инференса и энергопотребление. Эффективный промпт для ИИ-ассистента должен учитывать эти параметры, иначе вы получите красивый, но неприменимый код. Ниже — конструктор промптов, который превращает LLM в инструмент оптимизации под on-device ML.
Анатомия эффективного промпта
Промпт для мобильного ML состоит из 5 блоков. Пропуск любого из них ведёт к генерации «серверного» кода, который не запустится на устройстве.
- Роль и контекст — «Ты — ML-инженер, оптимизирующий модели для Android/iOS».
- Технические ограничения — «Целевая модель: MobileNetV3, формат TFLite, размер < 10 МБ, устройство — Samsung Galaxy A52».
- Задача — «Сократи время инференса на 30% без потери accuracy более 2%».
- Формат ответа — «Выдай код на Kotlin с комментариями, укажи ожидаемый прирост скорости».
- Критерии приёмки — «Проверь, что код не использует операции, неподдерживаемые NNAPI».
Ключевое правило: чем больше конкретных чисел и имён библиотек в промпте, тем выше вероятность получить применимый результат.
Готовые шаблоны запросов
| Сценарий | Шаблон промпта | Настройка |
|---|---|---|
| Квантование | «Предложи схему пост-тренировочного квантования для модели X. Сравни int8 и float16 для мобильного CPU». | Укажите тип данных (int8/float16) и допустимый дроп accuracy. |
| Дистилляция | «Создай план дистилляции из модели-учителя Y в студента Z для iOS (Core ML)». | Задайте соотношение размеров учитель/студент и бюджет обучения. |
| Оптимизация инференса | «Напиши код для GPU-ускорения через TFLite Delegate на Android. Учти падение на старых GPU». | Укажите минимальную версию Android и список поддерживаемых GPU. |
Как настраивать промпты под свой проект
Настройка — это итеративный процесс. Начните с базового шаблона, затем добавляйте уточняющие итерации:
- Итерация 1: «Добавь обработку edge-случаев для батч-размера 1».
- Итерация 2: «Замени операции на операции из списка NNAPI».
- Итерация 3: «Оцени энергопотребление в мАч на 1000 инференсов».
Если ответ неудовлетворителен — не переписывайте промпт целиком, а добавьте ограничение в конец: «Игнорируй решения, требующие серверной части».