Запись архива

SagaShield: ACID-транзакции и охранник для AI-агентов на Rust

Вышел SagaShield v0.2.0 — Rust-рантайм для автономных AI-агентов, добавляющий ACID-транзакции, детерминированный контроль доступа, защиту от prompt injection и модуль памяти. Проект ориентирован на локальную работу без внешних сервисов.

Схема архитектуры SagaShield — AgentKernel с шагами безопасности, транзакций и отката
Схема архитектуры SagaShield — AgentKernel с шагами безопасности, транзакций и отката
File:Envisioning emerging technology for 2012 and beyond.png | by Michell Zappa | openverse | by-sa

На Hacker News опубликован проект SagaShield — Rust-рантайм для автономных AI-агентов, реализующий ACID-транзакции, систему разрешений на основе конечного автомата и защиту от prompt injection. Версия 0.2.0 (кодовое имя SOVRA) ориентирована на локальную работу без внешних сервисов.

Что появилось

SagaShield — не библиотека для вызова LLM, а инфраструктурный слой. Каждый вызов инструмента агентом выполняется внутри Saga-транзакции: он авторизуется детерминированным конечным автоматом, проверяется на этапе Step-0 security guard, логируется в SQLite WAL (write-ahead log) и при сбое откатывается в обратном порядке с помощью компенсирующих действий.

Основные механизмы v0.2.0:

  • L1 Knowledge Fabric — хранилище знаний с отслеживанием источника, владельца, версии и лицензии. Поддержка TTL и карантина, возврат INSUFFICIENT_GROUNDING вместо галлюцинаций.
  • L4 Memory Vault — портативная память, ограниченная по tenant, agent и user. Дедупликация, продвижение при доступе, явное ослабление через prune_weak.
  • L0 Inference Router — маршрутизация запросов по VRAM, контексту, SLO, стоимости и энергопотреблению. Локальный режим с возможностью облачного burst. При отсутствии подходящего бэкенда возвращает NO_FEASIBLE_BACKEND вместо тихой деградации.

Архитектура

AgentKernel — единая точка входа, объединяющая пять механизмов. Поток выполнения: клиент (LLM/CLI/MCP/Python) отправляет Intent с инструментом, параметрами и ключом идемпотентности. Kernel проходит Step-0 (SecurityGuard), проверяет разрешение через конечный автомат, выполняет поиск идемпотентности, записывает состояние в WAL (PENDING -> COMMITTED/FAILED), запускает инструмент. При ошибке — LIFO-откат с компенсацией и опциональной отправкой в DLQ (dead-letter queue).

Встроенные средства ретроспекции: SessionReplay воспроизводит любую сагу в сухом режиме с формальной перепроверкой конечного автомата. AuditExporter экспортирует OpenTelemetry resourceSpans в JSON для Datadog, Honeycomb или Jaeger.

Практическое применение

Автор проекта прямо указывает: AI-агенты в продакшене ломаются по структурным причинам, а не из-за разовых багов. SagaShield решает три типовые проблемы:

  • Сбой шага не портит состояние — транзакция откатывается.
  • Prompt injection не приводит к выполнению вредоносного инструмента — блокируется на Step-0.
  • Недостаток контекста не вызывает галлюцинаций — система возвращает INSUFFICIENT_GROUNDING.

Ограничения

Проект находится на ранней стадии. В репозитории указано, что это proof-of-concept, и авторы предупреждают: не использовать в production без тщательного аудита. Бенчмарки и тесты покрытия в репозитории присутствуют, но данных о production-нагрузке нет. Поддержка Python через quickstart есть, но основная кодовая база — Rust. Экосистема интеграций (MCP-клиенты, сторонние инструменты) пока минимальна.

Источники

  • Оригинальная публикация на Hacker News: https://news.ycombinator.com/item?id=49617938
  • Репозиторий SagaShield на GitHub: https://github.com/sebastianmechno-sys/sagashield