Skip to main content

Краткое содержание: Знания и память (Knowledge and Memory)

Основные тезисы

1. Введение: Знания vs. Память

Знания (Knowledge):

  • Фактический или доменно-специфичный контент
  • Реализуется через retrieval-augmented generation (RAG)
  • Извлекается во время генерации
  • Дополняет информацию в весах модели

Память (Memory):

  • Собственная история агента
  • Прошлые обмены с пользователями, выходы инструментов, обновления состояния
  • Поддерживает непрерывность между ходами и сессиями
  • Использует историю для информирования будущих решений

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

2. Фундаментальные подходы к памяти

Управление окнами контекста

  • Окно контекста: Информация, передаваемая модели в одном вызове
  • Длина контекста: Максимальное число токенов (1 токен ≈ ¾ слова)
  • Современные лимиты:
    • GPT-5, Claude 3.7 Sonnet: до 272,000 токенов
    • Gemini 2.5: до 1 миллиона токенов

Скользящее окно контекста:

  • Полное взаимодействие передается в окно контекста
  • При заполнении старые части удаляются (FIFO)
  • Простота реализации, низкая сложность
  • Недостаток: Информация теряется независимо от важности

Рекомендации:

  • Выделять наиболее релевантный контекст
  • Размещать важную информацию близко к концу промпта

Традиционный полнотекстовый поиск

  • Основа: Инвертированный индекс
  • Процесс: Токенизация → нормализация → удаление стоп-слов → индексирование
  • Ранжирование: BM25 (term frequency, inverse document frequency, document length normalization)
  • Преимущества: Молниеносные поиски, зрелая технология
  • Недостатки: Пропускает темы, перефразировки, концептуальные связи

3. Семантическая память и векторные хранилища

Введение в семантический поиск

  • Цель: Понимание контекста и намерения, а не точное совпадение
  • Основа: Встраивания (embeddings) — векторные представления слов
  • Модели: Word2Vec, GloVe, BERT, современные LLM
  • Преимущества: Понимание значения, синонимов, отношений

Реализация с векторными хранилищами

  • Векторные базы данных: VectorDB, FAISS, Annoy
  • Процесс:
    1. Генерация семантических встраиваний
    2. Хранение в векторной БД
    3. Поиск подобия по запросу
    4. Извлечение релевантных встраиваний

Преимущества:

  • Быстрое индексирование и извлечение в больших масштабах
  • Понимание семантического значения
  • Эффективный поиск по большим объемам информации

4. Retrieval-Augmented Generation (RAG)

Процесс RAG:

  1. Индексирование:

    • Разбиение документов на фрагменты
    • Встраивание фрагментов моделью-кодировщиком
    • Индексирование в векторной БД
  2. Извлечение:

    • Поиск релевантной информации по запросу
    • Эффективные механизмы извлечения
  3. Генерация:

    • Подача извлеченной информации в генеративную модель
    • Синтез с изученными знаниями модели
    • Производство контекстуально обогащенного ответа

Преимущества:

  • Более информированные и точные ответы
  • Включение доменно-специфичной информации
  • Улучшение производительности в различных доменах

5. Семантическая память опыта

Проблема: Агент начинает каждую сессию с чистого листа, контекст долго работающих задач выпадает из окна.

Решение: Семантическая память опыта

  • Каждый пользовательский ввод превращается в вектор
  • Векторный поиск по всем предыдущим взаимодействиям
  • Резервирование части окна контекста для лучших совпадений
  • Остальное пространство для системного сообщения и последних взаимодействий

Результат: Агент может адаптировать ответы на основе накопленного опыта.

6. GraphRAG

Определение: Продвинутое расширение RAG, использующее структуры данных на основе графов.

Когда базовый RAG борется:

  • Ответы требуют соединения информации из множественных документов
  • Запросы включают суммирование семантических тем высокого уровня
  • Набор данных большой, беспорядочный или повествовательный

Компоненты GraphRAG:

  1. Граф знаний: Хранит сущности (узлы) и отношения (ребра)
  2. Система извлечения: Запрашивает граф, извлекая релевантные подграфы
  3. Генеративная модель: Синтезирует информацию из графа

Преимущества:

  • Многошаговое рассуждение
  • Цепочки отношений
  • Структурированное суммирование
  • Обработка сложных взаимосвязей

7. Построение графов знаний

Процесс построения:

  1. Сбор данных: Из различных источников (БД, документы, веб-сайты)
  2. Предобработка: Очистка, стандартизация форматов
  3. Извлечение сущностей: NER для идентификации узлов
  4. Извлечение отношений: Определение связей между сущностями
  5. Дизайн онтологии: Определение схемы типов сущностей и отношений
  6. Население графа: Создание узлов и ребер в графовой БД
  7. Интеграция и валидация: Связывание с существующими системами
  8. Обслуживание: Регулярные обновления и уточнения

Технологии: Neo4j, OrientDB, Amazon Neptune

Модель данных: Resource Description Framework (RDF) — субъект-предикат-объект

8. Динамические графы знаний

Преимущества:

  • Обработка информации в реальном времени
  • Адаптивное обучение без переобучения
  • Структурированный формат для рассуждений
  • Большая гибкость, чем векторные хранилища

Риски:

  • Сложность обслуживания (ошибки, несоответствия)
  • Интенсивность ресурсов
  • Проблемы безопасности и конфиденциальности
  • Риск чрезмерной зависимости

Стратегии смягчения:

  • Надежные механизмы валидации
  • Масштабируемая архитектура
  • Сильные меры безопасности
  • Человеческий надзор

9. Note-Taking (Ведение записей)

Техника: Модель генерирует заметки о входном контексте перед ответом на вопрос.

Процесс:

  1. Генерация заметок по частям контекста
  2. Генерация заметки на вопрос
  3. Чередование заметок с оригинальным контекстом
  4. Генерация окончательного ответа

Преимущества:

  • Более глубокое рассуждение
  • Улучшенная производительность задач
  • Хорошие результаты на задачах рассуждения и оценки

Ключевые выводы

  1. Память критична: Для успешной работы агентных систем необходима эффективная система памяти.

  2. Эволюция подходов: От простых (окна контекста) к сложным (GraphRAG, динамические графы).

  3. Компромиссы:

    • Простота vs. Возможности
    • Стоимость vs. Точность
    • Статичность vs. Динамичность
  4. Интеграция: Память должна интегрироваться с инженерией контекста для максимальной эффективности.

  5. Выбор подхода: Зависит от требований к точности, масштабу, сложности и ресурсам.

Рекомендации

  1. Начинать с простого: Скользящее окно контекста для базовых случаев
  2. Масштабировать по необходимости: Переходить к семантической памяти и RAG при росте данных
  3. Рассматривать GraphRAG: Для сложных взаимосвязей и многошагового рассуждения
  4. Учитывать обслуживание: Динамические графы требуют значительных ресурсов
  5. Интегрировать с контекстом: Память должна эффективно использоваться в инженерии контекста

Следующие шаги

После изучения памяти следующая глава рассматривает обучение — как агенты могут учиться на опыте для автоматического улучшения.