GPT-6 Astra и Claude Fable 5.1: почему инженеры теряют контроль над продом, когда AI берёт на себя инциденты
Я — Денис Шохирев, архитектор агентных AI-систем во Фрайбурге, работаю на стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. Неделю назад я получил неожиданный алерт: система сама устранила инцидент без единой строчки лога для инженера. Вместо рутины — ощущение полного отсутствия контроля и внятного пост-мортема. Когда AI инцидент менеджмент перестает быть прозрачным Сегодняшний стек — Claude Code, Supabase, n8n, плюс стандартный мониторинг через Prometheus и Sentry. После апдейта на
Я — Денис Шохирев, архитектор агентных AI-систем во Фрайбурге, работаю на стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. Неделю назад я получил неожиданный алерт: система сама устранила инцидент без единой строчки лога для инженера. Вместо рутины — ощущение полного отсутствия контроля и внятного пост-мортема.
Когда AI инцидент менеджмент перестает быть прозрачным
Сегодняшний стек — Claude Code, Supabase, n8n, плюс стандартный мониторинг через Prometheus и Sentry. После апдейта на GPT-6 Astra и Claude Fable 5.1 я впервые увидел ситуацию: алерт триггерится, но подробностей, что произошло, нет даже в audit trail. Только факт: “AI-инцидент устранен”. Без деталей.
Раньше: полный ручной контроль
До внедрения автопилота инциденты фиксировались стандартными пайплайнами: alert —> инженер —> RCA —> патч. Всё прозрачно, логи структурированы. Даже если n8n-воркфлоу автоматически рестартил сервис, оставался отчёт.
Теперь: “черный ящик” на проде
С приходом LLM-агентов и автоматизации через Claude Code, процессы ушли в асинхронные, self-healing сценарии. LLM сам может не только локализовать, но и исправить ошибку, перезапустить воркфлоу, заменить env-переменную через Doppler, но при этом не оставить ни одной human-readable записи. Пример реального workflow:
def ai_incident_handler(event):
if event.type == 'db_connection_error':
fix = llm.suggest_fix(event.details)
if fix['action'] == 'restart':
n8n.trigger('restart_database')
doppler.update_secret('DB_PASS', fix['new_password'])
supabase.log_event('incident_fixed', details=fix)
Код рабочий, но итог: только финальное “incident_fixed”, без промежуточных решений или reasoning LLM. Для инженера — это “магия”.
Почему инженеры теряют связь с продом
Я вижу три причины, почему инженеры теряют контроль, когда AI берёт на себя инциденты:
- Нет audit trail reasoning. LLM не логирует цепочку рассуждений, только действие "fixed".
- Отсутствие explainability. Даже с prompt engineering, Claude Code не всегда объясняет “почему” принято то или иное решение.
- Слепые зоны в observability. Интеграция AI-инцидент менеджмента с Sentry/Prometheus не покрывает reasoning LLM, только конечный триггер или action.
| Стадия | До AI | С AI-агентом |
|---|---|---|
| Логирование | Человеко-читаемые логи, полный трассинг | Только конечный action |
| Анализ RCA | Детальный пост-мортем | “AI fixed” без объяснений |
| Возможность rollback | Чёткие шаги для возврата | Не всегда понятно, что откатывать |
Реальный стек: как сохранить контроль
В проде у меня сейчас Claude Code + Supabase + n8n + Doppler. Чтобы не потерять контроль:
1. Логируй reasoning LLM
Минимум — logprompt и logresponse на каждом шаге. Для Claude Code — пишу middleware, который сохраняет не только output, но и весь chain of thought:
def log_llm_reasoning(prompt, response):
with open('/var/log/llm_reasoning.log', 'a') as f:
f.write(f"PROMPT: {prompt}\nRESPONSE: {response}\n---\n")
2. Ограничивай права агента
В Doppler для AI-агента выделяю отдельный scope, чтобы не мог менять критичные env-переменные.
3. Интеграция с semgrep/gitleaks
Любой auto-fix LLM прогоняю через semgrep/gitleaks до применения — чтобы не вносились потенциальные уязвимости.
semgrep --config=auto ./
gitleaks detect --source=./ --no-banner
4. RAG-ассистент для RCA
В проде использую отдельного RAG-агента, который строит summary RCA по reasoning LLM, используя исторические логи и промпты.
Чего не хватило даже на GPT-6 Astra и Claude Fable 5.1
— Нет “explainability by design”. LLM всё ещё не объясняет шаги, если его не форсить логировать reasoning.
— Рабочие пайплайны защиты: только если вручную встраивать middleware и аудит.
— Автоматические fixes без review — прямой путь к неявным багам. В одной из моих продовых систем LLM однажды обновил env-переменную для Postgres, не указав в логах старое значение — восстановить причину потом было невозможно.
FAQ
Какой стек логирования reasoning работает стабильно?
Самый надёжный способ — отдельный middleware для логирования промптов и ответов LLM в append-only storage. Cloud-решения (например, Supabase storage) хорошо подходят для централизованного хранения reasoning-логов.
Можно ли полностью доверять AI-агенту в проде?
Нет, только с ручным аудитом и ограничением прав на критические действия. В моём опыте, без этого AI способен внести неочевидные изменения.
Как защититься от silent failures?
Встроить в агентную цепочку обязательный logging всех intermediate steps и внедрить алерты на silent-fix события.
Какие инструменты использовать для проверки изменений?
Semgrep и gitleaks для кода, audit trail в Supabase для данных, отдельный monitoring для действий через n8n.
Как внедрить explainability в Claude Code?
Добавлять в каждый prompt инструкцию на логирование reasoning и использовать отдельный storage для reasoning chain.
На каком этапе вы чаще всего сталкиваетесь с потерей контроля из-за AI-агентов: при автоматических фикcах, в логировании reasoning или на этапе аудита? Я провожу бесплатный 30-мин аудит стека для DACH-команд, которые строят AI в регуляторных рынках. Пишите в Telegram @ger_dennis_ai или в LinkedIn — разберём ваш кейс.
Превратить процесс в систему, которая работает
Продакшн-качество, а не демо.