Из плюсов: сильная работа со временем. Старое закрывается и остаётся историей, поиск использует смысл, слова и связи по графу, на выходе можно получить готовый блок контекста, уже упакованный в заданный лимит символов. У своего Graphiti такую упаковку нужно организовывать отдельно.
Из минусов: за готовую обвязку Zep приходится платить, часть его инфры закрытая.
Letta и MemGPT. Самоходная самоуправляемая память.
Из плюсов: прямая аналогия с оперативной памятью и диском. Важное закреплено и всегда перед глазами, при переполнении контекста старое сжимается в пересказ, полная история сохраняется вне контекстного окна, а за поиском агент ходит сам своими инструментами.
Из минусов: многое держится на том, насколько разумно агент распоряжается памятью. Решил, что мелочь неважна, и она не закрепилась., закреплённые блоки съедают контекст на каждом вызове, лишние обращения к инструментам добавляют время и деньги, отдельной модели сроков действия фактов, как у Graphiti, этот механизм сам по себе не даёт.
Но выбирать один движок, по сути, необязательно. Спрашивать, какая память лучше, примерно как спрашивать, что лучше: оперативная память, база данных или файловая система. Рабочую архитектуру я бы собирал из пяти слоёв: рабочее состояние, недавние события, устойчивые факты, связи и время, выводы. Физически они могут лежать в разных базах.
Если брать что-то одно для широкого пилота, я бы взял Cognee. Он закрывает обычный поиск по документам, графы, может стать общей памятью нескольких агентов и позволяет попробовать разные подходы. Если у вас постоянно что-то изменяется, я бы смотрел на Zep и Graphiti. Если делаете себе Джарвиса, я бы начал с Mem0. Если агент на пару лет самостоятельности — Letta.
И ещё про цифры скорости и точности. В исследованиях, которые я смотрел, использовались разные модели, данные, условия запуска. Это не один общий бенчмарк. Собрать показатели из разных работ в одну таблицу и объявить победителя примерно как собрать всех животных и сказать: "давайте сделаем честное испытание. Кто быстрее залезет на дерево?"
Поэтому, если экспериментируете с памятью для своих агентов, лучше всего сделать себе бенчмарк под то, что важно в вашей работе, и прогнать разные варианты. Дать им одни и те же данные на вход, одну и ту же модель, сопоставимые условия и бюджет, где архитектура позволяет, один и тот же харнесс, и замерить те показатели, которые важны вам — где-то это точность ответа, где-то полнота поиска, где-то задержка на 95-м перцентиле, где-то стоимость токенов за проход.
Короче, выбирайте, что у вас в приоритетах, задавайте этим показателям вес и по результатам останавливайтесь на варианте для своей задачи.