Поддержание жизненного цикла ПО

Процессы поддержки, развития, устранения неисправностей и ИБ платформы 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 — основной канал для оперативных вопросов по эксплуатации, объяснения функционала и помощи в настройке агентов. Ассистент отвечает в режиме диалога круглосуточно, при необходимости эскалирует обращение специалисту;
  • электронная почта — приватный канал для случаев недоступности рабочего пространства, критических инцидентов и обращений, требующих конфиденциальности.

Документация и самостоятельная диагностика

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

Устранение неисправностей, выявленных в ходе эксплуатации

Под неисправностью понимается отклонение фактического поведения ПО от ожидаемого, описанного в эксплуатационной документации, либо отказ компонента ПО.

Процесс устранения неисправностей включает:

  1. Регистрация. Сообщение о неисправности поступает от пользователя по одному из каналов поддержки либо выявляется внутренними средствами мониторинга и наблюдаемости. Каждое сообщение фиксируется в системе управления задачами.
  2. Классификация и приоритизация. Сообщение классифицируется как ошибка, инцидент эксплуатации или запрос на изменение. Назначается приоритет, учитывающий влияние на работу пользователей, наличие обходного пути и количество затронутых пользователей.
  3. Диагностика. Инженер технической поддержки или разработчик выполняет воспроизведение неисправности, анализ журналов сессий, телеметрии и системных журналов, при необходимости запрашивает у пользователя дополнительные сведения.
  4. Устранение. Для критичных инцидентов в первую очередь предоставляется обходное решение и (или) производится оперативная корректировка на стороне облачной инсталляции. Постоянное исправление ошибки вносится в исходный код, проходит код-ревью и автоматизированное тестирование, после чего включается в очередной выпуск версии ПО.
  5. Доставка исправления. Для облачной эксплуатации исправление становится доступным пользователю автоматически после очередного обновления компонентов. Для эксплуатации on-premise исправление поставляется в составе обновлённого Helm-чарта и контейнерных образов; применение обновления выполняется эксплуатационной службой заказчика.
  6. Информирование и закрытие. После устранения неисправности пользователь информируется о результате; обращение закрывается.

Конкретные сроки реакции на обращения и сроки устранения неисправностей не нормируются настоящим документом и могут быть зафиксированы отдельным соглашением (договором, 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Основной канал поддержки: вопросы по эксплуатации, помощь в настройке агентов и сценариев, объяснение функционала
Электронная почтаПриватный канал: недоступность рабочего пространства, критические инциденты, обращения, требующие конфиденциальности
Эксплуатационная документацияСправочные материалы по работе с ПО, описание функционала, типовых сценариев и их устранения

Встроенный ИИ-ассистент в рабочем пространстве доступен пользователю круглосуточно. Обращения через электронную почту обрабатываются специалистами поддержки в рабочие дни; критические инциденты, поступающие через электронную почту, рассматриваются вне зависимости от рабочего расписания.

Содержание

Общие сведенияНаименование программыНазначение документаПроцессы поддержания жизненного циклаОбщая модель жизненного циклаРазработка и выпуск новых версийПоставка и развёртываниеСопровождение и техническая поддержка пользователейКаналы поддержкиДокументация и самостоятельная диагностикаУстранение неисправностей, выявленных в ходе эксплуатацииСовершенствование и развитие ПООбеспечение информационной безопасности при сопровожденииИнфраструктура, используемая для поддержания жизненного цикла ПОСреды разработки, тестирования и эксплуатацииСистемы управления исходным кодом и сборкиСистемы регистрации обращений и управления задачамиХранение и распространение дистрибутивовИнформация о персонале, необходимом для обеспечения поддержки ПОСостав ролейТребования к квалификацииПоддержание компетенцийКаналы взаимодействия с пользователями и контактная информация