Вы тратите час на отладку с Claude. Изучаете кодовую базу, принимаете архитектурные решения, находите граничные случаи. Выходите. Следующая сессия? Вы заново объясняете структуру проекта.
Так AI работать не должен. Исследование Arize показывает, что производительность LLM резко падает после 100K токенов — даже у моделей, рекламирующих окна в миллион токенов. Тестирование Diffray выявило, что 11 из 12 моделей опустились ниже 50 % точности уже на 32K токенов. Эффект «потерянного посередине» хоронит информацию в длинных контекстах. А опрос Qodo показал, что 65 % разработчиков называют отсутствие контекста главным препятствием при рефакторинге.
Проблема не в том, что AI забывает. Проблема в том, что у нас не было хорошего способа заставить его помнить.
Octobrain — это долговременная память для AI-ассистентов. Он сохраняет инсайты, решения и знания между сессиями, а не только внутри них. Сегодня мы выпускаем версию 0.5.0 с индексацией локальных файлов, очисткой устаревших ссылок с учётом git и полной совместимостью с MCP (Model Context Protocol).
Что на самом деле делает Octobrain
Octobrain работает как MCP-сервер, который предоставляет инструменты памяти любому совместимому клиенту — Claude Desktop, Zed, Cursor или чему угодно, что говорит на MCP. Это также CLI, когда нужно прямое управление.
# Запуск MCP-сервера
octobrain mcp
# Или используйте напрямую
octobrain memory memorize --title "API Pattern" \
--content "Use REST for CRUD, GraphQL for complex queries" \
--memory-type architecture --tags "api,design"
Сервер предоставляет семь инструментов: memorize, remember, forget, relate, auto_link, memory_graph и knowledge_search. Ваш AI сохраняет инсайты во время разговора, извлекает их в будущих сессиях и исследует связи между связанными воспоминаниями.
Никаких ручных файлов с конспектами. Никакого раздувания окна контекста. Только память, которая сохраняется.
Почему мы это создали
Мы начали не с памяти. Мы начали с Octomind — рантайма для специализированных AI-агентов, который даёт вам senior-разработчика за пять секунд через систему tap: octomind run developer:general. Нулевая конфигурация, полная оснащённость инструментами.
Но наши агенты постоянно упирались в одну и ту же стену. Они тратили часы на задачу — изучая кодовую базу, принимая архитектурные решения, находя решения. Затем сессия заканчивалась. Окно контекста заполнено. Следующая сессия начиналась с нуля. Те же шаблоны переоткрывались. Те же решения принимались заново. День сурка с терминалом.
Мы пробовали обходные пути. Ручные банки памяти, требующие дисциплины, которой у нас не было. Сводки сессий, которые теряли нюансы почему были приняты решения. Статические базы знаний, которые устаревали в момент переименования файла. Cursor rules, кастомные скрипты, различные расширения. Все статические обходные пути для динамической проблемы.
Поэтому мы построили Octobrain.
Что не так с существующими инструментами
Когда мы смотрели на решения для памяти, мы постоянно находили одни и те же пробелы:
Системы с единственной стратегией. Большинство инструментов выбирают один подход — векторный поиск, или BM25, или обход графа — и всё. Но разные запросы нуждаются в разных стратегиях. Иногда нужна семантическая близость. Иногда нужно точное совпадение по ключевым словам. Иногда нужно обходить связи. Мы хотели всё это, разумно объединённое.
Статическая важность. Существующие системы относятся к каждому воспоминанию как одинаково важному навсегда. Память так не работает. Что-то важно один день. Что-то важно годами. Нам нужен был временной распад — воспоминания, которые естественно угасают, если их не подкрепляет доступ.
Накопление мёртвых ссылок. Пути к файлам в воспоминаниях гниют. Вы рефакторите, переименовываете, удаляете. Большинство систем этого не замечают. Воспоминания остаются, указывая на призраков. Нам нужна была git-aware очистка, которая обнаруживает переименования, наказывает устаревшие ссылки и удаляет действительно устаревшее.
Никаких связей. Реальные знания связаны. Решение подразумевает зависимости. Багфикс заменяет обходное решение. Шаблон реализует архитектуру. Нам нужна была система, способная моделировать эти связи, а не просто хранить изолированные факты.
SOTA-подходы, которые мы реально используем
Мы не изобретали эти техники. Мы собрали то, что работает, из state of the art, сделали это настраиваемым и оставили выбор за конкретным сценарием использования.
Гибридный поиск с нативным RRF
Octobrain объединяет полнотекстовый поиск BM25 с векторной близостью через Reciprocal Rank Fusion с помощью нативного execute_hybrid() от LanceDB. Тот же алгоритм, который используют продакшен-системы поиска. Вы находите "authentication middleware", когда ищете "auth layer", но также находите точные совпадения, когда они вам нужны.
Опциональный реранкинг
Для критически важной выборки включите cross-encoder реранкер. Он оценивает пары запрос-документ с помощью специализированной модели. Улучшает точность на 20–35 %, снижает галлюцинации на 35 %. По умолчанию выключен, потому что скорость важна. Доступен, когда вам нужна точность.
Временной распад (в стиле Эббингауза)
Воспоминания угасают. Это не баг — так работает познание. Octobrain реализует кривую забывания Эббингауза: воспоминания естественно затухают, если к ним не обращаются. Каждое извлечение повышает важность. Неиспользуемые воспоминания дрейфуют вниз, важные остаются на виду. Настраивайте период полураспада (по умолчанию: 90 дней) и минимальное значение.
Авто-связывание (Zettelkasten для AI)
Когда вы сохраняете воспоминание, Octobrain находит семантически близкие воспоминания и создаёт двунаправленные связи. В результате получается эмерджентный граф знаний. Запросите одно воспоминание — получите его контекст: воспоминания, которые расширяют его, противоречат ему, реализуют его, зависят от него.
Git-aware очистка устаревших ссылок
Системы памяти накапливают ссылки на файлы, которых больше не существует. Octobrain обнаруживает это при запуске: если все связанные файлы исчезли, воспоминание удаляется. Если некоторые исчезли, важность снижается. Файлы переименованы? Мы обнаруживаем это через историю git и обновляем ссылки.
Ваша память остаётся такой же чистой, как ваша кодовая база.
Что нового в 0.5.0
Этот релиз отражает то, что мы узнали, эксплуатируя память в масштабе:
Индексация локальных файлов: Система знаний теперь индексирует локальные файлы, а не только URL. Направьте её на документацию, PDF, Markdown. Она разбивает их разумно, отслеживает родительский контент для контекста, переиндексирует автоматически, когда контент устаревает.
Хранилище в области сессии: Чанки знаний могут быть привязаны к сессии — временное хранилище, которое самоочищается через 120 часов. Для разовых исследований, которые не должны загрязнять долговременную память.
Типы памяти product и workflow: Две новые категории. product — для спецификаций функций, требований, дизайн-решений. workflow — для процессов, плейбуков, повторяющихся паттернов.
Официальный SDK rmcp: Перешли с собственной реализации MCP на официальный Rust SDK. Лучшее соответствие протоколу, лучшая стабильность, лучшая готовность к будущему.
Очистка устаревших ссылок: Автоматическое обнаружение мёртвых ссылок на файлы с отслеживанием переименований в git.
Как всё сочетается: Octomind + Octobrain
Octobrain работает автономно. Но он спроектирован для Octomind — нашего рантайма для специализированных AI-агентов.
Поток: Octomind пишет код, принимает решения, сталкивается с багами. Каждый инсайт сохраняется в Octobrain с хешем текущего git-коммита. Через три месяца рефакторите этот модуль? Octomind извлекает первоначальное решение — плюс связанные воспоминания, противоречивые подходы, которые были отвергнуты, обоснование компромиссов.
Память привязана к вашему проекту через хеш URL git-remote. Кросс-проектные запросы работают, когда нужен общий контекст. Фильтрация по ролям (developer, reviewer и т. д.) поддерживает порядок в перспективах.
Octomind управляет агентом. Octobrain управляет памятью. Вместе они решают полную задачу: AI, который действительно знает вашу предметную область, через сессии, без головной боли с настройкой.
Почему мы не использовали Mem0 или Zep
Перед созданием мы оценили пространство памяти. Вот что мы обнаружили:
- Mem0: Самый быстрый путь в продакшен, отличный управляемый сервис, плоская векторная архитектура (без графовых связей). Нам был нужен граф.
- Zep: Основан на графе, сильный во временных запросах, лидирует в бенчмарке LoCoMo — сложная архитектура, тяжелее, чем мы хотели для local-first использования.
- Letta: Уровни памяти, вдохновлённые ОС, LLM управляет извлечением — требует LLM для всех операций с памятью. Мы хотели что-то более лёгкое, быстрое и предсказуемое.
Octobrain отличается. Мы не оптимизируем под один подход — мы делаем доступными и настраиваемыми несколько SOTA-стратегий. Гибридный поиск или чистые векторы? Ваш выбор. Временной распад или статическая важность? Настраивается. Авто-связывание или ручные отношения? Работают оба. Локальные эмбеддинги или через API? Любой вариант.
Цель — не самая простая система памяти. А самая точная для вашего конкретного сценария.
Open Source, Local-First
Octobrain распространяется под лицензией Apache-2.0 и работает полностью на вашей машине. Ваш код, ваши воспоминания, ваши данные — никогда не покидают вашу систему, если только вы явно не настроите внешнее API эмбеддингов. Мы построили его так, потому что устали выбирать между «удобными» управляемыми сервисами, требующими отправки кодовой базы на чужой сервер, и хрупкими DIY-решениями, которые падают под нагрузкой.
Самохостинг не должен означать компромисс по возможностям. Octobrain даёт вам гибридный поиск продакшен-уровня, временной распад и графы связей — всё работает локально, с нулевой утечкой данных.
Начало работы
# macOS через Homebrew (рекомендуется)
brew install muvon/tap/octobrain
# Любая платформа через crates.io
cargo install octobrain
# Запуск MCP-сервера
octobrain mcp
Добавьте в конфигурацию Claude Desktop:
{
"mcpServers": {
"octobrain": {
"command": "/path/to/octobrain",
"args": ["mcp"]
}
}
}
Перезапустите Claude. Теперь у вашего AI есть долговременная память.
FAQ
Работает ли Octobrain с другими AI-ассистентами, помимо Claude?
Да. Любой MCP-совместимый клиент работает — Claude Desktop, Zed, Cursor, Windsurf и любая кастомная реализация, говорящая на протоколе.
Где хранятся мои данные?
Локально на вашей машине. Octobrain использует SQLite для графа и LanceDB для векторов. Никаких облачных сервисов, никакого внешнего хранилища, если только вы не настроите API-провайдер эмбеддингов.
Чем это отличается от использования встроенной памяти Claude?
Память Claude отлично подходит для личных предпочтений и повторяющегося контекста. Octobrain — для знаний о проекте: архитектурных решений, паттернов кодовой базы, исправлений багов, дизайнерских компромиссов. Он сохраняется между проектами и переживает смену аккаунтов.
Могу ли я импортировать существующие заметки или документацию?
Да. Система знаний в 0.5.0 индексирует локальные файлы — Markdown, PDF, текстовые файлы. Направьте её на свою документацию, и она их разобьёт, создаст эмбеддинги и сделает доступными для поиска.
Что произойдёт, если я переименую или удалю файлы, упомянутые в воспоминаниях?
Octobrain обнаруживает это при запуске. Если все связанные файлы исчезли, воспоминание удаляется. Если некоторые остались, важность снижается. Переименования обнаруживаются через историю git, и ссылки обновляются автоматически.
Есть ли хостинговая версия?
Сейчас нет. Octobrain спроектирован как local-first. Хостинговая версия потребовала бы значительных архитектурных изменений и проработки безопасности. Если вам это нужно, сообщите нам.
Что дальше
Мы экспериментируем со стратегиями извлечения. Мультивекторными представлениями. Обученным разреженным извлечением. Расширением запросов. Пространство памяти быстро эволюционирует — мы привержены тому, чтобы поставлять то, что работает, а не то, что хорошо звучит в статье.
Если вы создаёте AI-агентов, которым нужно помнить вещи между сессиями, попробуйте Octobrain. Мы создали его, потому что он нам был нужен. Если вы упираетесь в ту же стену, в которую упирались мы, возможно, это то, что нужно и вам.
Octobrain разработан Muvon Un Limited. Open source под Apache-2.0. Получите его на GitHub.



