Graphiti(не путать с graphify)
Этот модуль я поставил к себе в кодекс. Фишка этого модуля, в том, что каждый факт или связь, сохраняется как ребро графа с временными рамками, а с помощью подобной GraphRAG-системы, это вытягивается обратно в память агента.
Я выбрал конкретно этот модуль, за то, что он не даёт ллм забывать прошлые проекты.
Допустим ты решил создать какого нибудь бота, будь то рабочий заказ, или чисто для себя. Но вот прошло 3 месяца, а то и пол года, и к тебе вернулся клиент/ты решил допилить бота.
И ты нахуй вообще не помнишь что здесь было, начинаешь дрочить иишку что бы она всё прочитала и достала всю инфу, но даже с её помощью, всё равно целиком собрать картину сложно. Знакомо?
Graphiti решает эту проблему. Ты возвращаешься в проект спустя 3 месяца, спрашиваешь у иишки что за проект, она лезет в базу данных, и находит, что 3 месяца назад, вы делали такие-то архитектурные решения, сталкивались с такими-то багами, а сейчас проект не запускается потому что 3 месяца назад всё остановилось на баге, который не поддавался 2 дня, из за которого ты и забросил проект.
Graphify(не путать с graphiti)
Этот модуль я тоже добавил к себе в стек. С graphiti они похожи не только названием, но и сутью. Если graphiti помнит историю, то graphify запоминает архитектуру проекта.
Graphiti может записать себе в память, причину появления проблемы X, и что проблема X решается методом Y. В то время как graphify может записать конкретную архитектурную фичу.
Допустим ты обнаружил для себя какую то фишку, которую классно использовать при парсинге данных, нейронка добавила это в graphify, и в следующий раз, когда ты будешь делать схожую задачу, она может дёрнуть архитектурное решение с проекта, в котором оно уже применялось
Mem0
Это модуль автоматической персонализированной памяти. То есть фишка в том, что этот модуль вытягивает данные о пользователе с которым общается. Что ему нравится, чем занимается, что важно в текущей сессии и так далее.
Этот модуль памяти по сути направлен на персонализацию пользовательского опыта. Если твоя задача сделать агента более живым и заточенным под общение с тобой, или каким то определенным человеком, то Mem0 в этом деле будет одним из лучших решений.
Letta
Это даже не совсем модуль памяти, это система управления памятью. Агент сам решает что держать в текущем контексте, что архивировать и как обновлять свою память. Модуль применяется у долгоживущих агентов с определенной длительной задачей с большим количеством данных. В таких кейсах Letta проявляет себя лучше всего.
Так а какой использовать то?
В этом и суть, что для разных задач разные. Для кодинга приятнее всего ощущаться будет связка graphify + graphiti, а вот Mem0 для кодинга уже слабо подойдёт. Для бота который должен клиентам в техподдержке отвечать Mem0 будет хорошим решением, а Letta будет уже оверинжинирингом. Ну и так далее.
Модули памяти довольно полезная штука, которая в разы упрощает работу ИИ систем, особенно учитывая их забывчивость и галлюцинации. Главное не накатывать всё сразу, что бы разные модули не пиздились за то, кто прав, и понимать: "а какой стек подойдёт мне к этому проекту/задаче"
(Часть 2/2)
Post #12
214

- ❤ 5
- 🔥 2