ИИ-агент для администратора Directum RX: скилы вместо общих советов и подтверждение перед каждым изменением
Почему ИИ-агент даёт администратору Directum RX общие советы и сам выполняет опасные команды, что такое скилы (Agent Skills) и как открытый набор rxops для Claude Code разбирает инцидент, логи, PostgreSQL, RabbitMQ и бэкапы, пряча пароли и спрашивая перед изменениями.
Коротко. Без подготовки ИИ-агент даёт администратору Directum RX общие советы и может сам выполнить опасную команду. Скилы rxops дают ему проверенный порядок разбора и скрипты, которые только читают, а хуки Claude Code спрашивают перед изменениями и прячут пароли от модели. Ставится двумя командами, работает и без интернета; начинайте с тестового контура.
Администратор Directum RX открывает ИИ-агента в терминале сервера и пишет «с утра всё тормозит». Без подготовки агент отвечает общими советами, а с доступом к серверу может сам перезапустить службу или показать модели пароль базы из конфига. Ниже о том, почему так выходит и как это закрывают скилы и хуки на примере нашего открытого набора rxops.
Симптом
- В ответ на ошибку из лога агент советует «перезапустить службу» или «увеличить max_connections», не проверив, кто держит соединения.
- Параметры и пути в ответе из другой версии RX или из другого продукта.
- Агент с доступом к серверу выполняет
systemctl restartили чистит каталог раньше, чем вы успели прочитать, что он задумал. - Команда
cat config.ymlвыводит пароль базы, и он вместе с остальным выводом уходит в облачную модель.
Почему так
Модель знает Directum RX в общих чертах, из открытых текстов. Порядок разбора, который опытный администратор держит в голове (сначала ресурсы сервера и контейнеры, потом зависимости, потом логи), в неё не заложен. Объяснять его в каждом чате долго, а длинные инструкции в разговоре теряются.
Скилы (Agent Skills) решают это так. Скил это папка с файлом SKILL.md: в начале короткое описание, ниже порядок действий, рядом справочники и скрипты. Описания всех скилов агент держит в голове постоянно, это пара строк на каждый. Полный текст он подгружает, только когда вопрос попал в тему скила. Поэтому в агента можно положить десяток процедур и не раздуть контекст. Формат открытый, основной клиент Claude Code.
Чтобы агент ничего не сломал, одних инструкций мало: модель может их проигнорировать. В Claude Code для этого есть хуки, скрипты, которые выполняются до и после каждого инструмента. Хук может остановить команду и спросить человека, а может подменить вывод до того, как его увидит модель.
Что внутри rxops
| Скил | Когда срабатывает |
|---|---|
rx-incident |
«RX лежит», «всё тормозит»: первые 15 минут, факты, передача в нужный скил |
rx-logs |
где логи RX, как их читать, сверка с базой из 200 с лишним известных ошибок |
rx-postgresql |
соединения, блокировки, дедлоки, autovacuum, pg_wal и архив WAL, реплики |
rx-rabbitmq |
очередь растёт, нет потребителей, тревоги по памяти и диску, осиротевшие очереди |
rx-elasticsearch |
красный кластер, блокировка записи по диску, куча, индексирование документов |
rx-update |
обновление с тестовым контуром, бэкапом, проверками и планом отката |
rx-backup-check |
что входит в бэкап RX, свежий ли он и восстановится ли |
rx-security-check |
самооценка защищённости с отчётом по зонам |
rx-sizing |
серверы, диски, рост хранилища, настройки PostgreSQL, RabbitMQ и Elasticsearch |
rx-connect |
подключение rxmcp и ответы по справке вашей версии RX |
Знания взяты из статей этого блога и справочника ошибок. Скрипты проверок написаны на Python и bash без внешних пакетов, поэтому работают в закрытых контурах на Astra Linux и РЕД ОС как есть, и только читают. Запросы и разборы проверены на настоящих PostgreSQL, RabbitMQ и Elasticsearch в контейнерах. Вопросы о том, как устроен сам RX, агент сверяет со справкой той версии, что стоит у вас: её отдаёт rxmcp.
Как защищены сервер и пароли
Каждый скил начинается с одного и того же правила: сначала только смотрим, а команду, которая что-то меняет, показываем, объясняем последствия и откат и выполняем после явного согласия.
Поверх правила работают два хука:
- Подтверждение. Перед
systemctl restart,docker compose down,kubectl apply, записью в базу черезpsql,rabbitmqctl purge_queue,curl -X DELETE, удалением в системных каталогах и установкой пакетов Claude Code показывает команду и ждёт ответа человека, даже в автоматическом режиме.mkfs,ddна диск иrm -rf /хук запрещает совсем. - Маскировка. Вывод команд, прочитанные файлы и результаты поиска проходят через маскировщик до того, как попадут к модели. Пароли, токены, ключи, строки подключения и учётки в адресах заменяются на
‹скрыто›, имя параметра остаётся, поэтому видно, что пароль задан. Мы проверили это прогоном Claude Code: модель получила маску вместо значения.
Границы у защиты такие. Хуки работают только в Claude Code и требуют python3 на машине, где запущен агент. Проверка команд построена на шаблонах, и необычно записанную команду она может пропустить. В режиме полного обхода разрешений рассчитывать на подтверждение нельзя.
Что сделать
- Поставьте плагин в Claude Code двумя командами:
/plugin marketplace add drxinfra/rxopsи/plugin install rxops@drxinfra. - Подключите rxmcp, чтобы агент отвечал по справке вашей версии: скажите агенту «подключи RX», дальше его проведёт скил
rx-connect. - Начните с тестового контура. Попросите «проверь PostgreSQL» или «разберись, почему растёт очередь» и посмотрите, какие команды агент выполняет и что предлагает.
- В закрытый контур плагин переносится архивом со страницы rxops: распакуйте и запустите
claude --plugin-dir /путь/к/rxops. - В Claude Desktop и claude.ai скилы загружаются по одному архивами из релиза. Хуков там нет, защита держится на правилах скилов.
Свои процедуры можно оформить так же: формат и правила описаны в репозитории.
Чего не делать
- Не запускать агента с полным обходом разрешений на рабочих серверах. В этом режиме подтверждение может не сработать, и команда выполнится сразу.
- Не вставлять пароли и токены в чат. Маскировка работает для вывода инструментов, а текст вашего сообщения уходит модели как есть. Пароль для проверки вводите сами в терминале или передавайте через переменную окружения.
- Не отправлять логи с персональными данными во внешний сервис без решения ИБ. Хук прячет пароли, но содержимое логов и документов уходит провайдеру модели. Для закрытого контура нужна локальная модель, как в нашем демо, и об этом статья про безопасность ИИ-помощника.
- Не выполнять предложенное исправление, не прочитав его. Агент ошибается, как и человек. Скилы требуют, чтобы он называл команду, её последствия и откат: проверьте это перед своим «да».
Похожая картина у вас?
Разберём ваш контур за 30 минут бесплатного созвона: версия RX, состав сервисов, что болит сильнее всего.
Написать