AI-Помічник для автоматичного заповнення форм мобільного додатку
Довгі форми в мобільних додатках—головна точка вибуття користувачів. Анкета для іпотеки з 20 полів, форма медичного страхування з термінологією, зрозумілою тільки спеціалістам—користувачі просто закривають додаток. AI-помічник для заповнення форм не спрощує саму форму, а допомагає її заповнити: пояснює поля, пропонує значення, автоматично заповнює з контексту.
Три режими роботи помічника
Пояснення полів. Користувач торкає поля "ІНН" і питає, де його знайти. Помічник дає контекстну відповідь, розуміючи, що користувач—фізична особа в додатку російського банку, а не юридична особа.
Автоматичне заповнення з природної мови. Користувач говорить або пише: "хочу перевести п'ять тисяч рублів Івану Петрову за листопад"—Помічник заповнює поля суми, одержувача та призначення платежу.
Валідація з поясненням. Замість "Поле обов'язкове"—"Для платежів за кордон потрібний BIC банку-одержувача, він указаний у реквізитах у банківському додатку одержувача."
Реалізація автоматичного заповнення через LLM Structured Output
LLM повертає заповнені поля форми у вигляді JSON зі строгою схемою—через Structured Outputs (OpenAI) або JSON режим:
// Android — Kotlin
data class PaymentFormData(
val amount: Double?,
val recipientName: String?,
val recipientPhone: String?,
val purpose: String?,
val scheduledDate: String? // ISO8601 або null
)
suspend fun parseUserInputToForm(userMessage: String, formContext: String): PaymentFormData {
val systemPrompt = """
Ви—помічник для заповнення форми платежу.
Контекст форми: $formContext
Витягніть дані з повідомлення користувача і поверніть JSON.
Поля, не згадані, залишіть null.
""".trimIndent()
val response = openAIClient.chatCompletions.create(
model = "gpt-4o-mini",
messages = listOf(
Message(role = "system", content = systemPrompt),
Message(role = "user", content = userMessage)
),
responseFormat = ResponseFormat(type = "json_object"),
temperature = 0.0
)
return gson.fromJson(response.choices[0].message.content, PaymentFormData::class.java)
}
Після парсингу програмно заповніть поля та покажіть користувачу попередній перегляд для підтвердження—Помічник не відправляє форму самостійно.
Інтеграція з даними користувача
Помічник працює значно краще, коли знає контекст: список збережених одержувачів, історію платежів, профіль користувача. Цей контекст інжектується в системний промпт:
// iOS — Swift
func buildFormCopilotContext(user: User, formType: FormType) -> String {
var context = "Форма: \(formType.displayName).\n"
if formType == .payment {
let recentRecipients = user.recentRecipients.prefix(5)
.map { "\($0.name): \($0.phone)" }
.joined(separator: ", ")
context += "Частих одержувачів: \(recentRecipients).\n"
}
return context
}
Голосовий ввід як тригер
На мобільних пристроях голосовий ввід знімає головне тертя при заповненні форм. Користувачі не набирають "Іванов Іван Іванович", а просто говорять. Зв'язок: SpeechRecognizer (iOS Speech Framework / Android SpeechRecognizer API) → транскрипція → LLM витяг → заповнення полів.
Орієнтири за часом
Базове автоматичне заповнення з тексту через LLM + Structured Output—3–5 днів. Повний помічник з контекстом користувача, голосовим вводом і поясненнями валідації—1–2 тижні.







