Перейти к содержимому
Новость

Память для Claude Code и Codex сделали обычной папкой с Markdown-файлами

[agent-memory](https://github.com/tigerless-labs/agent-memory) хранит долгосрочную память ИИ-агентов не в закрытой базе и не в облачном сервисе, а в обычных Markdown-файлах. Поисковый индекс можно удалить и собрать заново, а одну и ту же память способны использовать Claude Code, Codex CLI и другие агенты с доступом к командной строке.

Впечатлительная
Память для Claude Code и Codex сделали обычной папкой с Markdown-файлами

Автор: tigerless-labs

У памяти ИИ-агентов есть неприятная техническая особенность: ценными становятся не столько отдельные записи, сколько сама система, которая умеет их искать. Если сведения хранятся внутри специализированной базы, перенос на другой инструмент постепенно превращается в отдельный проект. Tigerless Labs в agent-memory пошла в другую сторону: первичными данными считаются обычные Markdown-файлы, а SQLite используется как перестраиваемый индекс. Удаление каталога с индексом, по документации разработчиков, не уничтожает накопленные сведения: индекс можно построить заново из файлов.
Это довольно существенное отличие от схемы, где агент получает из хранилища готовые фрагменты текста и фактически зависит от способа их нарезки. agent-memory при поиске сначала возвращает короткое описание, путь к файлу, точку совпадения и оценку релевантности. После этого агент сам решает, читать только структуру документа, аннотацию или полный текст. Основной поиск построен на BM25 через SQLite FTS5, а векторный поиск можно подключить дополнительно. Связи между воспоминаниями записываются прямо в метаданных Markdown-файлов.
Практический смысл такой архитектуры лучше всего виден при работе с несколькими агентами. Claude Code и Codex CLI могут читать одну папку памяти вместо того, чтобы каждый раз переносить решения проекта из одного инструмента в другой. Для программ, которые не поддерживают готовую интеграцию, остается обычный CLI. Сам runtime не содержит собственного клиента LLM и не требует отдельного API-ключа: когда системе нужно принять решение при обработке памяти, она обращается к CLI уже используемого агента.
Запись тоже не оставлена на усмотрение модели. Проект умеет запускать сохранение на границах сессии, а отдельный процесс Manage позже разбирает накопленное, обновляет записи и предлагает удалить утратившие ценность данные. Автоматического безвозвратного удаления разработчики не разрешают: удаление требует подтверждения, а замененные версии остаются доступными. Это полезная страховка для памяти, где ошибочная автоматическая "уборка" может быть хуже лишнего файла.
Разработчики уже приводят результаты собственного теста на модифицированном LongMemEval-S: 127 правильных ответов из 240, или 52,9%, против 86 из 240 у сравниваемой конфигурации MemCore. Но эти цифры нельзя ставить рядом с опубликованными результатами LongMemEval напрямую. Tigerless Labs использовала ограниченную историю из 12 сессий на эпизод и прямо называет эксперимент исследованием стратегии записи, а не полноценным воспроизведением стандартного бенчмарка. Сам LongMemEval проверяет извлечение информации, рассуждение между сессиями, работу со временем, обновление знаний и способность отказаться от ответа при отсутствии нужной памяти.
Пока agent-memory скорее инструмент для тех, кто готов работать с ранней версией, чем готовая инфраструктура для незаметной установки на любой компьютер. В pyproject указана версия 0.1.0 и требование Python 3.12 или новее, а готового релиза в PyPI у проекта пока нет. Код распространяется по лицензии MIT.
Но именно ранний статус делает выбранную архитектуру интереснее набора заявленных функций. Индекс, алгоритм ранжирования и конкретный ИИ-агент здесь можно заменить, не превращая сохраненную память в заложника одного сервиса. Пока сами Markdown-файлы остаются исходными данными, проект можно открыть обычным редактором, проверить через grep, хранить в Git или перенести в другую систему. Для инструмента, который должен переживать смену моделей и агентов, это куда важнее красивой кнопки "запомнить".

Источник: GitHub
2 показов