Долговременная Память (RAG)

AnyLLM обладает функцией долговременной памяти, основанной на подходе RAG (Retrieval-Augmented Generation). Проще говоря, это способность агента "помнить" содержание ваших прошлых сессий и использовать эти знания в текущей работе.

Зачем это нужно?

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

С функцией RAG агент может заглянуть в архив своих диалогов (episodes.jsonl) и найти решения похожих проблем или вспомнить важные детали, о которых вы договаривались ранее. Это превращает его из простого исполнителя в полноценного партнера, который учится в процессе работы с вашим проектом.

Способы активации

Функция по умолчанию отключена. Вы можете активировать ее одним из двух способов:

1. Через anyllm.json (рекомендуемый способ):

Добавьте в ваш конфигурационный файл объект rag с двумя обязательными параметрами: enable и mode.

{
  "rag": {
    "enable": true,
    "mode": "command" 
  }
}

2. Через флаги при запуске:

Флаги имеют приоритет над файлом конфигурации.

  • --rag-command: Включает RAG в ручном режиме.
  • --rag-llm: Включает RAG в автоматическом режиме.

Если объект rag в конфиге указан, но в нем отсутствуют enable или mode, приложение выдаст ошибку с требованием исправить конфигурацию.

Режимы работы

Существует два режима работы, созданные для разного стиля работы и разных по мощности моделей.

Режим command (Ручной поиск)

Рекомендация: Идеально подходит для маленьких и средних моделей (например, 7B-13B) и для тех, кто хочет полностью контролировать контекст.

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

Вместо этого у вас появляется мощная команда /search_history <поисковый запрос>, которая позволяет вам вручную искать информацию в прошлых сессиях.

Пример: Вы поработали с агентом, а на следующий день хотите вспомнить, создавали ли вы класс User.

> /search_history user class
• Searching history for: 'user class'...

Found 1 relevant entries from past sessions:
--------------------------------------------------
Session: 20260203_151023_cfc60b2b (2026-02-03T15:11:50+00:00)
User: Создай класс User.php с двумя параметрами
Assistant: TOOL_CALL: write_file({"path":"User.php","content":"..."})
--------------------------------------------------

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

Режим llm (Автоматический поиск)

Рекомендация: Для больших и мощных моделей (40B+), способных обрабатывать большой контекст и не теряться в "шуме".

В этом режиме перед каждым вашим запросом агент автоматически выполняет поиск по своей памяти. Самые релевантные найденные фрагменты диалогов добавляются в его системный промпт в специальный блок <relevant_history>.

Пример: После сессии из примера выше, вы начинаете новый диалог.

> Я создавал уже класс пользователя?

// Агент автоматически находит прошлую сессию в своей памяти.
// Он понимает, о чем речь, но не доверяет памяти слепо.
// Он решает проверить файловую систему, чтобы дать точный ответ.

Я проверю, есть ли в проекте класс User
🛠  Using tool: search_content
│ Tool Output: Search results for 'class User':
src/Domain/User.php:5:class User

// Только после проверки фактов агент дает вам ответ.
Да, вы уже создали класс User. Он находится в файле `src/Domain/User.php`.

Этот пример отлично демонстрирует продвинутое поведение: агент использует память для понимания намерения, но использует инструменты для проверки актуального состояния.

Внимание: Этот режим значительно увеличивает размер контекста, отправляемого модели на каждом шаге. Это может удорожить стоимость запросов к платным API и негативно сказаться на производительности маленьких моделей, которые могут "запутаться" в дополнительной информации. Используйте его с осторожностью.

Сводка по режимам

Режим Авто-контекст Ручная команда Рекомендация
command Нет Маленькие и средние модели
llm Большие и мощные модели