Нейросеть для DevOps: конфиги, скрипты и разбор инцидентов

Модель хорошо пишет черновики конфигов и разбирает логи, но не должна иметь прав на прод. Показываем задачи, безопасные рамки и пример скрипта.

5 мин · · автоматизация · разработка

Нейросеть для DevOps полезна там, где работа состоит из текстов с жёсткой структурой: Dockerfile, пайплайны CI, манифесты, Terraform, shell-скрипты, логи. Модель быстро пишет черновик и находит в чужом конфиге очевидные ошибки. Опасность не в том, что она ошибётся, а в том, что результат вы примените к настоящей инфраструктуре без проверки. Ниже: какие задачи имеет смысл поручать, как построить границы безопасности и как это выглядит в коде.

Что поручать модели

Dockerfile. Попросите собрать образ для вашего приложения, а затем отдельным запросом проверить его: порядок слоёв и кэш сборки, запуск не от root, лишние пакеты, размер образа, закреплённые версии базовых образов. Результат прогоняйте через docker build и линтер, а не принимайте на веру.

CI/CD. Черновик workflow для GitHub Actions или GitLab CI, перенос конфигурации с одной системы на другую, объяснение, почему падает шаг. Для таких задач модели нужен сам конфиг и фрагмент лога с ошибкой.

Terraform и манифесты. Написание модуля по описанию, ревью terraform plan, поиск небезопасных настроек (открытые порты, публичные бакеты). Важно: модель смотрит на текст плана, но не знает вашей реальной инфраструктуры сверх того, что вы ей показали.

Скрипты. Bash и Python для рутины: ротация логов, сбор метрик, проверка сертификатов. Просите безопасные по умолчанию варианты (set -euo pipefail, проверка аргументов, режим «сухого запуска»).

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

Документация. Runbook по инциденту, описание архитектуры по конфигам, README к репозиторию с инфраструктурой.

Чего не поручать без человека

  • Применять изменения (terraform apply, kubectl apply, миграции) на боевом окружении.
  • Принимать решения о доступах и сетевой политике без ревью.
  • Работать с реальными секретами и дампами с персональными данными.

Причина проста: модель может уверенно предложить неверную команду. Цена ошибки в разработке это упавший тест, в продакшне это простой или потеря данных.

Границы безопасности для агента

Если вы используете агентный инструмент (Claude Code или аналогичный), который сам выполняет команды, закладывайте защиту до первого запуска.

  1. Отдельное окружение. Агент работает в песочнице, на тестовом стенде или в копии репозитория, а не на рабочей машине с доступом к проду.
  2. Минимальные права. Учётные данные только для чтения: terraform plan и kubectl get вместо apply и delete. Облачные ключи выдавайте с ограничением по ресурсам.
  3. Нет боевых секретов в окружении агента. Если переменные окружения содержат токены от прода, агент может их прочитать и случайно отправить модели. Используйте отдельные тестовые значения.
  4. Подтверждение опасных команд. Не включайте режим «разрешить всё». Чтение файлов и запуск линтеров разрешайте постоянно, всё остальное подтверждайте. Как это настраивается, смотрите в документации используемого инструмента.
  5. Применяет человек. Агент готовит изменение и показывает дифф или план, а apply выполняете вы или пайплайн после ревью.
  6. Секреты в промпте. Перед отправкой логов и конфигов удаляйте токены, пароли, внутренние адреса. Автоматизируйте это, как в примере ниже.

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

Пример: ревью плана Terraform перед apply

Скрипт читает вывод terraform plan, вычищает похожее на секреты и просит модель найти рискованные изменения. Это ревью-помощник, а не замена человека.

bash
import re
import subprocess
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_ваш_ключ")

SECRET = re.compile(r"(?i)(password|secret|token|api[_-]?key)\s*[=:]\s*\S+")

def redact(text: str) -> str:
    return SECRET.sub(lambda m: m.group(1) + " = [REDACTED]", text)

plan = subprocess.run(
    ["terraform", "plan", "-no-color"],
    capture_output=True, text=True, timeout=600,

Цену подсчитаем. Допустим, вывод плана занимает 20 000 токенов, ответ 2 000. Формула: вход × цена входа + выход × цена выхода, цены на 18 октября 2026. Для gpt-6.1-sol (0,27 / 1,32 за 1M): 0,02 × 0,27 + 0,002 × 1,32 = 0,0054 + 0,00264 = $0,00804. Для claude-sonnet-5-5 (0,4 / 2): 0,02 × 0,4 + 0,002 × 2 = 0,008 + 0,004 = $0,012. Если планов десять в день, это порядка десяти центов. Свежие цены всегда в ответе GET https://api.zukko.pro/v1/models.

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

Подбор модели

Для черновиков конфигов и работы с логами дорогая модель нужна не всегда. Практичный порядок: сначала дешёвая из каталога (например, deepseek-v4.1-flash или glm-5.3-flash), и на эскалацию переходите, если результат неверен: каскад моделей. Для сложных вещей вроде многошаговой отладки пайплайна попробуйте claude-sonnet-5-5 или claude-opus-5-5. Сила моделей по индексу Artificial Analysis: deepseek-v4.1-flash — 39, glm-5.3-flash — 42, claude-sonnet-5-5 — 48, claude-opus-5-5 — 58; это не гарантия качества именно на ваших конфигах, проверяйте на реальных примерах.

Подключение: создайте ключ в кабинете, для Claude Code используйте адрес без /v1, для OpenAI-совместимых клиентов https://api.zukko.pro/v1. Доступ из России идёт через шлюз, оплата: СБП, карта MasterCard или криптовалюта.

Частые вопросы

Можно ли дать агенту доступ к продакшну, если он умный?

Нет. Умная модель всё равно может ошибиться, а цена ошибки на проде несоизмерима. Давайте права только на чтение и тестовые стенды, применяйте изменения сами.

Как проверить, что Dockerfile от модели хороший?

Соберите образ, запустите контейнер, прогоните линтер Dockerfile и сканер уязвимостей. Затем сравните размер образа и время сборки с предыдущим вариантом.

Что делать с секретами в логах?

Вычищайте перед отправкой модели: автоматически, как в примере, и выборочно вручную. Для регулярной работы подключите специализированный сканер секретов.

Заменит ли нейросеть DevOps-инженера?

Нет, она ускоряет черновую работу. Проектирование, ответственность за доступы и решения на проде остаются за человеком.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.