Обновить схему после изменений в коде
Бета-версия
Документирование с помощью ИИ-агента пока работает в режиме бета-версии. Перед применением проверьте, что предлагает агент, а после применения при необходимости поправьте результат вручную.
Примечание
Когда в коде системы появляются новые сервисы и связи или пропадают старые, схему можно обновить тем же ИИ-агентом, что и строил её. ArchMap сверит ответ агента со схемой, покажет план изменений и запишет его только после вашего подтверждения. Расположение объектов, схемы логики, спецификации и бизнес-процессы при этом останутся на месте, а удалять объекты ArchMap не будет ни при каких настройках.
Скопировать задание для агента#
Чтобы скопировать задание для агента, выполните следующие действия:
- Откройте страницу проекта или редактор.
- В правом верхнем углу нажмите кнопку Действия со схемой (три точки). Откроется меню.
- В меню выберите Импорт схемы. Откроется окно Обновить из репозитория.
- Слева в списке Язык описаний выберите, на каком языке агент напишет описания.
- Если нужно, в поле Подсказки агенту коротко опишите, что учесть (например, «игнорируй каталог legacy/»).
- Нажмите кнопку Скопировать задание для агента. Надпись на кнопке сменится на Скопировано.
Примечание
Пункт Импорт схемы видят только архитекторы с правом редактировать проект.
Получить YAML от агента#
Чтобы получить YAML от агента, выполните следующие действия:
- Запустите ИИ-агента в папке репозитория системы.
- Вставьте задание в агента и отправьте его. Агент изучит репозиторий и выведет схему в виде YAML.
- Сохраните ответ агента в файл с расширением
.yamlили скопируйте его текст. - Если система живёт в нескольких репозиториях, повторите шаги 1–3 в каждом из них с тем же заданием.
Примечание
Задание одно для всех репозиториев, и название системы в нём уже указано. Агент записывает у каждого объекта источник (код или имя зависимости), и по нему ArchMap узнаёт объект, даже если сервис переименовали (см. Найти репозиторий и путь к коду сервиса).
Проверить и применить план#
Чтобы применить изменения к схеме, выполните следующие действия:
- В окне Обновить из репозитория справа добавьте YAML одним из способов:
- перетащите файлы в поле (по файлу на репозиторий);
- нажмите кнопку Загрузить файлы… и выберите файлы;
- нажмите кнопку Вставить текст и вставьте текст YAML в поле Вставьте сюда YAML от агента.
- Дождитесь, пока ArchMap сверит YAML со схемой. Под полем появятся сводка и план изменений по группам:
- Новые объекты и Новые связи: появятся в схеме;
- Изменённые объекты: у каждого указано, какие поля изменятся и по чему объект найден;
- Снова в YAML: объекты со статусом Выводится, которые снова есть в коде;
- Пропали из YAML и Пропавшие связи: объектов и связей больше нет в коде.
- Просмотрите замечания под планом, если они есть: Есть нюанс и Стоит проверить глазами.
- Если нужно, включите или выключите настройки обновления (см. Настройки обновления). План пересчитается сразу.
- Нажмите кнопку Применить. Окно закроется, внизу экрана появится итог (например, «Схема обновлена: создано 2, обновлено 3»).
Примечание
Если в сводке написано Применять нечего. Схема уже соответствует YAML, со времени прошлого обновления схема в коде не изменилась.
Примечание
Если в файле ошибка, вместо плана появится блок YAML не читается с описанием ошибки. Отправьте этот текст агенту в ту же сессию. Агент исправит файл и выведет его заново.
Примечание
Если, пока окно было открыто, схему изменили в другом окне или другой пользователь, ArchMap не запишет изменения и попросит открыть окно заново. Так план всегда отражает актуальную схему.
Настройки обновления#
По умолчанию обновление осторожное: добавляет новое, а всё, что вы могли поправить вручную, оставляет как есть. Каждую настройку можно включить галочкой в окне Обновить из репозитория:
- Заменить описания: описания объектов будут заменены на те, что в YAML. Ручные правки описаний пропадут.
- Переименовать объекты: объекты получат имена из YAML. Без галочки имена останутся прежними, а расхождение будет показано в плане.
- Обновлять внутреннее устройство сервисов: обновление затронет не только сервисы и базы, но и их компоненты.
- Помечать устаревшими то, чего нет в YAML: пропавшие из кода объекты получат статус Выводится и станут серыми на схеме (см. Описать планируемые изменения системы).
- Возвращать в строй то, что снова появилось: с объектов, которые снова есть в коде, будет снят статус Выводится.