Мультиагентная система
Интеллектуальная инфраструктура с изоляцией пользователей
Обзор системы
Проблематика масштабирования ИИ-систем
Отсутствие изоляции - пользователи делят общие ресурсы и окружение, что приводит к утечкам данных, конфликтам зависимостей и невозможности гарантировать безопасность в многопользовательской среде.
Ограниченность функциональности - типичные чат-боты поддерживают лишь текстовый ввод-вывод без возможности работы с медиа, документами, правовыми базами или выполнения произвольного кода.
Проблема деградации - при длительных диалогах контекст переполняется, качество ответов падает, а система не способна восстановиться после ошибок провайдера или превышения лимитов.
Отсутствие отказоустойчивости - единственная модель, единственный провайдер, отсутствие резервных механизмов - любой сбой приводит к полной остановке обслуживания.
Архитектурное решение
Специализация агентов
General Agent - главный агент общего назначения. Модель: основная языковая модель с резервной. Инструменты: 14+ базовых (YouTube, Vision, Web, Cloud, интерактивность) + динамические skills. Назначение: обработка любых пользовательских запросов, от простых вопросов до комплексного анализа медиа и документов.
Legal Assistant - юридический агент. Модель: специализированная модель для правового анализа. Инструменты: поиск по 5 правовым базам РФ, создание 9+ типов документов, анализ судебной практики. Назначение: автоматизированный юридический консалтинг с двухуровневой проверкой качества.
Unified Agent - агент отложенных исследований. Модель: основная языковая модель. Инструменты: веб-поиск, парсинг страниц, планировщик задач. Назначение: выполнение отложенных и периодических исследовательских запросов с автоматической доставкой результатов.
Изоляция на уровне ОС
Каждый пользователь получает изолированный gVisor-контейнер с собственным окружением, файловой системой и ресурсными лимитами. Контейнеры создаются по требованию и автоматически уничтожаются после завершения сессии. Это обеспечивает kernel-level изоляцию: даже при компрометации одного контейнера остальные пользователи остаются в безопасности. Автоматическая очистка предотвращает утечки ресурсов и накопление временных данных.
Шестиуровневая система надежности
Результат: 99.5% uptime даже при нестабильности провайдеров API. Каждый уровень middleware работает независимо и может быть сконфигурирован отдельно.
Динамическая загрузка возможностей
Система Skills позволяет агенту динамически загружать специализированные инструкции в зависимости от задачи. Вместо того чтобы держать все инструкции в контексте постоянно, агент запрашивает только необходимые skills, экономя токены и повышая точность.
- video.md - сжатие видео с GPU-кодированием (NVENC)
- pdf.md - создание PDF из HTML/Markdown
- documents.md - работа с документами через Docling API (парсинг PDF, Word, PowerPoint)
- environment.md - описание возможностей sandbox-контейнера
Технические преимущества
ReAct архитектура
- Reasoning (Рассуждение) - анализ запроса, декомпозиция задачи и формирование гипотезы о необходимых действиях для получения ответа
- Acting (Действие) - выполнение выбранного инструмента с соответствующими параметрами: поиск, анализ, генерация или обращение к внешним сервисам
- Observation (Наблюдение) - анализ результата выполнения и принятие решения о следующем шаге: продолжение цепочки действий или формирование финального ответа
Управление контекстом
Context Cleaning - при превышении 100k токенов система автоматически удаляет промежуточные результаты инструментов, сохраняя ключевые данные и историю диалога.
Summarization - при превышении 170k токенов запускается суммаризация всей истории в компактное резюме, позволяющее продолжить диалог без потери смысла.
Комбинация этих механизмов обеспечивает теоретически бесконечный диалог: система плавно управляет контекстным окном, не допуская переполнения и сохраняя релевантность ответов на протяжении всей сессии.
Checkpointing
- История - полное сохранение состояния диалога между вызовами
- Промежуточные результаты - кеширование выходных данных инструментов для повторного использования
- Состояние инструментов - отслеживание статуса выполнения длительных операций
Checkpointing позволяет агенту возобновлять работу после сбоев без потери прогресса. При перезапуске система восстанавливает контекст и продолжает с последней контрольной точки.
Инструменты агентов
Базовые возможности (General Agent)
YouTube - скачивание видео/аудио, транскрипция речи (99 языков), добавление субтитров с переводом, выполнение FFmpeg команд с GPU-кодированием (NVENC).
Анализ медиа - анализ изображений через LLM Vision, извлечение ключевых кадров видео, распознавание объектов и текста, ответы на вопросы по визуальному контенту.
Веб-интеграция - поиск в интернете, изображений, видео, новостей через Brave Search API, загрузка и парсинг веб-страниц через FireCrawl.
Облачное хранилище - управление файлами в Nextcloud, публикация длинных статей в Telegraph, автоматическая загрузка результатов и создание share-ссылок.
Интерактивность - возможность задать уточняющий вопрос пользователю, динамическая загрузка специализированных инструкций (skills).
Юридические инструменты (Legal Assistant)
Поиск по базам РФ - доступ к 5 крупнейшим правовым базам Российской Федерации, поиск по законодательству, судебной практике и нормативным актам.
Глубокая аналитика - анализ судебной практики по аналогичным делам, двухуровневая проверка качества (агент + независимая модель для второго мнения).
Создание документов - 9+ типов юридических документов: исковые заявления, апелляции, договоры, жалобы, ходатайства и другие процессуальные документы.
Исследовательские возможности (Unified Agent)
Отложенные запросы - три режима исследований: one-time (разовый), until_found (до нахождения результата), recurring (периодический). Автоматический ReAct-поиск в заданное время с доставкой результатов.
Live UI - интерфейс с real-time обновлениями через SSE (Server-Sent Events), отображение прогресса исследования и промежуточных результатов в реальном времени.
Производительность системы
Система поддерживает параллельную обработку запросов от множества пользователей. Каждый запрос выполняется в изолированном контексте, что исключает взаимное влияние и обеспечивает стабильное время отклика вне зависимости от общей нагрузки.
Отказоустойчивость обеспечивается шестиуровневым middleware-стеком: автоповтор при временных сбоях, переключение на резервную модель, retry инструментов, лимиты вызовов и автоматическая очистка контекста. Результат - 99.5% uptime даже при нестабильности внешних провайдеров.
Безопасность
Изоляция данных
- Per-user контейнеры - изолированное gVisor-окружение для каждого пользователя
- Per-user папки - раздельное файловое хранилище в Nextcloud (/GistiQ/user_{id}/)
- Per-user collections - индивидуальные коллекции в векторной базе Qdrant
- Per-user thread ID - изолированные потоки диалога без пересечения контекстов
Контроль доступа
- Rate limiting - ограничение частоты запросов для защиты от спама
- Content moderation - ИИ-анализ намерений и блокировка злоупотреблений
- Usage limits - дневные лимиты на количество сообщений и ресурсов
- Role-based access - разграничение прав между пользователями и администраторами
Защита от эксплуатации
Path traversal - защита от выхода за пределы пользовательской директории, валидация всех путей к файлам.
Command timeout - ограничение времени выполнения команд в контейнере, автоматическое завершение зависших процессов.
Docker API filtering - Docker Socket Proxy фильтрует доступные API-вызовы, блокируя опасные операции (создание привилегированных контейнеров, доступ к хосту).
GPU locking - эксклюзивный доступ к GPU-ресурсам с блокировкой для предотвращения конфликтов между параллельными задачами.
Масштабируемость
Stateless bot - бот не хранит состояние в памяти процесса - все данные персистируются в БД и checkpoints, что позволяет запускать несколько экземпляров.
Shared storage - общее файловое хранилище (Nextcloud) доступно всем экземплярам, обеспечивая консистентность данных при горизонтальном масштабировании.
Load balancing ready - архитектура поддерживает балансировку нагрузки между экземплярами без потери сессий благодаря внешнему хранению состояния.
Resource isolation - per-user контейнеры с настраиваемыми лимитами CPU/RAM/GPU позволяют гранулярно управлять ресурсами.
Архитектура проверена для работы с 1000+ одновременных пользователей. Stateless-дизайн и внешнее хранение состояния позволяют горизонтально масштабировать систему добавлением новых экземпляров без модификации кода.
Сравнение с альтернативами
| Характеристика | Обычные чат-боты | Наша система |
|---|---|---|
| Изоляция | ✗ Общее окружение | ✓ Per-user gVisor контейнеры |
| Отказоустойчивость | ✗ Единая точка отказа | ✓ 6 уровней middleware |
| Специализация | ✗ Один универсальный бот | ✓ 3 специализированных агента |
| Контекст | ✗ Фиксированное окно | ✓ Автоочистка + суммаризация |
| Безопасность | ✗ Базовая | ✓ Kernel-level изоляция |
| Расширяемость | ✗ Жесткая структура | ✓ Динамические skills |
| Юридический поиск | ✗ Нет | ✓ 5 правовых баз РФ |
| Обработка медиа | ✗ Нет | ✓ YouTube, Vision, GPU-кодирование |
Статистика проекта
Применение
E-commerce - интеллектуальная поддержка клиентов с доступом к каталогу через RAG, Vision для анализа фото товаров, автоматическая эскалация на оператора при необходимости.
Юридический консалтинг - автоматизированный поиск по правовым базам РФ, анализ судебной практики, генерация юридических документов с двухуровневой проверкой качества.
Контент-производство - обработка видео для YouTube (скачивание, транскрипция, субтитры, сжатие с GPU), публикация статей в Telegraph, работа с документами через Docling.
Корпоративный помощник - база знаний на RAG с Hybrid Search, анализ документов и презентаций, Scheduled Research для мониторинга индустрии, Vision для работы с визуальным контентом.
Заключение
- Надежность - 99.5% uptime благодаря 6 middleware, автоповтору, резервным моделям и автоматическому восстановлению после сбоев
- Безопасность - per-user gVisor контейнеры, изоляция данных на всех уровнях, защита от эксплуатации и контроль доступа
- Специализация - 3 агента (General Agent, Legal Assistant, Unified Agent), каждый оптимизирован для своей области задач
- Масштабируемость - stateless-архитектура, shared storage, load balancing ready, проверено для 1000+ пользователей