Перейти к содержанию

Обучение: память в LLM-приложениях

Этот курс — пошаговое знакомство с памятью в protoprompt для тех, кто пишет на Python, но ещё не строил приложения на LLM. Вместо теории ради теории — пять маленьких проектов, которые можно запустить и потрогать.

Для кого

  • Вы знаете основы Python (функции, async/await, словари).
  • Вы слышали про LLM и «промпты», но не собирали приложения сами.
  • Вы хотите понять, как бот «помнит» разговор, и как это устроено в protoprompt.

Что понадобится

pip install protoprompt

Курс работает без сети и без ключей: в примерах стоит заглушка FakeLLM, которая строит эмбеддинги из слов текста. Настоящую модель (Ollama, OpenAI) подключите потом — интерфейс тот же.

Как устроен курс

Каждый урок = концепция → практика → проект:

Урок Тема Проект Где код
Урок 1 Первая память: хранилище и поиск по смыслу Бот-географ с базой фактов examples/tutorials/01_first_bot/
Урок 2 Память сессии: сжатие длинного диалога Сжимаем переписку в блоки examples/tutorials/02_session_memory/
Урок 3 LRU-кэш: не эмбеддить одно и то же дважды Считаем вызовы модели examples/tutorials/03_embedding_cache/
Урок 4 Рабочая память код-агента Агент помнит важное, забывает шум examples/tutorials/04_coder_agent/
Урок 5 Профиль пользователя Бот помнит человека между сессиями examples/tutorials/05_user_profile/

Запуск проекта:

python examples/tutorials/01_first_bot/main.py

Большая картина

                ┌────────────────────────────────────────┐
                │              LLM-приложение            │
                └────────────────────────────────────────┘
              ┌─────────────────────────┼─────────────────────────┐
              ▼                         ▼                         ▼
      ┌──────────────┐         ┌──────────────┐         ┌──────────────┐
      │  Хранилище   │         │  Память      │         │  LRU-кэш     │
      │  (store)     │         │  сессии      │         │  (cache)     │
      │  факты, RAG  │         │  (session)   │         │  повторные   │
      │  поиск по    │         │  сжатие      │         │  эмбеддинги  │
      │  смыслу      │         │  диалога     │         │  из памяти   │
      └──────────────┘         └──────────────┘         └──────────────┘
      ┌──────────────┐
      │  Рабочая     │
      │  память      │
      │  агента      │
      │  (agent)     │
      └──────────────┘
      ┌──────────────┐
      │  Профиль     │
      │  пользователя│
      │  (profile)   │
      └──────────────┘
  • Уроки 1–3 — про чат-ботов: как бот хранит факты, как сжимает историю и как не платить за повторы.
  • Урок 4 — про код-агентов: когда «недавнее» перестаёт быть важным, и память учится различать сигнал и шум.
  • Урок 5 — про человека: долговечный профиль пользователя, который переживает смену сессий и чатов.

Совет перед стартом

Не копируйте код целиком — вводите его по частям, сверяясь с пояснениями в уроке. Каждый урок заканчивается заданием: измените данные, добавьте строку, посмотрите, что изменилось. Так память о памяти (простите за каламбур) закрепляется лучше всего.

Поехали: урок 1