ИИ для разработчика CRM в мобильной разработке: конструктор промптов
Мобильная CRM-система — это сложный продукт, где каждый экран влияет на пользовательский опыт. ИИ-ассистенты (ChatGPT, Claude, Copilot) ускоряют разработку, но только при правильно составленных промптах. Разберём анатомию эффективного запроса и дадим готовые шаблоны.
Анатомия эффективного промпта для CRM-кода
Хороший промпт содержит 5 обязательных блоков:
- Роль — «ты senior Flutter-разработчик, специалист по CRM»
- Контекст — стек, архитектура, ограничения (например, «Bloc, offline-first, target Android 13»)
- Задача — конкретный результат: «сгенерируй модель сделки с JSON-сериализацией»
- Формат вывода — «код на Dart, с комментариями, без лишних пояснений»
- Критерии качества — «обработай null-значения, добавь unit-тесты»
Плохой промпт: «напиши код для CRM». Хороший: «Создай репозиторий для синхронизации задач с REST API, используя Retrofit и Room. Обработай конфликты по updatedAt. Верни код с DI-инъекцией».
Готовые шаблоны промптов с пояснениями
1. Генерация модели данных
Шаблон: «Ты Kotlin-разработчик. Создай data class Deal для CRM: поля id, name, amount, stageId, ownerId, updatedAt. Добавь аннотации @Serializable, @Entity, методы toDto() и fromDto(). Учти, что amount может быть null. Выведи код и краткое описание полей».
Настройка: замените поля и тип БД (Room/SQLDelight). Добавьте «используй value class для id», если нужна типобезопасность.
2. UI-экран списка клиентов
Шаблон: «Сгенерируй Compose-экран списка клиентов с LazyColumn. Каждый элемент: аватар, имя, компания, статус (активен/неактивен). Используй ViewModel с StateFlow, загрузку через UseCase. Добавь pull-to-refresh и обработку ошибок. Код — Kotlin, без XML».
Настройка: укажите фреймворк (SwiftUI/Flutter), состояние загрузки (shimmer/skeleton), действия по свайпу.
3. Оптимизация запросов к БД
Шаблон: «Вот SQL-запрос для поиска сделок по имени клиента: [вставьте код]. Он медленный на 100k строк. Предложи 3 варианта оптимизации: индексы, денормализация, FTS. Для каждого — пример кода и оценка производительности».
Настройка: укажите СУБД (SQLite/PostgreSQL), частоту запросов, допустимый компромисс по памяти.
4. Генерация тестов
Шаблон: «Напиши unit-тесты для AuthRepository (интерфейс: login, logout, refreshToken). Используй MockK, coroutines-test. Покрой: успешный вход, неверный пароль, истёкший токен, сетевую ошибку. Формат: JUnit 5, без лишних комментариев».
Настройка: добавьте «используй TestContainers для интеграционных» или «только happy path» для быстрого smoke-теста.
Как настраивать промпты под свой проект
- Добавляйте глоссарий — «в CRM термином „лид“ называем контакт с status=NEW»
- Указывайте версии библиотек — «используй Room 2.6, не 2.5»
- Просите альтернативы — «предложи 2 варианта реализации: с корутинами и с Flow»
- Используйте итеративность — «теперь адаптируй этот код под iOS, заменив URLSession на Alamofire»
Сравнение подходов к промптам
| Аспект | Базовый промпт | Продвинутый промпт |
|---|---|---|
| Контекст | «сделай экран» | «сделай экран с учётом MVVM, DI, обработки ошибок» |
| Ограничения | нет | «не используй глобальные синглтоны» |
| Проверка | нет | «добавь логирование и метрики» |
Используйте эти шаблоны как основу, адаптируя под свой стек. Ключевой навык — конкретика: чем точнее промпт, тем меньше правок в коде. Со временем вы соберёте собственную библиотеку промптов для типовых CRM-задач.