RU
EN

SRE AI Copilot

Слой достоверного знания о проде, на котором можно безопасно строить AI-SRE. Сначала — модель инфраструктуры с evidence и провенансом, и только потом рассуждения поверх неё.
LLM — опционален. Knowledge Graph — нет.

О проекте

Гибрид: детерминированный Knowledge Graph + LLM-пайплайн за policy-gate. Обогащение алертов, RCA и controlled remediation в Kubernetes. Спроектирован честным к своим слепым зонам — система помечает, чего она не знает, вместо того чтобы выдавать догадки за факты.

Безопасность прежде всего

Главный страх «AI сам трогает прод» снят архитектурно: можно ли запускать kubectl-write считается детерминированно (8 risk-axes → policy-engine), а не берётся из ответа модели. Dry-run по умолчанию, approvals, anti-replay, savepoint-изоляция.

Граф, который знает, чего он не знает

Операционный граф из нескольких источников (топология, деплои, события, метрики, логи) с провенансом, отслеживанием свежести, проверками целостности и явными слепыми зонами. Сейчас в проде: 11 540 узлов, 9 004 ребра, 188 namespace.

Честность по умолчанию

Наблюдаемые факты отделены от прокси-сигналов и неполных данных, известные слепые зоны задокументированы в самом ответе. Система не выдаёт «зелёное», когда у неё просто нет данных — редкий, но решающий для доверия признак.

Как это работает

Конвейер инцидента — 6 ступеней. Честно: что уже live, а что включается с LLM-флагом.

1 · Ingestlive

AlertManager webhook → HMAC + anti-replay + dedup.

2 · Enrich (KG)live

Граф добавляет контекст: деплои, blast radius, pod-события, логи, ingress 5xx/p95.

3 · Reason (LLM)за флагом

Гипотез-агенты строят версии из контекста; critic ранжирует и режет слабые.

4 · Respondlive +LLM

Один Discord-эмбед: факты + подсказка root-cause; с LLM — связный narrative.

5 · Remediateopt-in

Предложить/применить kubectl-фикс за детерминированным policy-gate + approval.

6 · Self-watchlive

7 self-health-чеков /30мин, включая integrity-watchdog графа.

Как выглядит вывод

Синтетический пример critical-эмбеда в Discord (данные вымышленные).

🔴 Critical · checkout-service · prod
🎯 Likely cause
deploy #482 4 min before — p95 +180%, 5xx 0.6 rps at api.example.com/checkout
🌐 Endpoint health (ingress-derived)
5xx 0.6 rps · p95 920 ms
💥 Blast radius
3 svc → orders-service, cart-service, payments-gateway · 1 URL
🩺 Pod events
CrashLoopBackOff ×7 (OOMKilled)
🔧 Suggested action
kubectl rollout undo deploy/checkout-service   [⚙️ Apply — dry-run ✓, risk: medium]

Почему это безопасно для прода

Главный страх «AI сам трогает прод» снят архитектурно — решение принимает не модель:

Проверено продом, а не демо-кластером

Четыре реальных дефекта этой недели. Каждый нашёлся на живых данных и стал регрессионным тестом.

2 092 невалидных ребра за тик

k8s Service и его Deployment делили одну строку с ключом (namespace, name). Ребро между ними не могло существовать — вырождалось в петлю и отбрасывалось. В графе жило 3 ребра serves_traffic.

→ Явная онтология узлов + регрессионные тесты. Сейчас 4 234 ребра.
230 задач в очереди

Окно жизни было выставлено ровно у одной периодической задачи из 27. Дешёвые пробы копились — 94 минутных тика за полтора часа — и полностью вытеснили синк топологии: он планировался по расписанию и не выполнялся ни разу.

→ Протухание задач по интервалу.
4 200 upsert-ов в одной транзакции

Синк коммитил раз в тик, удерживая блокировку 13 минут. Миграция встала за ним в очередь — а очередь на лок в PostgreSQL блокирует всех, кто пришёл после неё. Зависли семь читателей, приложение стояло 6 минут.

→ Коммит батчами.
Метрика, которая солгала

Новый тип узла уронил orphan с 72,5% до 42% за ночь — без единой новой интеграции. Каждый «вылеченный» сервис получил ровно одно ребро: на самого себя.

→ Откатили метрику, а не схему. У каждой метрики качества теперь тест на то, чего она считать НЕ должна.

Почему всё держится на графе

Обычный AI-SRESRE AI Copilot
Источник истинымодель и её контекстоперационный граф в Postgres
Evidenceподразумеваетсяявное, с провенансом источника
Неизвестноеобычно скрытополноправное состояние: «данных нет» ≠ «всё хорошо»
Историяограничена окномхранится: деплои, события, аномалии
Право на действиерешает модель или тулдетерминированный policy-gate, 8 risk-axes
Обратная связьопциональнанепрерывная: результат возвращается в граф
2000+ tests 11 540 graph nodes 188 namespaces multi-source KG 8-axis policy gate honest blind-spot tagging
GitHub →