856просмотров
74.4%от подписчиков
7 декабря 2025 г.
📷 ФотоScore: 942
Глобальная память в LLM Память нужна ai агентам, чтобы сохранять долгосрочный контекст из прошлых и текущих взаимодействий, учитывая, что при раздувании контекстного окна факты начинают забываться 1. Обзор подходов
Отличный вводный доклад от dealerAI о том, как работать с памятью, можно посмотреть здесь. По сути, есть несколько ключевых способов с своими +/-:
• Суммаризация с помощью LLM
• NER • Agentic memory
• Длинный контекст
• RAG как память
• Function calling В целом, с суммаризацией возникает проблема промптинга: сложно определить, что именно хранить в памяти. NER и Agentic memory сложны в реализации. Длинный контекст страдает от проблем со скоростью и забыванием. У RAG те же проблемы, что и у обычного поиска (объем данных, релевантность), но потенциал есть.
В докладе фокус сделан на Function calling с памятью, организованной как Key-Value хранилище, в которое можно добавлять, обновлять или удалять записи. Правда, для этого потребовалось дообучать модель через LoRA`у. Важно покрыть все этапы метриками и тестами. Иначе можно построить сложное решение там, где более простой подход работал бы быстрее и, возможно, качественнее 2. Индустриальные решения: MemGPT arxiv -> Letta github link По сути, это фреймворк, где память разделяют на два блока: быструю (Core Memory), которая as is идет в контекст с фокусом на последние взаимодействия, и медленную (Archival Memory), к которой обращаются при необходимости. Также предусмотрены функции забывания. Если документов мало (до 10), это не так критично, но если данных много (100x), такая умная память не деградирует в точности. Решение в опенсорсе, но интересно скорее как архитектурный концепт 3. A-Mem: Agentic Memory for LLM Agents arxiv link Это можно считать идейным продолжением MemGPT. Фокус сделан на имитации человеческой памяти: при появлении нового факта он не просто добавляется к старому, а модифицирует его. Например, если в памяти было "Живу в Казани", а пришло "Живу в Москве", эти факты объединяются в конструкцию: "Жил в Казани, а теперь в Москве". Звучит красиво как дополнение/альтернатива RAG.
Итог: x3 по метрике F1 и в 16 раз меньше токенов при работе с памятью. 4. Реализация лучше через LangMem
В доках разбираются разные виды памяти, работа с ней, хранение (storage) и тд. Память - это дорого и долго, поэтому лучше обрабатывать её асинхронно, в идеале - после завершения диалога. Выводы: всё это звучит как большая инженерная задача. Описанные выше методы ориентированы в основном на chat-like решения. Для специфических задач, скорее всего, придется ориентироваться на кастомное решение или в будущем будет какое-то встроенное решения в api