Хочу поделиться опытом разработки на платформе 1С:Элемент конкретного прикладного решения, которое мы создали, опубликовали в интернете и уже начали монетизировать.
Наш проект – это нейросеть АРТ, которая рисует картинки по текстовому описанию. Думаю, что вам будет интересно увидеть это в реализации.
Обычно о процессе разработки говорить не принято – чаще рассказывают только о самом продукте. Но в этом случае я сосредоточусь именно на практике разработки.
Что можно разрабатывать на технологии 1С:Элемент
Для начала хочу рассказать немного о самой технологии 1С:Элемент – на случай, если вы с ней еще не сталкивались.
Это платформа, позволяющая писать код на языке, во многом схожем со встроенным языком 1С:Предприятие, но в несколько упрощенной форме. По сути, это облегченный вариант системы для верхнеуровневой разработки веб-решений, фронт-офисов, различных фронтэнд-решений и так далее.
На слайде я привел несколько примеров коммерчески успешных проектов, которые могли бы быть реализованы на 1С:Элементе.
-
Например, сервис Контур – относительно простое решение для отправки отчетности в налоговую с функцией переписки. Несмотря на свою простоту, только на этой услуге компания зарабатывает около 4 миллиарда рублей в год. Аналогичный по логике сервис можно разработать на 1С:Элементе небольшой командой – придумать свою идею, реализовать ее и заработать.
-
GitHub – то же самое. Это не самое сложное с технологической точки зрения решение по сравнению с тем, что часто делают на 1С. Аналогичную платформу тоже можно создать на 1С:Элементе. У GitHub выручка около 16 миллиардов в год (информация с сайта GetLatka)
-
Есть и более нишевые, но известные в сфере 1С решения – например, сервис для планирования командировок Smartway. Он помогает забронировать билеты, оформить документы и автоматически выгрузить отчетность в 1С:Бухгалтерию. Сервис Smartway построен на веб-технологиях и приносит 410 миллионов в год (информация с сайта РБК)
Подобных проектов много. Это как раз те микросервисы, которые вы можете разрабатывать для внутренних нужд компании (если вы работаете инхаус), а также выпускать как самостоятельные коммерческие продукты. Именно под такие задачи и создавался 1С:Элемент – и на текущем этапе его развития основная ставка разработчиков делается именно на это направление.
1С:Элемент – это инструмент, который позволяет оперативно разрабатывать подобные решения. Конечно, можно сделать то же самое, используя тот же ReactJS, но с 1С:Элементом всё получится гораздо быстрее.
Мы такой проект сделали, и я сейчас о нем расскажу.
Нейросеть АРТ
Проект называется «Нейросеть АРТ». Интерфейс главной страницы вы можете видеть на слайде. Там есть возможность зарегистрироваться и пару раз сгенерировать изображения бесплатно.
Вы вводите текст, а она делает вам любой рисунок. Хотите иконку – пожалуйста. Логотип компании – без проблем. Изображения для презентации – легко. Сфера применения – самая широкая. При этом стоимость изображения для конечного пользователя очень низкая: от 1 до 1.5 рублей за картинку: пакет в 200 или 600 рублей – это совсем небольшие деньги.
На слайде пример: я попросил систему нарисовать нейросеть, и она визуализировала собственное представление о себе.
Это я ввел в качестве промпта «нейросеть арт», и мне понравились несколько рисунков, которые она сделала. Так «Нейросеть АРТ» себя персонализирует.
Вот еще примеры:
Детализация достаточно высокая, и изображения выглядят интересно. Единственное, что меня, конечно, испугало, то, что нейросеть начала себя рисовать как человека, стало страшновато.
Я показал это для того, чтобы вы понимали, что сделано, и как это работает. Это прод-система, ею реально пользуются, все работает в полном объеме.
Процесс разработки
У нас две команды: для разработки прикладного проекта и для развития самой технологии. Количество людей в каждой команде указано на слайде.
Обратите внимание, что над прикладным проектом работал всего один разработчик: вся разработка велась силами одного человека – т.е. по трудозатратам это совсем немного.
Основная часть ресурсов ушла на маркетинг. А с технической точки зрения само решение очень простое по реализации.
Теперь немного о нашей структуре и математической модели.
Мы занимаемся разработкой математических моделей с 2018 года. У нас есть ребята, которые разрабатывают математические алгоритмы и делают оснастку Python. Потом эта оснастка и инструменты используются для создания прикладных модулей. Разработчики этих модулей могут думать, что на этом их работа завершается – но это не так. В таком виде продукт не имеет коммерческой ценности.
Стратегия в нашей компании – это выпуск прикладных решений с конкретной применимостью. И нейросеть АРТ – не единственный такой продукт. У нас также есть и другие прикладные решения, например, продукт «Управление дебиторской задолженностью», который опубликован в «Магазине расширений» 1С:Фреш, можете тоже посмотреть. Суть проста: вы устанавливаете расширение, оно анализирует дебиторскую задолженность по клиентам и взаимодействует с должниками – звонит им, пишет: «Не забудьте оплатить задолженность, а то мы отключим вас от наших услуг».
Таким образом, наша цель – придумывать прикладные сценарии использования технологий и выпускать их как готовые продукты. Т.е. проект «Нейросеть АРТ» – это просто один из примеров такого подхода.
И мы уверены, что 1С:Элемент отлично подходит для подобных задач, позволяя быстро реализовывать идеи при наличии на руках готовой технической базы.
Как шел процесс
Любая наша разработка, как правило, идет по Agile – у нас нет внешнего заказчика, все создается внутри команды: сами себе ставим задачи и реализуем
-
Математическая модель у нас была готова – сама технология компьютерного зрения и формирование рисунков уже была. Ребята несколько лет назад показали: «Смотри, что мы еще умеем», и я обещал подумать, как это продать.
-
С появлением ChatGPT и огромного информационного шума вокруг ИИ стало понятно, что пришло время действовать, так как сейчас на этом можно быстро выехать с небольшими вложениями. Мы выделили команду и реализовали технический MVP – полностью работоспособную версию генерации изображений, но без тарификации, только для нашего внутреннего использования. На ней же и тестировали.
-
С технической стороны всё получилось не так уж просто – проект требует более 40 http-интеграций. Мы используем различные облачные решения, включая Yandex Cloud, внутренние серверы, множество поставщиков. Тестирование и настройка этих сервисов заняли значительное время.
-
Параллельно мы анализировали рынок – смотрели цены на аналогичные сервисы, за что люди готовы платить, какой может быть прайс за одно изображение. На это тоже ушло много времени. Тарифный блок переписывался раза три – по мере того как маркетинг уточнял позиционирование и требования.
-
Примерно за неделю-две мы выпустили первую модель в прод. Вторую делали еще две недели.
-
Потихоньку начали набирать пользователей и сразу стало очевидно, что без правильной балансировки сервер может не справиться с нагрузкой. Из-за того, что у нас подключен биллинг и много других внешних сервисов, балансировку на сервере настраивать сложно.
-
После релиза первой модели дорабатывали критичные функции на основе обратной связи. Например, пользователи попросили, чтобы изображения можно было получать прямо в Telegram – это тоже реализуем.
-
И дальше начинаем развивать маркетинговые каналы.
Всего на разработку технической части на 1С:Элементе ушло 50 часов. Это совсем немного. Если у вас есть идея и технические навыки, вы можете сами сделать подобный проект, даже работая инхаус. Главное – это идея и готовность довести ее до реализации.
На этом проекте основные трудозатраты ушли на маркетинг – примерно 95% всех работ. Сейчас у нас работает три человека фулл-тайм, которые ведут контент-план, публикуют по несколько постов в день, пишут статьи, внимают видео, ведут соцсети. Потому что продукт, рассчитанный на потребителя требует серьезной маркетинговой поддержки – и это важно учитывать.
Что нужно сделать для того, чтобы так работать
Чтобы начать разрабатывать подобные сервисы, нужно настроиться на следующее:
-
Язык в 1С:Элемент из 1С:Исполнитель. Язык немного другой, надо адаптироваться, привыкнуть. Я сам программирую в 1С:Элемент, я привыкал где-то две недели, чтобы комфортно себя в нем чувствовать, быстро программировать и чтобы мысль шла о прикладном решении.
-
Элемент и документация адаптированы к принципам 1С:Предприятие. Команда 1С:Элемента подготовила инструкции с учетом того, что разработчики приложений знают 1С:Предприятие и что-то на нем писали. Поэтому типы объектов, структуры приложений и общая логика максимально ассоциативны с привычной 1С-средой. Если у вас есть опыт разработки под 1С:Предприятие – это станет отличной базой.
-
Важно понимать концепцию микросервисов. Умение видеть нишевые задачи и быстро реализовывать решения под конкретные бизнес-потребности — ключ к успеху. Такие микросервисы можно запускать за короткое время и получать с них реальную прибыль. Но важно и понимать, как работает рынок и какие задачи действительно востребованы.
-
Главное – это идея. Даже самая технологичная разработка не выстрелит, если за ней не стоит четкой, нужной пользователю идеи.
Выводы
С моей точки зрения, самое полезное в разработке на 1С:Элементе следующее:
-
При разработке мне не нужно особо думать о коде, я думаю о бизнес-идее. Бывает, что приходит маркетинг: «Тарифы нужно поменять». Мне не нужно думать о запросе, структурах, типах данных – я думаю только о тарифах. Это позволяет быстрее разрабатывать, делать это более качественно и достигать бизнес-целей.
-
И второе: дизайн решается не разработчиком. В 1С:Элемент за визуал отвечают профессиональные дизайнеры. Интерфейс уже продуман, и когда ты создаешь форму, компоненты уже «живут своей жизнью»: красиво анимируются, кликаются, перетаскиваются – все выглядит современно и аккуратно. В проекте «Нейросеть АРТ» нет отдельного дизайнера, но интерфейс при этом получился минималистичным и приятным: белый фон, никаких отвлекающих элементов – все внимание на изображениях, которые генерирует пользователь. Получилось почти «витринно», и это работает.
-
1С:Элемент очень хорош для микросервисов. Есть небольшие, но важные задачи, которые можно качественно решить, применяя эту технологию. Именно для таких компактных, практичных решений она и подходит лучше всего.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции Анализ & Управление в ИТ-проектах.