Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeAgents Week 2026 | Лекция 2 Memory and Guardrails in LLM-Powered Agents

🧠 Память и Guard Rails в агентских системах

Ключевые тезисы:

  • Память в агентских системах делится на краткосрочную, долгосрочную и контекстную.
  • RAG (Retrieval-Augmented Generation) — ключевой инструмент для работы с долгосрочной памятью и актуальной информацией.
  • Guard Rails — механизмы защиты от угроз: промт-инжекции, jailbreaking и галлюцинаций.
  • Для реализации защиты используются инструменты разной сложности: от регулярок до LLM.
  • Мониторинг и аудит критически важны после выхода системы в продакшен.

🔄 Типы памяти в агентских системах

Память необходима, чтобы агент мог накапливать знания, действия и персонализировать взаимодействие. Без неё каждый диалог начинался бы с нуля.

🧠 Краткосрочная (рабочая) память

Ограничена одной сессией (задачей) и исчезает после её завершения.

  • Содержит: предыдущие реплики, результаты вызовов инструментов, рассуждения модели.

💾 Долгосрочная память

Использует внешнее хранилище для сохранения информации между сессиями.

  • Примеры использования:
    • Сохранение информации о пользователе (предпочтения, факты).
    • Суммаризация истории взаимодействия за продолжительное время.
  • Память о сущностях (Entity Memory): запоминает конкретные сущности (люди, места, продукты), чтобы не переспрашивать пользователя.

📝 Контекстная память

То, что непосредственно передаётся в контекстном окне LLM при запросе.

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

🔍 RAG (Retrieval-Augmented Generation)

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

🎯 Зачем нужен RAG:

  1. Актуальность информации: LLM знает только то, что было актуально на момент её обучения.
  2. Ограничение контекста: Не вся необходимая информация помещается в контекстное окно LLM.
  3. Динамичные домены: Для работы с постоянно меняющейся информацией (например, новостями).

Как устроен RAG

  1. Офлайн-этап: Подготовка индекса/базы для поиска.
    • Векторная база: Поиск по семантической близости (эмбеддинги).
    • Full-text индекс (BM25): Поиск по совпадению слов/лексем.
    • Специализированная база знаний (SQL/NoSQL): Выполнение специализированных запросов.
  2. Онлайн-этап: Использование во время работы агента.
    • Получение запроса → поиск в индексе → обогащение контекста найденными документами → генерация ответа LLM на основе обогащённого контекста.

🛠️ Техники улучшения качества RAG

  • 📝 Переписывание запроса: Делает запрос самодостаточным, убирая отсылки к предыдущему контексту (местоимения, специфичные термины).
  • ➗ Декомпозиция запроса: Разделение сложного запроса на несколько независимых подзапросов, поиск по каждому и объединение результатов.
  • 🎯 HyDE (Hypothetical Document Embeddings): Генерация LLM «гипотетического» ответа на том же формальном языке, что и доменная область, и поиск по нему.
  • ⚡ Двухстадийный поиск:
    1. Стадия полноты: Грубый поиск, цель — не пропустить полезные документы.
    2. Стадия точности: Точная фильтрация среди найденного, оставляем только релевантное.

🎓 Обучение как инструмент запоминания

LLM обучаются в несколько этапов, и на каждом можно в разной степени «запоминать» информацию:

  1. Претренинг: Наибольший потенциал для запоминания информации о мире.
  2. SFT (Supervised Fine-Tuning): Учит поведению и решению задач, потенциал для запоминания меньше.
  3. LoRA: Эффективная с точки зрения ресурсов разновидность SFT.

🤔 RAG vs. Обучение: когда что выбирать?

✅ Выбирайте RAG, если:

  • Только начинаете разработку (быстро и дёшево).
  • Информация меняется динамично.
  • Нужен ответ, основанный на конкретных документах.
  • Используете легковесную LLM с ограниченными возможностями.

✅ Выбирайте обучение, если:

  • Домен стабильный и не меняется динамично.
  • Требуется глубокое понимание сложной предметной области.
  • Есть достаточные ресурсы (вычислительные, данные, инженерные).

💡 Практическое правило: Сначала пробуйте RAG. Если не решает задачу — рассматривайте обучение.


🧩 Стратегии управления контекстом

Когда контекст диалога становится слишком большим для LLM, применяют:

  1. 🪟 Sliding Window / Token Buffer: Выбрасываются самые старые части диалога, остаются последние (самые релевантные). Просто, но информация теряется.
  2. 📋 Суммаризация: Отдельным запросом к LLM диалог суммируется в сжатый вид. Сохраняет смысл, но требует дополнительных вызовов и может терять детали.
  3. 🧠 Индексирование эмбеддингами: Индексация частей диалога и подтягивание в контекст только семантически близких к текущей задаче фрагментов.
  4. 🚀 Использование LLM с большим контекстом: Модели на миллионы токенов упрощают разработку (можно даже заменить RAG). Но дорого и медленно.

🛡️ Guard Rails

Guard Rails — это механизмы защиты агентских систем от рисков при взаимодействии с внешним миром (пользователи, действия). Риски: правовые, репутационные, угрозы здоровью, финансовые потери.

🎯 Модель угроз и защита

1. Промт-инжекция (Prompt Injection)

Пользовательские данные маскируются под инструкции, заставляя LLM игнорировать исходные системные промты.

  • Прямая инжекция: Атака содержится в прямом вводе пользователя.
  • Непрямая инжекция: Атака содержится в данных, возвращаемых инструментами агента (веб-страницы, письма, API).

🛡️ Защита:

  • Анализ ввода пользователя и выходов инструментов на наличие инъекций.
  • Чёткое разделение инструкций и данных в промте, явные указания игнорировать инструкции в данных.
  • Ограничение набора доступных инструментов строго по необходимости.

2. Jailbreaking

Пользователь уговаривает или мотивирует LLM игнорировать политики безопасности под предлогом решения «благих» задач.

🛡️ Защита:

  • Классификаторы на входе для детекции подобных попыток.
  • Фильтры на выходе, проверяющие соответствие ответа политике безопасности.
  • Явное усиление безопасного поведения в промтах.

3. Галлюцинации

LLM выдаёт неправдивую или не соответствующую инструкциям информацию, что в агентских системах может привести к реальным последствиям.

Типы и защита:

  • 🔍 Нефактуальность: Выдача ложной информации.
    • Защита: Явный трекинг ключевых моментов в стейте; повторная проверка (фактчекинг) сгенерированного ответа.
  • 📏 Неследование инструкциям: Игнорирование формата, языка и т.д.
    • Защита: Детерминированная валидация выхода (например, проверка JSON); повторный запрос к LLM на исправление.
  • ⚙️ Галлюцинация в действиях: Генерация вызовов инструментов с несуществующими или некорректными аргументами.
    • Защита: Строгая валидация аргументов; белые списки допустимых значений; изолированное окружение для выполнения; подтверждение критичных действий человеком-оператором.

🚦 Контентные фильтры и ограничители действий

Применяются к вводу, выводу агента и результатам работы инструментов.

  • 🎯 Релевантность: Классификатор, отсекающий запросы не по теме.
  • 🚫 Content Moderation: Фильтрация тем (наркотики, оружие, ненависть и т.д.).
  • 👤 PII (Personally Identifiable Information) фильтры: Обнаружение и маскирование персональных данных для соблюдения законодательства.
  • ✅ Output Constraint Check: Проверка соответствия вывода заданным правилам (язык, формат).
  • 🤥 Фактчекинг и детекция галлюцинаций.

🧰 Инструменты реализации Guard Rails

От простых к сложным:

  1. 🔤 Регулярные выражения / простые правила: Быстро, надёжно, детерминированно.
  2. 📐 Формальная валидация: Проверка соответствия формату (JSON, грамматика).
  3. 🤖 ML-классификаторы: Обученные модели для классификации.
  4. 🧮 DSP / BERT: Семантический анализ, баланс между скоростью и качеством.
  5. 🧠 LLM: Для самых сложных проверок, но медленно и не для защиты от самих LLM-атак (промт-инжекции).

💡 На практике: Используйте комбинацию инструментов для