Перейти к основному содержимому

ИИ-ассистент построения графов репликации

Предусловия​

  • Пользователь авторизовался в консоли GRDL под ролью APPADMIN текущего проекта.
  • В проекте открыта страница ИИ-ассистента (projects/:projectId/ai-assistant).

Процесс​

  1. Пользователь описывает задачу на естественном языке в панели чата ИИ-ассистента.
  2. Ассистент определяет проект из контекста панели и работает строго в нём.
  3. Ассистент уточняет имена соединений-источника и приёмника (или создаёт их из URL PostgreSQL).
  4. Ассистент предлагает выбрать существующее QUEUE-соединение (Kafka) или создать новое (запросив брокеры и топик).
  5. Ассистент проверяет соединения (test_connection), читает метаданные баз (read_db_schema).
  6. Ассистент предлагает значения слота, публикации и режима публикаций для захвата CDC на источнике (set_capture_options).
  7. Пользователь подтверждает предложенные значения. Только после подтверждения ассистент применяет их повторным вызовом set_capture_options с теми же значениями.
  8. Ассистент выбирает или создаёт конфигурации модулей (capture и applier).
  9. Ассистент собирает граф репликации (build_replication_graph).
  10. При необходимости ассистент настраивает маппинг таблиц (set_table_mapping).
  11. Ассистент выполняет валидацию графа (validate_graph), при ошибках исправляет и повторяет проверку.
  12. Ассистент предлагает граф к согласованию (propose_apply).
  13. Пользователь согласовывает граф кнопкой «Согласовать граф» в панели.
  14. Запуск процессов репликации выполняет пользователь на странице «Графы» после согласования.

Альтернативные сценарии​

  • Если ассистент обнаруживает неоднозначность (несколько соединений с подходящим именем, отсутствие очереди), он задаёт уточняющий вопрос.
  • Если валидация графа выдаёт ошибки (несоответствие схем, отсутствие слота/публикации), ассистент пытается исправить их автоматически и повторяет проверку.
  • Если пользователь не согласовывает предложенный граф, граф остается несогласованным и не запускается. Пользователь может продолжить диалог с ассистентом и уточнить требования к графу.
  • Если пользователь прерывает диалог, текущая сессия сохраняется и может быть возобновлена через вкладку «Журнал работ».