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

Написать схему логики операции или воркера

Примечание

Схема логики — блок-схема в нотации Mermaid, которая по шагам описывает одну операцию сервиса или один воркер. Вид Операция описывает обработчик запроса или сценарий клиента, а вид Воркер описывает фоновую задачу. Как схемы выглядят у читателя, описано в Просмотреть логику операции или воркера.

Примечание

С чего начать, зависит от размера сервиса:

Создать схему вручную#

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

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

Примечание

Пример схемы:

flowchart TD
    A["Принять состав корзины и адрес"] --> B{"Позиций не больше лимита?<br>зависит от: MAX_ITEMS_PER_ORDER"}
    B -- Нет --> E["422: слишком много позиций"]
    B -- Да --> C["Сохранить заказ со статусом «новый»<br>пишет: orders, order_items"]
    C --> D["Опубликовать событие «заказ создан»<br>публикует: orders.events"]
    D --> F["201: номер заказа"]

Примечание

Эндпоинт связывает схему со спецификацией OpenAPI сервиса: читатель найдёт схему по эндпоинту, а в разделе Логика эндпоинт виден рядом с названием схемы (см. Добавить спецификацию OpenAPI сервиса).

Примечание

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

Изменить или удалить схему#

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

  1. На странице сервиса в разделе Логика нажмите на схему. Откроется окно схемы.
  2. В шапке окна нажмите Изменить и выберите Вручную.
  3. Поправьте поля или код схемы.
  4. Нажмите кнопку Сохранить.

Примечание

Чтобы удалить схему, в режиме правки нажмите Удалить схему внизу окна и подтвердите удаление. Кнопка Отмена выходит из правки без сохранения.

Примечание

Переписать схему можно и силами агента. Для этого в меню Изменить выберите Через ИИ-агента (см. Получить схемы логики от агента).

Сослаться на таблицы, каналы и параметры#

Примечание

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

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

  1. В коде схемы в подписи шага после текста добавьте перенос <br>.
  2. Напишите маркер с двоеточием и имя факта:
    • читает: или пишет: и имя таблицы или колонки (например, пишет: orders.status);
    • публикует: или потребляет: и имя канала (например, публикует: orders.events);
    • зависит от: и имя параметра конфигурации этого же сервиса (например, зависит от: MAX_ITEMS_PER_ORDER).
  3. Сохраните схему. В строке Обращения под схемой появится обращение: с галочкой, если факт найден, или с предупреждением, если нет.

Примечание

Несколько имён перечисляются через запятую: пишет: orders, order_items. Если шаг и читает, и пишет таблицу, используйте слитный маркер читает/пишет: orders.

Примечание

Если таблица или канал с таким именем есть в нескольких базах данных или брокерах, укажите объект перед именем через косую черту: пишет: БД заказов / orders. Параметр ищется только у самого сервиса, поэтому для зависит от: объект не указывается.

Примечание

Имя в пометке должно совпадать с таблицей, каналом или параметром, описанными в проекте (см. Описать структуру базы данных, Описать каналы брокера, Описать конфигурацию сервиса). Пометка, для которой факт не найден, попадает в Рекомендации (см. Разобрать рекомендации к схеме). Если двоеточие стоит в обычном тексте (например, «зависит от: нагрузки»), уберите его.

Составить список операций#

Бета-версия

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

Примечание

Список нужен крупному сервису с десятками и сотнями операций, потому что все их за один заход агент не опишет. Агент соберёт список по коду, а ArchMap создаст по каждой операции пустую схему-заглушку. Для небольшого сервиса этот шаг не нужен.

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

  1. На странице сервиса в разделе Логика нажмите + Добавить и выберите Составить список операций. Откроется окно Составить список операций с помощью ИИ-агента.
  2. Нажмите кнопку Скопировать промпт.
  3. Запустите агента в папке репозитория сервиса, вставьте промпт и отправьте. Агент положит файл archmap-recon.yaml в корень репозитория.
  4. В окне перетащите файл archmap-recon.yaml в поле справа. Под полем появится проверка. В ней видно, какие заглушки будут созданы.
  5. Нажмите кнопку Применить. Заглушки появятся в блоке Не описано в разделе Логика.

Примечание

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

Примечание

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

Примечание

Список можно собирать повторно: новых заглушек появится ровно столько, сколько в коде появилось новых операций.

Описать логику с помощью ИИ-агента#

Бета-версия

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

Примечание

Агент читает код сервиса и рисует схему на каждую операцию и каждый воркер. Если структура баз данных, каналы и конфигурация уже описаны, агент сам поставит в шагах пометки с их именами (см. Документировать систему с помощью ИИ-агента).

Примечание

Если список операций уже составлен, агент берёт работу из него и заполняет заглушки. Когда операций много, агент описывает их частями, и каждый следующий запуск окна продолжает с операций, которые ещё не описаны.

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

  1. На странице сервиса в разделе Логика нажмите + Добавить и выберите Через ИИ-агента. Откроется окно Описать логику с помощью агента.
  2. Выберите режим:
    • Пакетом: агент опишет все операции и воркеры сервиса, а если список операций составлен, то очередную часть списка;
    • По одной схеме: агент опишет одну операцию или один воркер. В поле Что описать укажите воркер или эндпоинт (например, POST /orders).
  3. В поле Язык подписей выберите язык, на котором агент подпишет шаги схем.
  4. Если нужно, в поле Подсказки агенту уточните задание (например, «документируй только сервис billing»).
  5. Нажмите кнопку Скопировать промпт.
  6. Запустите агента в папке репозитория сервиса, вставьте промпт и отправьте. Агент сложит файлы схем в папку archmap-docs/ репозитория.
  7. В окне перетащите файлы из папки archmap-docs/ в поле справа. Под полем появится проверка. В ней видно, какие схемы будут созданы или обновлены.
  8. Если нужно, поправьте в проверке имя или вид схемы.
  9. Нажмите кнопку Применить (в режиме По одной схеме кнопка называется Добавить). Схемы появятся в разделе Логика.

Примечание

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

Примечание

В режиме По одной схеме кнопка Добавить ещё применяет схему и оставляет окно открытым для следующей операции.

Примечание

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

Примечание

Схемы логики может написать и агент, подключённый по MCP. Попросите его об этом своими словами (например, «Опиши логику операций Catalog API в проекте «Ярмарка»»). Агент покажет план и после вашего подтверждения запишет схемы в проект (см. Подключить своего агента через MCP-сервер).

Описать операцию из списка#

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

  1. На странице сервиса в разделе Логика раскройте блок Не описано и нажмите на операцию. Откроется окно с надписью Эта операция ещё не описана.
  2. Нажмите Описать и выберите Через ИИ-агента. Промпт в окне уже настроен на эту операцию.
  3. Скопируйте промпт, запустите агента в репозитории сервиса и загрузите полученный файл в окно.
  4. Нажмите кнопку Применить. Заглушка заполнится, и операция переедет из блока Не описано в список Операции.

Примечание

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