АС Проект АС ПроектПлатиновый партнёр Битрикс24
+7 (495) 414-48-49
Искусственный интеллект

Навайбкодили сами: как довести приложение до рабочего и не потерять снова

Опубликовано: ·6 мин чтения

Приложение собрано с помощью ИИ, работает, сотрудники пользуются - но автор ушёл, исходников нет, а чинить некому. Разбираем, с чего начинается приём такого решения на сопровождение и что делать в первую очередь.

Прийти к интегратору с фразой «мы сами собрали, но что-то пошло не так» - обычная история. Чаще всего звучит примерно так: «работает медленно», «с другими модулями не приживается», «функции работают почти как надо» или «стоимость владения не радует». Само по себе это не провал - прототип сделал своё дело. Вопрос в том, как довести его до решения, которое переживёт смену сотрудников и следующую доработку.

Если вы только начинаете знакомство с платформой, почитайте что такое Битрикс24 VibeCode - это даст контекст для дальнейшего разговора.

Почему навайбкоженное ломается не сразу

Пока автор решения рядом - всё держится. Он помнит, почему сделал именно так, какой ключ использовал, что закомментировал «временно» три месяца назад. Проблема проявляется на второй-третьей доработке.

Каждое приложение, собранное через диалог с ИИ, получается уникальным. Это не плохо само по себе, но создаёт конкретную инженерную проблему: общих решений нет, правка одной функции задевает остальные непредсказуемым образом. Вендор платформы сам публично признавал: поддерживать такие решения сложно именно потому, что у каждого клиента своя уникальная сборка.

Добавьте сюда скорость: живой кейс из практики партнёров - приложение, собранное через платформу, отвечало по 30-40 секунд на нажатие. После переписки на прямой REST-запрос время отклика сократилось до 2-3 секунд. Это не значит, что платформа плохая, - она молодая и активно оптимизируется. Но это значит, что архитектурные решения, принятые «в процессе разговора с ИИ», бывают неоптимальными и их стоит пересмотреть.

Что теряется, когда автор уходит

Три потери случаются почти всегда:

Контекст. Никто не знает, почему сделано именно так. Комментариев в коде нет, ТЗ не было, история осталась в чате с ИИ на личном ноутбуке.

Доступы и ключи. Приложение ходит в портал по API-ключу, который создал и знал только автор. Если ключ не задокументирован - найти его уже нельзя, придётся создавать новый и обновлять во всём, что к нему привязано.

Исходники. Если разработка шла в локальном окружении и на сервер заливался только результат - исходников может не быть вообще. Платформа страхует частично: исходники сохраняются при каждом деплое, а для сервера можно включить резервное копирование всего диска. Но это надо было включить заранее и хотя бы раз проверить восстановлением.

Инвентаризация: с чего начинается приём решения

Прежде чем что-то чинить, нужно понять, что именно есть. Приём любого навайбкоженного приложения начинается с семи вопросов:

  1. Где физически живёт приложение - на сервере платформы (Black Hole или Галактика), на стороннем хостинге или вообще на чьём-то личном ноутбуке?
  2. Каким ключом оно ходит в портал - API-ключ или ключ авторизации (OAuth-приложение)? Какие у ключа права-скоупы? Читает или пишет?
  3. Что именно оно читает и что пишет - какие сущности портала затрагивает?
  4. Где хранит данные - в штатных сущностях Битрикс24 (сделки, смарт-процессы, пользовательские поля) или во внутренней базе приложения?
  5. Есть ли исходники и работает ли резервное копирование - был ли включён бэкап сервера, есть ли история деплоев в реестре платформы?
  6. Как встроено в интерфейс - через левое меню, слайдер, встройку в карточку сделки?
  7. Что произойдёт при обновлении платформы - есть ли зависимости от конкретной версии API или поведения, которое может измениться?

Ответы на эти вопросы дают полную картину и позволяют расставить приоритеты.

Приложение проходит путь от запроса пользователя до данных портала через несколько слоёв:

flowchart LR
    USER[Пользователь] --> APP[Приложение на сервере]
    APP --> VIBE[Платформа VibeCode]
    VIBE --> B24[Портал Битрикс24]
    B24 --> DATA[(CRM, задачи,\nсмарт-процессы)]
    APP --> OWNDB[(Своя БД\nприложения)]

Если данные оседают в собственной базе приложения, а не в штатных сущностях Битрикс24, это и есть главная архитектурная проблема - она видна уже на этапе инвентаризации.

Что чиним в первую очередь

Порядок работ важен: сначала обратимость, потом безопасность, потом производительность, и только затем - новые функции.

Шаг 1. Бэкап и исходники

Без этого любая следующая правка - риск потерять всё. Проверяем, включено ли резервное копирование на сервере платформы. Если нет - включаем и тестируем восстановление. Фиксируем исходники в репозитории, а не в папке на сервере.

Шаг 2. Права и ключи

Проверяем скоупы API-ключа. Часто бывает, что приложение для чтения аналитики работает на ключе с правами на запись - это избыточно и небезопасно. Принцип простой: ключ «только на аналитику продаж, только чтение» не создаст сделку и не изменит данные случайно. Подробнее о том, как это устроено в платформе, читайте в материале про безопасность вайбкодинга в Битрикс24.

Все ключи документируем: кто создал, какие права, где используется, кто владелец. Это занимает полчаса, но спасает при смене сотрудника.

Шаг 3. Нагрузка на портал

Оцениваем, как приложение обращается к API. Частые проблемы: запросы в цикле вместо пакетных вызовов, отсутствие кеширования при повторных чтениях одних и тех же данных, синхронные вызовы там, где допустима асинхронная обработка. Если приложение тормозит - сначала смотрим сюда, а не в железо.

Шаг 4. Хранение данных

Это отдельный и частый случай. Данные лежат внутри приложения, а не в штатных сущностях Битрикс24. Из-за этого не работают штатные отчёты, аналитика, роботы и триггеры не видят эти данные, воронки строятся вручную. Перенос хранения в портал - сделки, смарт-процессы, пользовательские поля - обычно даёт больше практической пользы, чем любая новая функция. Это трудоёмкая работа, но она переводит приложение из категории «отдельная система» в категорию «часть портала».

Шаг 5. Функциональные доработки

Только после того, как решены вопросы 1-4. Новые функции на нестабильном фундаменте накапливают технический долг.

Как передать решение, чтобы не потерять снова

Цель - чтобы через год, при смене сотрудника или подрядчика, следующий человек не начинал всё заново. Для этого нужны четыре вещи:

Описанная архитектура. Один документ: что делает приложение, какие сущности портала использует, где хранит данные, какой ключ использует и с какими правами. Не нужно 40 страниц - достаточно одной страницы с ответами на вопросы из раздела инвентаризации. Как составить такой документ, помогает понять структура ТЗ на доработку Битрикс24.

Зафиксированные доступы. Ключи, их права и владельцы - в корпоративном хранилище, не в личном мессенджере.

Включённые и проверенные бэкапы. Бэкап, который ни разу не восстанавливали, - это не бэкап.

Понятный владелец на стороне компании. Конкретный человек, который знает, что приложение существует, зачем оно и к кому обращаться при проблемах. Без этого любое решение снова становится бесхозным через несколько месяцев.

С чего начать

Если вы узнали в этом описании свою ситуацию - начните с инвентаризации. Пройдитесь по семи вопросам из соответствующего раздела и честно ответьте на каждый. Это займёт несколько часов, но даст понимание реального объёма работы.

Если на часть вопросов нет ответа - это и есть первоочередные риски.

Для приложений, развёрнутых на платформе VibeCode, часть информации можно восстановить из реестра деплоев и истории исходников - при условии, что деплой делался через платформу, а не вручную. Подробнее о том, как устроены серверы и деплой, читайте в материале про Black Hole-серверы и Галактики Битрикс24.

Если после инвентаризации стало понятно, что нужна помощь - напишите на sales@acp-24.ru или позвоните +7 495 414-48-49. АС Проект - платиновый партнёр Битрикс24 - поможет разобраться с тем, что есть, и довести решение до состояния, которое можно поддерживать. Подробнее о форматах технической поддержки - на странице технической поддержки Битрикс24.

Частые вопросы

Можно, но с оговорками. Если приложение деплоилось через платформу VibeCode, история исходников сохраняется в реестре деплоев - оттуда можно восстановить код. Если деплой делался вручную и исходников нет - придётся разбирать работающий код на сервере, что дольше и дороже.

Сначала архитектура: бэкапы, права ключей, хранение данных. Новые функции на нестабильном фундаменте только накапливают проблемы. Исправление архитектуры часто само по себе решает часть функциональных жалоб.

Не всегда. Медленная работа чаще всего связана с архитектурой запросов: запросы в цикле, отсутствие кеширования, синхронные вызовы там, где уместна асинхронность. Переписка таких мест даёт ощутимый прирост скорости без смены платформы.

Зависит от объёма проблем. Если архитектура данных принципиально неверна (данные хранятся вне портала), иногда проще пересобрать. Если проблемы в правах, производительности и отсутствии документации - обычно достаточно доработки без пересборки.

Ключ в открытом виде восстановить нельзя - это штатная защита платформы. Нужно удалить скомпрометированный или потерянный ключ, создать новый и обновить его во всех местах, где он использовался. Поэтому документирование ключей при передаче обязательно.

Есть четыре признака: архитектура описана в документе, доступы зафиксированы и не хранятся только у одного человека, бэкап включён и проверен восстановлением, назначен владелец на стороне компании. Если всё четыре выполнены - решение можно поддерживать без зависимости от конкретного автора.

У вас остались вопросы?

Оставьте заявку - мы свяжемся с вами и проконсультируем.

Читайте также

Искусственный интеллект
Приёмы вайбкодинга в Битрикс24: как ставить задачи ИИ-агенту, скиллы и
Искусственный интеллект
RAG-ассистент по звонкам на Битрикс24 VibeCode: расшифровки, эмбеддинг
Искусственный интеллект
RAG и векторный поиск на Битрикс24 VibeCode: бесплатная модель bitrix/
Искусственный интеллект
Разбор звонков на Битрикс24 Вайбкод: как собрать своё приложение
×

Оставьте заявку

Эксперт АС Проект свяжется в течение 60 минут.