← AURA.KIM · Исследования Архитектура памяти

Преодоление автофагии в мультиагентных LLM-системах
через асинхронный cross-role recall

Advanced Unified Retrieval Architecture · Июнь 2026

В индустрии искусственного интеллекта долгое время доминировал подход «train-then-deploy» (обучи и разверни). Однако в сценариях долгосрочного взаимодействия с бизнесом классические LLM сталкиваются с фундаментальными барьерами: бесконечным раздуванием KV-кэша, затуханием контекста и потерей фокуса.

Попытки решить эту проблему через интеграцию агентов часто приводят к так называемой автофагии (Autophagy) — феномену, когда модели, непрерывно обучаясь на собственных же данных и синтетических запросах, замыкаются в «эхо-камерах» и стремительно деградируют уже через 3–4 цикла.

AURA (Advanced Unified Retrieval Architecture) предлагает решение этой проблемы за счёт разделения когнитивных обязанностей на шесть специализированных ролей и внедрения асинхронных контуров самооптимизации.

1. Математический фундамент памяти AURA

Вместо линейного вытеснения старых сообщений из контекста, AURA использует концепцию динамического полураспада (halfLife по scope) и композитного скоринга. Каждому кванту памяти присваивается временной вес, зависящий от его контекстной области (scope).

Данные профиля пользователя (scope = user_profile) обладают практически бесконечным периодом полураспада, в то время как технические переменные текущей сессии (scope = session_task) затухают за считанные минуты.

Композитный скоринг

При каждом входящем запросе система осуществляет многофакторный гибридный поиск, балансируя параметры с помощью настраиваемых коэффициентов:

Score = α · semantic + β · recency + γ · importance

Запрос не передаётся в базу данных «вслепую». Слой агентской классификации (Agentic Intent Classification) предварительно определяет намерение пользователя и динамически пересчитывает коэффициенты α, β, γ. Для запроса «Что мы решили на вчерашнем созвоне?» классификатор максимизирует вес свежести (β). Для вопроса «Каковы базовые правила безопасности?» — вес важности (γ).

2. Шесть когнитивных ролей: от исполнения к самообучению

Главный барьер мультиагентных систем — изолированность памяти агентов. В AURA реализован механизм cross-role recall, позволяющий разным ролям извлекать инсайты из единой базы данных, стирая границы между контекстами смежных задач.

Спецификация 6 ролей

РольЗона ответственностиТриггер запускаКонтур
ColleagueОтвет пользователю, RAG-извлечение, веб-выходВходящий запросГорячий (~200ms)
InternГенерация пограничных вопросов, краш-тесты памятиПростой системы > 5 минТёплый
TeacherВалидация новых знаний, корректировка halfLife и importanceIntern сгенерировал > 10 кейсовТёплый
ExecutorПатчи мета-конфигурации, оптимизация алгоритмов поискаScore валидации < 0.80Холодный
ResearcherМониторинг телеметрии, выявление паттернов деградацииКаждые 100 запросов / по расписаниюХолодный
MentorВерификация патчей, human-in-the-loop, глобальные конфигиExecutor сформировал PRХолодный
  1. Colleague (Исполнитель / RAG): фронтенд системы. Отвечает пользователю, используя текущий слепок знаний, при необходимости — контролируемый выход в веб.
  2. Intern (Синтетический Генератор / Эволюционер): непрерывно «атакует» систему. Генерирует каверзные, пограничные вопросы по специфике бизнеса для расширения покрытия памяти.
  3. Teacher (Валидатор & Тренер памяти): фильтрует бред от Intern. Оценивает применимость новых знаний и обновляет базу, прописывая базовые веса importance.
  4. Executor (Автономный Инженер / Кодер): анализирует неэффективность алгоритмов извлечения данных (частые промахи RAG) и самостоятельно пишет патчи для мета-конфигурации системы.
  5. Researcher (Мультиагентный Аудитор): осуществляет мониторинг телеметрии и логов, выявляет системные паттерны деградации и активирует контуры оптимизации.
  6. Mentor (Утверждающий / Guardrail): финальный рубеж контроля. Верифицирует изменения в коде от Executor на основе жестких математических ограничений.

Триггеры вызова холодного контура (Роль 5 → Роль 4)

Researcher (Мультиагентный Аудитор) принимает решение о вызове Executor на основе следующих детерминированных критериев:

МетрикаПорогДействие Researcher
Средний score валидации Intern< 0.70 за 24 часаСбор логов ошибок, активация Executor
Повторяющиеся ошибки в одной категории знаний> 3 за деньФормирование demand на патч мета-конфига
Время ответа Colleague превышает лимит> 5 сек в 10% запросовСигнал в холодный контур на оптимизацию RAG
Отсутствие новых знаний по активной теме> 30 дней без обновленияЗапуск Intern на генерацию тестов
Коэффициент α (semantic) стабильно ниже β (recency)α / β < 1.0 более 7 днейКорректировка весов композитного скоринга

3. Трёхконтурная модель выполнения: баланс скорости и чистоты

Каждое добавление новой роли в систему увеличивает количество шагов генерации текста и усложняет граф вызовов. Если в системе из трёх ролей цепочка рассуждений линейна O(N), то введение перекрёстной валидации порождает циклы обратной связи, превращая стоимость вычислений в экспоненциальную зависимость O(K^N).

[Пользователь] ── Запрос ──► ┌────────────────────────┐ │ Горячий контур (Online)│ ──► Ответ (~200ms) │ Colleague (RAG) │ └────────────────────────┘ │ Логи тестов ▼ ┌────────────────────────┐ │ Тёплый контур │ ◄── Генерация тестов (Intern) │ (Near-line) │ │ Teacher (Валидатор) │ ──► Коррекция весов памяти └────────────────────────┘ │ Метрики точности < 0.80 ▼ ┌────────────────────────┐ │ Холодный контур │ │ (Offline / Nightly) │ │ Executor (Кодер) │ ──► Генерация патча │ │ │ │ ▼ │ │ Mentor (Guardrail) │ ──► Валидация и деплой └────────────────────────┘

Эталонная реализация композитного скоринга

Базовый Python-код, фиксирующий математическую модель оценки релевантности памяти:

import math

SCOPE_HALFLIFE = {
    "/news": 90, "/market": 90,
    "/objections": 730, "/scripts": 730,
    "/regulations": 3650, "/rules": 3650,
    "/cases": 730, "/precedents": 365,
}

def compute_score(semantic, days, importance, half_life,
                  alpha=0.5, beta=0.3, gamma=0.2, floor=0.05):
    recency = max(2 ** (-days / half_life), floor)
    return round(min(alpha * semantic + beta * recency + gamma * importance, 1.0), 4)

def resolve_halflife(scope):
    for prefix, hl in SCOPE_HALFLIFE.items():
        if scope.startswith(prefix):
            return hl
    return 30  # default

Полный код — в публичном репозитории: github.com/alexenti-code/AURA-Retrieval

Заключение

Масштабирование ролей (3 → 6 → 9 → 12) подчиняется закону убывающей доходности. Переход от 3 ролей к 6 позволяет закрыть уязвимость марковских цепей и отсечь системный шум, поднимая чистоту памяти с пограничных 75% до контролируемых 92–95%. Дальнейшее расширение штата агентов до 9 или 12 ролей даёт минимальный прирост точности, но драматически бьёт по времени инференса и бюджетам.

Архитектурный паттерн 6 ролей с асинхронным разделением контуров на сегодняшний день является наиболее эффективным и безопасным решением для создания вечной корпоративной памяти ИИ-агентов.

← Все исследования AURA