Реализация AI-Copilot для настройки параметров мобильного приложения
Экраны настроек — самый недооценённый источник пользовательского фрустрации. Пользователь хочет «отключить уведомления только для ночного времени» и тратит пять минут на поиск нужного тогла среди трёх уровней вложенности. AI-Copilot для настроек превращает поиск нужного параметра из квеста в диалог.
Что делает Copilot для настроек
Пользователь формулирует желаемое поведение на естественном языке — Copilot находит и применяет нужные настройки:
- «Хочу получать только срочные уведомления» → Copilot показывает текущее состояние notification settings, предлагает конкретные изменения
- «Приложение тратит слишком много заряда» → анализирует включённые фоновые функции и предлагает отключить геолокацию в фоне и sync-интервал снизить с 5 до 30 минут
- «Сделай интерфейс крупнее» → находит настройки размера шрифта и масштаба UI
Схема реализации
Каталог настроек как структурированные данные:
// iOS — Swift
struct AppSetting: Identifiable, Codable {
let id: String // "notifications.push.marketing"
let displayName: String // "Маркетинговые push-уведомления"
let description: String // Что именно контролирует настройка
let type: SettingType // toggle / slider / picker / nested
let currentValue: SettingValue
let allowedValues: [SettingValue]?
let keywords: [String] // ["уведомления", "маркетинг", "реклама", "спам"]
}
LLM получает список настроек (или релевантное подмножество через семантический поиск) и запрос пользователя, возвращает action plan через function calling:
// Функция для LLM
let applySettingsTool = ChatCompletionTool(
type: .function,
function: ChatCompletionToolFunction(
name: "apply_settings_changes",
description: "Применяет изменения в настройках приложения",
parameters: SettingsChangeSchema.json // {changes: [{setting_id, new_value}]}
)
)
Критично: изменения всегда показываются пользователю для подтверждения списком «Я изменю следующие настройки: …» — и только после подтверждения применяются. Copilot не меняет настройки молча.
Персонализированные рекомендации
Copilot может проактивно предлагать настройки на основе поведения:
// Android — Kotlin
fun buildSettingsRecommendationContext(analytics: UserAnalytics): String {
val insights = buildList {
if (analytics.nightUsageHours > 2) add("Пользователь активен после 23:00")
if (analytics.batteryOptWarnings > 3) add("Частые предупреждения о расходе батареи")
if (analytics.notificationDismissRate > 0.8) add("80% уведомлений закрываются без действия")
}
return insights.joinToString("\n")
}
Модель видит это в системном промпте и может предложить: включить тёмную тему для ночного использования, настроить тихий час, снизить частоту уведомлений.
Ориентиры по срокам
Базовый поиск настроек через семантический поиск + LLM — 3–5 дней. Полная система с function calling, подтверждением изменений и проактивными рекомендациями — 1–2 недели.







