ArchMapДокументация

Обновить схему после изменений в коде

Бета-версия

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

Примечание

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

Скопировать задание для агента#

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

  1. Откройте страницу проекта или редактор.
  2. В правом верхнем углу нажмите кнопку Действия со схемой (три точки). Откроется меню.
  3. В меню выберите Импорт схемы. Откроется окно Обновить из репозитория.
  4. Слева в списке Язык описаний выберите, на каком языке агент напишет описания.
  5. Если нужно, в поле Подсказки агенту коротко опишите, что учесть (например, «игнорируй каталог legacy/»).
  6. Нажмите кнопку Скопировать задание для агента. Надпись на кнопке сменится на Скопировано.

Примечание

Пункт Импорт схемы видят только архитекторы с правом редактировать проект.

Получить YAML от агента#

Чтобы получить YAML от агента, выполните следующие действия:

  1. Запустите ИИ-агента в папке репозитория системы.
  2. Вставьте задание в агента и отправьте его. Агент изучит репозиторий и выведет схему в виде YAML.
  3. Сохраните ответ агента в файл с расширением .yaml или скопируйте его текст.
  4. Если система живёт в нескольких репозиториях, повторите шаги 1–3 в каждом из них с тем же заданием.

Примечание

Задание одно для всех репозиториев, и название системы в нём уже указано. Агент записывает у каждого объекта источник (код или имя зависимости), и по нему ArchMap узнаёт объект, даже если сервис переименовали (см. Найти репозиторий и путь к коду сервиса).

Проверить и применить план#

Чтобы применить изменения к схеме, выполните следующие действия:

  1. В окне Обновить из репозитория справа добавьте YAML одним из способов:
    • перетащите файлы в поле (по файлу на репозиторий);
    • нажмите кнопку Загрузить файлы… и выберите файлы;
    • нажмите кнопку Вставить текст и вставьте текст YAML в поле Вставьте сюда YAML от агента.
  2. Дождитесь, пока ArchMap сверит YAML со схемой. Под полем появятся сводка и план изменений по группам:
    • Новые объекты и Новые связи: появятся в схеме;
    • Изменённые объекты: у каждого указано, какие поля изменятся и по чему объект найден;
    • Снова в YAML: объекты со статусом Выводится, которые снова есть в коде;
    • Пропали из YAML и Пропавшие связи: объектов и связей больше нет в коде.
  3. Просмотрите замечания под планом, если они есть: Есть нюанс и Стоит проверить глазами.
  4. Если нужно, включите или выключите настройки обновления (см. Настройки обновления). План пересчитается сразу.
  5. Нажмите кнопку Применить. Окно закроется, внизу экрана появится итог (например, «Схема обновлена: создано 2, обновлено 3»).

Примечание

Если в сводке написано Применять нечего. Схема уже соответствует YAML, со времени прошлого обновления схема в коде не изменилась.

Примечание

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

Примечание

Если, пока окно было открыто, схему изменили в другом окне или другой пользователь, ArchMap не запишет изменения и попросит открыть окно заново. Так план всегда отражает актуальную схему.

Настройки обновления#

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

  • Заменить описания: описания объектов будут заменены на те, что в YAML. Ручные правки описаний пропадут.
  • Переименовать объекты: объекты получат имена из YAML. Без галочки имена останутся прежними, а расхождение будет показано в плане.
  • Обновлять внутреннее устройство сервисов: обновление затронет не только сервисы и базы, но и их компоненты.
  • Помечать устаревшими то, чего нет в YAML: пропавшие из кода объекты получат статус Выводится и станут серыми на схеме (см. Описать планируемые изменения системы).
  • Возвращать в строй то, что снова появилось: с объектов, которые снова есть в коде, будет снят статус Выводится.