Российский рынок онлайн-форм образовал заметную нишу после того, как зарубежные сервисы ушли из страны, а с 2025 года компании, работающие с персональными данными, лишились возможности использовать даже бесплатные иностранные аналоги — требование хранить данные на российских серверах закрыло этот путь окончательно. Именно в этот момент разработчик и ИИ/ML-инженер Дмитрий, основатель caltoforms.ru, решил занять нишу, совместив привычный конструктор форм с ИИ-генерацией.
Отправной точкой стала жалоба знакомой: собирать формы вручную неудобно, многостраничные сценарии — отдельная головная боль. Дмитрий изучил рынок и обнаружил, что после ухода западных игроков конкурентов почти нет. Базовый сценарий — создать форму, опубликовать, собрать ответы — он реализовал быстро. Дальше начались задачи, которые в MVP обычно не доходят.
| Уровень сложности | Триггеры | Результат |
|---|---|---|
| simple | Короткий промпт, мало полей, одна страница | Лёгкая модель — быстро и дёшево |
| medium | Средний объём, несколько полей | Модель среднего уровня |
| complex | Многостраничность, много полей, сложные ключевые слова | Тяжёлая модель + двухшаговая генерация |
Центральный инженерный выбор — адаптивный роутинг моделей. Простая форма на три поля не требует тяжёлой LLM: это дорого и медленно. Сложная многостраничная форма на лёгкой модели даёт некачественный результат. Система оценивает задачу до вызова модели — длина промпта, количество полей, многостраничность, ключевые слова — и присваивает один из трёх уровней: simple, medium, complex. Каждый уровень маппится на конкретную модель. По словам автора, стоимость генерации упала, скорость на простых задачах выросла кратно.
Система адаптивного роутинга делит задачи на три уровня сложности (simple/medium/complex) и выбирает модель под каждый — стоимость генерации снизилась, скорость выросла.
Отдельный блок — отказоустойчивость. LLM-провайдеры падают, и архитектура caltoforms.ru предусматривает два провайдера: при таймауте или ошибке запрос автоматически повторяется у резервного на базовой модели. Кредиты списываются только за успешный ответ. Дмитрий описывает первое падение провайдера в продакшне как момент, когда эта схема себя оправдала.
Для сложных форм одношаговая генерация оказалась ненадёжной: модель теряла контекст, путала типы полей, забывала про страницы. Решение — двухшаговый подход: сначала модель строит план структуры, затем детализирует каждую страницу. Это дополнительный LLM-вызов, но качество, по оценке автора, кратно выше. Тот же роутер сложности решает, когда включать двухшаговый режим.
Среди других реализованных компонентов — генерация форм из загружаемых файлов (PDF, DOCX, TXT, MD) с предобработкой и нормализацией текста, ИИ-агент для редактирования уже созданных форм («добавь поле телефона», «разбей на две страницы») с умным слиянием изменений, RAG-чат поддержки на базе индексированной документации, а также фильтрация prompt injection: лимиты на размер входа, валидация типов полей и структуры ответа на выходе.
Не менее значимой оказалась нетехническая часть. Оформление юрлица, соответствие 152-ФЗ о персональных данных, политика конфиденциальности и пользовательское соглашение — всё это обязательные условия запуска, до которых большинство pet-проектов просто не доходит. Дмитрий оценивает долю кода в общем объёме работы примерно в 40%; остальное — юридика, дизайн, деплой, продвижение. Главный вывод, который он формулирует: роутинг моделей, fallback и безопасность промптов проще заложить в архитектуру с самого начала, чем встраивать в работающий продукт.


