Поддержание жизненного цикла ПО
Процессы поддержки, развития, устранения неисправностей и ИБ платформы Voxagent
Документ описывает совокупность процессов, организационных мер и технических средств, применяемых разработчиком ПО «Платформа автоматизации с ИИ-агентами Voxagent» для поддержания работоспособности, устранения неисправностей, выпуска новых версий и взаимодействия с пользователями. Документ применим как к облачной эксплуатации, так и к поставке в инфраструктуру заказчика (on-premise).
Общие сведения
Наименование программы
Полное наименование программы: «Платформа автоматизации с ИИ-агентами Voxagent». В рамках настоящего документа употребляются также обозначения «Voxagent» и «ПО».
Назначение документа
Документ описывает:
- поддержание работоспособности ПО на протяжении всего срока его эксплуатации;
- устранение неисправностей, выявленных в ходе эксплуатации ПО;
- совершенствование ПО — выпуск новых версий с расширенной функциональностью и улучшениями;
- информационное и техническое взаимодействие с пользователями ПО.
Процессы поддержания жизненного цикла
Общая модель жизненного цикла
Поддержание жизненного цикла ПО обеспечивается силами разработчика и включает следующие основные процессы:
- проектирование, разработка и тестирование новых версий ПО;
- выпуск версий и поставка ПО конечным пользователям;
- сопровождение и техническая поддержка пользователей;
- регистрация, диагностика и устранение неисправностей, выявленных в ходе эксплуатации;
- совершенствование ПО на основе обратной связи от пользователей и собственного бэклога развития;
- обеспечение информационной безопасности на всех этапах жизненного цикла.
Процессы применяются непрерывно: новые версии ПО выпускаются по мере накопления изменений, обращения пользователей принимаются в режиме, описанном в разделе «Сопровождение и техническая поддержка»; устранение неисправностей выполняется в порядке приоритета и интегрируется в текущий цикл выпуска версий.
Разработка и выпуск новых версий
Разработка ПО ведётся по итеративной модели с короткими циклами выпуска. Основные элементы процесса:
- управление требованиями — входящие обращения, пожелания и предложения пользователей фиксируются в системе управления задачами, приоритизируются и включаются в план развития;
- разработка и ревью кода — изменения вносятся в единую систему контроля версий, проходят обязательное код-ревью силами других участников команды разработки;
- автоматизированное тестирование — для критичных компонентов и сценариев используются модульные и интеграционные тесты, выполняемые в системе непрерывной интеграции при каждом изменении;
- ручное тестирование функциональности на тестовых окружениях, в том числе проверка узлов сценариев, интеграций, ИИ-агентов, телефонии и виджета;
- сборка релизных артефактов — исходный код собирается в контейнерные образы, проходит проверку и помечается версионным тегом;
- выпуск версии — подготовленные артефакты публикуются в репозиторий контейнерных образов; для облачной эксплуатации обновление выполняется централизованно средствами оркестратора Kubernetes, для эксплуатации on-premise обновлённые Helm-чарты предоставляются эксплуатирующей стороне.
Изменения, не затрагивающие функциональность и совместимость (исправления ошибок, оптимизации), могут выпускаться чаще, чем функциональные обновления, и применяются автоматически в облачной инсталляции.
Поставка и развёртывание
ПО поставляется в следующих вариантах:
- облачная эксплуатация — пользователь получает доступ к ПО через веб-браузер по сети Интернет (https://console.voxagent.ru); развёртывание и обновление обеспечиваются разработчиком; от пользователя требуется только регистрация рабочего пространства и подключение собственных учётных записей внешних сервисов (LLM-провайдеры, телефония);
- on-premise — в инфраструктуре заказчика — серверная часть разворачивается средствами Kubernetes; поставка осуществляется в виде Helm-чартов и набора контейнерных образов; вместе с дистрибутивом передаётся эксплуатационная документация (Описание архитектуры, Руководство по установке), описывающая установку, начальную конфигурацию и регламентное обслуживание.
В обоих вариантах поставки клиентская часть (веб-интерфейс рабочего пространства и встраиваемый виджет голосового агента) исполняется в браузере пользователя и не требует установки дополнительного ПО на рабочее место.
Для on-premise-инсталляций обновлённые версии чартов и контейнерных образов предоставляются заказчику по согласованному каналу; обновление в инфраструктуре заказчика выполняется силами эксплуатационной службы заказчика средствами Helm и Kubernetes.
Сопровождение и техническая поддержка пользователей
Сопровождение пользователей ПО обеспечивается силами разработчика и включает:
- приём и регистрацию обращений пользователей;
- классификацию обращений по типу (вопрос по эксплуатации, инцидент, предложение по развитию) и по приоритету;
- диагностику обращения: ответ пользователю с разъяснением, запрос дополнительной информации либо передача обращения в работу команде разработки;
- информирование пользователя о статусе обращения и предоставление решения или обходного пути;
- закрытие обращения по подтверждению пользователя.
Каналы поддержки
Основные каналы взаимодействия пользователей со службой поддержки разработчика:
- встроенный ИИ-ассистент в веб-интерфейсе рабочего пространства https://console.voxagent.ru — основной канал для оперативных вопросов по эксплуатации, объяснения функционала и помощи в настройке агентов. Ассистент отвечает в режиме диалога круглосуточно, при необходимости эскалирует обращение специалисту;
- электронная почта — приватный канал для случаев недоступности рабочего пространства, критических инцидентов и обращений, требующих конфиденциальности.
Документация и самостоятельная диагностика
Помимо обращения в службу поддержки, пользователю предоставлены средства для самостоятельной диагностики и обучения:
- эксплуатационная документация продукта, опубликованная по адресу , включая разделы Описание функциональных характеристик, Руководство пользователя, Описание архитектуры и Руководство по установке;
- встроенный ИИ-ассистент, способный объяснять, проектировать и отлаживать конфигурации агентов и сценариев телефонии в режиме диалога прямо в интерфейсе;
- журнал истории разговоров с записями, транскрипциями, телеметрией и сообщениями об ошибках по каждой сессии, позволяющий пользователю самостоятельно локализовать причину сбоя.
Устранение неисправностей, выявленных в ходе эксплуатации
Под неисправностью понимается отклонение фактического поведения ПО от ожидаемого, описанного в эксплуатационной документации, либо отказ компонента ПО.
Процесс устранения неисправностей включает:
- Регистрация. Сообщение о неисправности поступает от пользователя по одному из каналов поддержки либо выявляется внутренними средствами мониторинга и наблюдаемости. Каждое сообщение фиксируется в системе управления задачами.
- Классификация и приоритизация. Сообщение классифицируется как ошибка, инцидент эксплуатации или запрос на изменение. Назначается приоритет, учитывающий влияние на работу пользователей, наличие обходного пути и количество затронутых пользователей.
- Диагностика. Инженер технической поддержки или разработчик выполняет воспроизведение неисправности, анализ журналов сессий, телеметрии и системных журналов, при необходимости запрашивает у пользователя дополнительные сведения.
- Устранение. Для критичных инцидентов в первую очередь предоставляется обходное решение и (или) производится оперативная корректировка на стороне облачной инсталляции. Постоянное исправление ошибки вносится в исходный код, проходит код-ревью и автоматизированное тестирование, после чего включается в очередной выпуск версии ПО.
- Доставка исправления. Для облачной эксплуатации исправление становится доступным пользователю автоматически после очередного обновления компонентов. Для эксплуатации on-premise исправление поставляется в составе обновлённого Helm-чарта и контейнерных образов; применение обновления выполняется эксплуатационной службой заказчика.
- Информирование и закрытие. После устранения неисправности пользователь информируется о результате; обращение закрывается.
Конкретные сроки реакции на обращения и сроки устранения неисправностей не нормируются настоящим документом и могут быть зафиксированы отдельным соглашением (договором, SLA) с конкретным заказчиком.
Совершенствование и развитие ПО
Совершенствование ПО осуществляется на основе:
- обратной связи пользователей (обращения в каналы поддержки, прямые предложения через ИИ-ассистента);
- внутреннего бэклога развития продукта, который ведётся командой разработки и учитывает рыночные требования, появление новых технологий (новые модели LLM, новые провайдеры TTS/STT, новые протоколы интеграции с телефонией) и архитектурные улучшения;
- результатов анализа эксплуатации (типичные ошибки конфигураций агентов, узкие места производительности, наиболее востребованные интеграции).
Совершенствование выполняется в виде:
- расширения функциональности (новые типы агентов, новые интеграции, новые возможности голосовых сценариев, поддержка новых моделей и провайдеров LLM/TTS/STT);
- улучшений удобства использования (доработки интерфейса конструктора агентов, ИИ-ассистента, средств отладки разговоров);
- оптимизации производительности и масштабируемости компонентов;
- актуализации используемых библиотек, рантаймов и базовых образов.
Изменения попадают в плановый цикл разработки. Информация о значимых изменениях публикуется в эксплуатационной документации.
Обеспечение информационной безопасности при сопровождении
При выполнении процессов жизненного цикла соблюдаются следующие принципы:
- разграничение доступа сотрудников разработчика к производственным средам и пользовательским данным — только в объёме, необходимом для выполнения трудовых обязанностей;
- доступ сотрудников к коду, инфраструктуре и системам управления задачами осуществляется с использованием персональных учётных записей;
- учётные данные внешних сервисов, передаваемые пользователями платформе (API-ключи LLM-провайдеров, токены доступа к телефонии, секреты вебхуков) хранятся в защищённом хранилище секретов отдельно от тела конфигураций агентов и доступны только в момент исполнения;
- зависимости и базовые контейнерные образы регулярно обновляются с учётом информации об уязвимостях; критичные обновления безопасности приоритизируются и выпускаются вне общего цикла;
- при возникновении инцидента информационной безопасности затронутые пользователи уведомляются по каналам поддержки.
Инфраструктура, используемая для поддержания жизненного цикла ПО
Среды разработки, тестирования и эксплуатации
Для поддержания жизненного цикла используются логически разделённые среды:
- среда разработки — для написания, проверки и локального запуска кода;
- среда тестирования (staging) — для проверки собранных версий ПО на стендах, максимально приближённых к производственной конфигурации;
- среда эксплуатации (production) — облачная инсталляция ПО, доступная пользователям по сети Интернет, либо инфраструктура заказчика в случае on-premise-эксплуатации.
Изменения проходят через все среды последовательно: попадание изменения в среду эксплуатации возможно только после успешного прохождения автоматизированных и ручных проверок в предыдущих средах.
Системы управления исходным кодом и сборки
- единая система контроля версий с обязательным код-ревью и историей изменений;
- система непрерывной интеграции и доставки (CI/CD), выполняющая сборку контейнерных образов, автоматизированные проверки и публикацию артефактов;
- репозиторий контейнерных образов, используемый как для облачной эксплуатации, так и для поставки on-premise.
Системы регистрации обращений и управления задачами
- каналы приёма обращений пользователей (встроенный ИИ-ассистент и электронная почта поддержки) интегрированы с внутренней системой управления задачами разработчика; каждое обращение, требующее доработки или исправления, фиксируется в виде задачи и связывается с релизной поставкой;
- ведётся внутренний бэклог развития продукта; приоритеты пересматриваются командой разработки регулярно.
Хранение и распространение дистрибутивов
- исходные коды и сборочные конфигурации хранятся в системе контроля версий;
- бинарные артефакты (контейнерные образы) хранятся в репозитории контейнерных образов ;
- Helm-чарты для on-premise-поставки версионируются и предоставляются заказчику по согласованному каналу вместе с эксплуатационной документацией;
- эксплуатационная документация ПО публикуется по адресу и поддерживается в актуальном состоянии.
Информация о персонале, необходимом для обеспечения поддержки ПО
Состав ролей
Для поддержания жизненного цикла ПО разработчик располагает квалифицированной командой, включающей следующие функциональные роли:
- разработчики серверной части — проектирование и сопровождение API, движка исполнения голосовых агентов, сервисов интеграций (телефония, виджет), подсистемы хранения и наблюдаемости;
- разработчики клиентской части — реализация и сопровождение веб-интерфейса рабочего пространства, конструктора голосовых агентов, встроенного ИИ-ассистента и встраиваемого виджета;
- инженеры по ИИ-агентам и интеграциям — настройка и сопровождение интеграций с LLM-провайдерами и провайдерами TTS/STT, медиа-обработка, протоколы реального времени (WebRTC, SIP), поддержка инструментов и вебхуков агентов;
- инженеры по эксплуатации (DevOps / SRE) — сопровождение Kubernetes-кластеров, конвейеров сборки и доставки, систем наблюдаемости, обеспечение отказоустойчивости и масштабирования;
- инженеры по обеспечению качества — формирование и поддержка автоматизированных и ручных проверок, регрессионное тестирование релизных кандидатов;
- специалисты технической поддержки — приём, регистрация и обработка обращений пользователей, взаимодействие с разработкой по инцидентам и запросам;
- технические писатели и контент-менеджеры — подготовка и актуализация эксплуатационной документации;
- продуктовые менеджеры и руководители разработки — приоритизация задач, координация выпуска версий, развитие продукта.
Численность сотрудников в каждой роли определяется текущими потребностями развития и сопровождения ПО и обеспечивает выполнение всех процессов, описанных в настоящем документе.
Требования к квалификации
К сотрудникам, участвующим в поддержании жизненного цикла ПО, предъявляются следующие общие требования:
- профильное образование (высшее или средне-специальное в области информационных технологий) либо подтверждённый практический опыт работы по соответствующей роли;
- владение применяемыми технологиями и инструментами: для разработчиков — современные веб-фреймворки, языки программирования (TypeScript, C#, Python), СУБД, протоколы реального времени; для инженеров по эксплуатации — Kubernetes, Helm, средства наблюдаемости и систем непрерывной интеграции; для инженеров технической поддержки — общее понимание архитектуры платформы и принципов работы голосовых агентов;
- понимание принципов безопасной разработки и работы с конфиденциальными данными пользователей;
- готовность работать в режиме итеративной разработки и оперативно реагировать на пользовательские обращения.
Поддержание компетенций
Поддержание компетенций сотрудников обеспечивается:
- внутренней передачей знаний при адаптации новых сотрудников и обмене опытом внутри команд;
- регулярной работой с актуальными версиями используемых технологий и базовых компонентов (рантаймов, СУБД, оркестратора Kubernetes, моделей LLM);
- участием сотрудников в развитии собственного продукта и сопровождении его в эксплуатации, что обеспечивает непосредственное практическое освоение применяемых решений;
- актуализацией внутренней технической документации (архитектурных описаний, регламентов поддержки, инструкций по эксплуатации компонентов).
Каналы взаимодействия с пользователями и контактная информация
Для взаимодействия с пользователями по вопросам сопровождения, развития и эксплуатации ПО разработчиком предоставляются следующие каналы:
| Канал | Адрес | Назначение |
|---|---|---|
| Встроенный ИИ-ассистент | https://console.voxagent.ru | Основной канал поддержки: вопросы по эксплуатации, помощь в настройке агентов и сценариев, объяснение функционала |
| Электронная почта | Приватный канал: недоступность рабочего пространства, критические инциденты, обращения, требующие конфиденциальности | |
| Эксплуатационная документация | Справочные материалы по работе с ПО, описание функционала, типовых сценариев и их устранения |
Встроенный ИИ-ассистент в рабочем пространстве доступен пользователю круглосуточно. Обращения через электронную почту обрабатываются специалистами поддержки в рабочие дни; критические инциденты, поступающие через электронную почту, рассматриваются вне зависимости от рабочего расписания.