Запись архива

Fraise — база памяти для AI-агентов на графах, тексте и векторах

Fraise — легковесная база памяти для AI-агентов с двумя глаголами remember и recall. Гибридный поиск по графу, тексту и векторам, MCP-сервер для Claude Code и бенчмарки, опережающие mem0 и Letta.

Архитектура Fraise — базы памяти для AI-агентов
Архитектура Fraise — базы памяти для AI-агентов
File:Envisioning emerging technology for 2012 and beyond.png | by Michell Zappa | openverse | by-sa

На Hacker News представлен Fraise — легковесная база памяти для AI-агентов. Проект позиционируется как альтернатива громоздким решениям вроде mem0, Letta или Graphiti: вместо настройки векторных или графовых БД разработчику предлагается один бинарник с двумя командами.

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

Fraise хранит факты в виде темпорального графа, связывающего сущности, темы и сами факты. Граф двудольный: факты соединены с сущностями и/или темами. Для запросов используется минималистичный язык с двумя глаголами:

remember ‘acme перешла на ежегодную оплату’ topic:billing entity:acme
recall billing entity:acme since:30d top:5

Идея автора: вызывающая сторона платит за каждый прочитанный токен, поэтому recall возвращает ранжированные и ограниченные результаты, а не полную выгрузку. Свежие факты получают приоритет над старыми.

Гибридный поиск

В отличие от большинства memory-слоёв, использующих существующие базы (векторные или графовые), Fraise предоставляет собственный гибридный движок. Он комбинирует три метода поиска:
— Текстовый (полнотекстовый)
— Векторный (эмбеддинги)
— Графовый (по связям между фактами)

Текст и векторы используются для нахождения «затравок» (seeds), которые затем становятся начальными точками для графового поиска. Такой подход позволяет получать релевантные факты, даже если точная формулировка запроса не совпадает с сохранённой.

Интеграция с Claude Code

Fraise поставляется с MCP-сервером. Для подключения к Claude Code достаточно выполнить:

claude mcp add fraise — fraise mcp

Это означает, что память AI-агента сохраняется между сессиями — ключевое требование для production-сценариев. Также поддерживается Codex (все инструкции в документации).

Бенчмарки и производительность

Автор провёл бенчмарк на датасете LoCoMo, сравнив Fraise с mem0, Letta, Graphiti, EverOS и cognee. Все системы получали одни и те же диалоги, использовали одинаковые модели извлечения фактов и эмбеддингов, а затем отвечали на одинаковые вопросы.

Результаты:
— Recall@k=10: 0.893 (лучший показатель — 0.897)
— P50 latency: 0.18 с (в два раза быстрее ближайшего конкурента)
— Потребление токенов: примерно треть от лидера по точности

Ограничения

Fraise находится на стадии 0.1.0. Основные недостатки:
— Отсутствие персистентности: данные хранятся только в оперативной памяти, без сохранения на диск. Это первая функция для версии 0.2.0.
— Масштабируемость чтения растёт линейно со степенью вершины графа. Например, тема с 30 тысячами прикреплённых фактов обрабатывается примерно в 55 раз медленнее, чем тема с 500.
— Вопросы масштабирования при «враждебных» топологиях графа пока открыты.

Практическое значение

Fraise решает реальную проблему: как дать AI-агенту долговременную память без развёртывания инфраструктуры. Два глагола — remember и recall — это не маркетинговая уловка, а осознанное проектное решение, продиктованное экономикой токенов. Для разработчиков, использующих Claude Code или Codex, это готовый инструмент, не требующий DevOps-навыков.

Тем не менее, production-использование ограничено отсутствием персистентности и потенциальными проблемами с производительностью на графах с большим количеством связей. Следить за развитием проекта стоит — идея гибридного поиска с графовым расширением выглядит многообещающей.

Источники
— Официальная документация: https://docs.getfraise.dev
— Репозиторий на GitHub: https://github.com/FraiseHQ/fraise
— Обсуждение на Hacker News: https://news.ycombinator.com/item?id=49609014