ИИ-функции

Для работы ИИ-функций, встроенных в приложение, необходимо наличие двух компонентов:

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

При развертывании приложения по умолчанию используется открытая и бесплатная языковая модель. Вы можете использовать произвольные языковые модели, поддерживаемые локальными сервисами Ollama, vLLM, ollama.cpp, однако, необходимо учитывать, что хорошие языковые модели требуют значительных и специфических вычислительных ресурсов (например, GPU). Альтернативным вариантом является использования внешних языковых моделей, таких как, GigaChat и YandexGPT. Качество языковой модели определяет качество выполнения ИИ-функций в приложении.

RAG

Для поиска схожих по смыслу проектных артефактов, с целью последующего их анализа или других вычислений, используется механизм RAG (Retrieval-Augmented Generation).

В фоновом режиме ALM запрашивает у LLM-модели embeddings по текстам ранее созданных или измененных проектных артефактов, результат сохраняется в специальном хранилище, необходимом для быстрого поиска близких по смыслу текстов.

Таким образом, различные запросы к LLM используют тексты ваших проектных артефактов, позволяя выполнять полезные ИИ-функции в процессе проектирования, анализа связей и т.п.

При помощи MCP и REST API возможно реализовать ваши собственные RAG-сценарии, подробнее: ИИ-функции

Автотрассировки

Например, новое пожелание может быть связано (трассировано) на ранее реализованное требование, таким образом, потенциально изменяя его. Либо тестовый сценарий (тест-кейс) может покрывать (быть трассируемым на) функциональное требование.

Трассировки создаются в процессе работы над проектными артефактами автоматически, например, в течение жизненного цикла Доработки (или Истории пользователя). Либо трассировки устанавливаются вручную.

На начальных этапах проекта создание трассировок вручную, например, между требованиями различных уровней (типов), требует большого количества ручного труда. С другой стороны, проектная документация непрерывно меняется, что также приводит к необходимости добавлять или менять трассировки. Для экономии времени и снижения количества ошибок в этом процессе, ALM реализует механизм автоматических трассировок (автотрассировок).

На основе результатов работы RAG механизма ALM выполняет задачу автоматического подбора трассировок между проектными артефактами по ключевым ссылкам: Требования у Пожеланий, Тестовой и Эксплуатационной документации и т.п.

Автотрассировка не устанавливается автоматически, а требует валидации пользователем.

При нажатии по ссылке "добавить" система отображает предложения для создания автотрассировок.

В модулях работы с основными проектными артефактами доступны полезные модули "Автотрассировка для...", где можно увидеть полную картину предложений ALM по автотрассировкам: