AI Platform Docs
Пользователям

Руководство по Memory Service

Краткое руководство пользователя по использованию управляемого сервиса памяти агентов.

Для кого это руководство

Memory Service предназначен для трёх ролей:

РольКак использует память
Разработчик агентовПодключает память к агенту через SDK или ноду LangFlow
Пользователь агентаВидит, что агент о нём помнит; редактирует и удаляет записи
АдминистраторНастраивает квоты, ретеншн-политики и контролирует объём

Что даёт Memory Service

Memory Service запоминает факты о пользователях, сессиях и агентах, чтобы агент мог обращаться к ним в будущем. Агент выполняет поиск релевантных фактов перед ответом и сохраняет новые факты после ответа.

Это не RAG. RAG Service работает с корпусом документов, а Memory Service — с знаниями о пользователях и контексте диалога.

Путь 1: Подключение памяти к агенту (SDK)

Разработчик подключает Memory Service к агенту через Platform SDK.

1. Установить клиент

from platform_memory import MemoryClient

client = MemoryClient(base_url="https://memory.platform.local")

2. Добавить память

Отправьте ход диалога — платформа извлечёт атомарные факты, проведёт дедупликацию и проиндексирует их.

result = client.add(
    messages=[
        {"role": "user", "content": "Отчёты нужны в xlsx"},
        {"role": "assistant", "content": "Понял, буду присылать xlsx"}
    ],
    agent_id="procurement-assistant",
    run_id="01J9X2K7...",
    infer=True
)
# → {"event_id": "01J9X2K8...", "status": "PENDING"}

Извлечение выполняется асинхронно. Проверьте статус:

status = client.get_event(result["event_id"])
# → {"status": "SUCCEEDED", "memory_ids": ["..."]}

3. Поиск памяти

Перед вызовом LLM агент ищет релевантные факты:

results = client.search(
    query="в каком формате присылать отчёт",
    filters={"agent_id": "procurement-assistant"},
    top_k=20,
    token_budget=4000
)
# → {"results": [...], "tokens_returned": 312}

Результаты ранжированы по семантике и BM25, уложены в бюджет токенов.

4. Управление записями

# Список всех записей
all_memories = client.get_all(agent_id="procurement-assistant")

# Обновить запись
client.update(memory_id="...", text="Отчёты теперь в PDF")

# Удалить запись
client.delete(memory_id="...")

# История изменений
history = client.history(memory_id="...")

5. Рабочая память сессии

Сохраняйте и восстанавливайте состояние сессии:

# Сохранить чекпоинт
client.save_session_state(
    session_id="sess-123",
    state={"current_step": "review"},
    ttl_seconds=86400
)

# Восстановить
state = client.get_session_state(session_id="sess-123")

Путь 2: Нода PlatformMemory в Low-code IDE

Low-code разработчик добавляет память в пайплайн одной нодой.

1. Добавить ноду PlatformMemory

В палитре компонентов Low-code IDE выберите ноду PlatformMemory и перетащите её в схему.

2. Настроить поиск

Подключите ноду перед узлом PlatformLLM. Нода выполнит search и подставит релевантные факты в контекст LLM.

3. Настроить запись

Подключите ноду после узла PlatformLLM. Нода выполнит add и сохранит новые факты в память платформы.

Авторизация и скоупы настраиваются внутри ноды — отдельная настройка не требуется.

Путь 3: Прозрачность для пользователя

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

1. Открыть экран «Память агента»

В интерфейсе T1GPT откройте экран «Что агент обо мне помнит».

2. Просмотреть записи

Увидите список фактов с датой создания и категорией.

3. Редактировать или удалить

  • Нажмите «Удалить» на неверной записи.
  • Нажмите «Редактировать» на записи, которую нужно исправить.

Изменения немедленно отражаются в поиске.

Скоупы памяти

Память разграничивается по трём скоупам:

СкоупОписаниеКто задаёт
user_idПамять конкретного пользователяИз JWT автоматически
agent_idПамять конкретного агентаРазработчик агента
run_idПамять конкретного запускаРазработчик агента

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

Категории и инструкции извлечения

Администратор рабочей области может задать категории памяти:

  • preferences — предпочтения пользователя;
  • projects — информация о проектах;
  • constraints — ограничения и запреты.

Также можно задать кастомные инструкции извлечения — что именно запоминать и что запоминать запрещено.

Ограничения

  • Запись памяти выполняется асинхронно. После вызова add факт становится доступен для поиска через несколько секунд.
  • Поиск возвращает результаты в пределах заданного бюджета токенов. Если релевантных фактов нет, возвращается пустой список.
  • Для приватных рабочих областей действует политика изоляции: агент не может прочитать память другой рабочей области.
  • Устаревшие записи (с истёкшей expiration_date) не возвращаются по умолчанию.

Безопасная работа

  • Не передавайте токены и FileRef через сообщения, снимки экрана и журналы.
  • Сообщая об ошибке, передавайте безопасный traceId, время, версию агента и код ошибки, но не исходный токен и не полный текст запроса.
  • Не включайте персональные данные в поля схемы, если они не проходят через Guardrails.

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

На этой странице