Zikkaron

by amanhij (community) · Claude Code, OpenCode, любой MCP-клиент, Python 3.11+

MCP MCP Servers Open Source v1.6.0 · 01.04.2026 активный

Биологически вдохновлённый движок персистентной памяти для Claude Code. 26 когнитивных подсистем, сети Хопфилда, предиктивное кодирование, каузальный анализ, successor representations — всё локально на SQLite.

v1.6.0
01.04.2026 current

Установка
pip install zikkaron

# Добавить в конфигурацию Claude Code:
# {
#   "mcpServers": {
#     "zikkaron": {
#       "command": "zikkaron"
#     }
#   }
# }

# Добавить в ~/.claude/CLAUDE.md:
# - On every new session, call `recall` with the current project name
# - Before starting any task, call `get_project_context` for the current directory
# - After completing significant work, call `remember` to store decisions and outcomes
показать оригинал переведено ИИ

Zikkaron

PyPI Python 3.11+ Tests License: MIT

Zikkaron (זיכרון) — это «память» на иврите.

Ваш ИИ забывает вас каждый раз, когда вы закрываете вкладку. Каждое архитектурное решение, которое вы объяснили, каждая отладочная кроличья нора, в которую вы спускались вместе, каждое «запомни, мы используем Postgres, а не SQLite» — исправление. Всё исчезает. Вы начинаете следующую сессию незнакомцем для собственных инструментов.

Zikkaron — это движок постоянной памяти для Claude Code, построенный на вычислительной нейронауке. Он запоминает, над чем вы работали, как вы мыслите, что вы решили и почему. Не как тупой текстовый дамп, который заталкивается в контекст, а как живая система памяти, которая консолидирует, интеллектуально забывает и восстанавливает нужный контекст в нужное время.

26 подсистем. 24 MCP-инструмента. Работает полностью на вашей машине. Один SQLite-файл.

Две минуты, чтобы больше никогда не повторяться

pip install zikkaron

Добавьте в конфигурацию Claude Code:

{
  "mcpServers": {
    "zikkaron": {
      "command": "zikkaron"
    }
  }
}

Расскажите Claude, как этим пользоваться. Добавьте это в ваш глобальный ~/.claude/CLAUDE.md (ваш домашний каталог, не на уровне проекта):

## Memory
- On every new session, call `recall` with the current project name
- Before starting any task, call `get_project_context` for the current directory
- After completing significant work, call `remember` to store decisions and outcomes

Или просто позвольте Zikkaron справиться с этим. При каждом запуске он автоматически синхронизирует ~/.claude/CLAUDE.md с последними инструкциями через sync_instructions. Вы настраиваете это один раз и больше никогда об этом не думаете.

Как это ощущается на самом деле

Понедельник. Вы тратите час на отладку неприятной гонки условий с auth-токеном. Claude помогает вам проследить её до несоответствия TTL между Redis и вашей JWT-конфигурацией. Вы исправляете это. Claude сохраняет память.

Четверг. Пользователь сообщает о периодических выходах из системы. Вы открываете Claude Code в том же проекте. Ещё до того, как вы опишете баг, Claude вспоминает исправление Redis TTL с понедельника, проверяет, связано ли оно с этим, и спрашивает, обрабатывает ли middleware, который вы добавили, крайний случай, когда Redis перезапускается посреди сессии.

Вот в чём разница. Не «вот ваша история разговора». Настоящее припоминание. Такое, когда ваши инструменты понимают форму того, что вы строите, а не просто слова, которые вы набрали в прошлый раз.

Поиск, который действительно работает

Мы протестировали Zikkaron на LoCoMo (Maharana et al., ACL 2024) — стандартном бенчмарке для долгой памяти разговоров. 10 разговоров, 1 986 вопросов, всё — от простых фактических запросов до многошаговых рассуждений и adversarial-вопросов-ловушек, созданных, чтобы вас запутать.

Zikkaron Что это значит
Recall@10 86,8% Нужная память появляется в топ-10 почти 9 раз из 10
MRR 0,708 Правильный ответ обычно первый или второй результат
Single-hop MRR 0,757 Фактические вопросы — почти всегда попадание с первой попытки
Temporal MRR 0,712 Запросы «Когда произошло X?» — сильное чувство времени

Суть в том, что при запросе не запускается LLM. Никаких API-вызовов. Никаких моделей с миллиардами параметров. Просто модель эмбеддингов на 22 МБ, SQLite-файл и набор алгоритмов из нейронауки, делающих основную работу. Большинство систем, достигающих таких цифр, нуждаются в GPT-4 в цикле. Zikkaron добивается этого с помощью оценки энергии Хопфилда, распространяющейся активации и кросс-энкодерного реранкера.

BEAM: 10 миллионов токенов разговора, одна система памяти

BEAM (Tavakoli et al., ICLR 2026) — самый сложный из существующих бенчмарков долгосрочной памяти. 10 разговоров, каждый объёмом 10 миллионов токенов. 200 пробных вопросов по 10 способностям памяти, включая три, которые не тестирует ни один предыдущий бенчмарк: разрешение противоречий, упорядочивание событий и следование инструкциям.

Каждая система в статье разрушается в таком масштабе. Лучший зафиксированный результат (фреймворк LIGHT на Llama-4-Maverick) — 0,266. Большинство способностей падают почти до нуля на 10 миллионах токенов. Подходы с контекстным окном не могут этого вместить. RAG-подходы тонут в шуме.

Zikkaron набирает 0,404 в целом — улучшение на 52% по сравнению с лучшей системой в статье ICLR 2026.

Способность Zikkaron LIGHT (лучший) Что произошло
Следование инструкциям 0,750 0,500 +50%. Claude Opus хорошо читает даже при несовершенном поиске
Извлечение информации 0.650 0.375 +73%. Конкретные факты, извлечённые из 10K воспоминаний
Обновление знаний 0.650 0.375 +73%. Тепловой распад выявляет самую свежую версию факта
Следование предпочтениям 0.642 0.483 +33%. Предпочтения пользователя отслеживаются между сессиями
Воздержание 0.450 0.750 Знать, чего ты не знаешь, сложно без черновика
Резюмирование 0.216 0.277 Для резюмирования нужно много исходных фрагментов одновременно
Многосессионное рассуждение 0.195 0.135 +44%. Соединение доказательств через далёкие ходы
Временное рассуждение 0.175 0.075 +133%. Когда произошло X относительно Y?
Разрешение противоречий 0.163 0.050 +226%. Обнаружение конфликтующих утверждений через тысячи ходов
Упорядочивание событий 0.150 0.266 Поиск находит события, но хронологическая последовательность сложна
Общий результат 0.404 0.266 +52%

Семь из десяти способностей превосходят опубликованный современный уровень. Самые большие улучшения приходятся именно на те способности, где структурированная память должна помогать больше всего: разрешение противоречий (+226%), временное рассуждение (+133%) и обновление знаний (+73%). Это те способности, где все системы в статье набирают почти ноль очков, потому что у подходов с контекстным окном нет механизма отслеживания изменения фактов или времени событий. Термодинамический распад, реконсолидация и временные метаданные Zikkaron обрабатывают это нативно.

Три способности, где LIGHT побеждает (воздержание, упорядочивание событий и резюмирование), отражают реальные ограничения. Воздержание требует распознавания отсутствия информации, что выигрывает от черновика LIGHT, который явно отслеживает, что уже обсуждалось. Упорядочивание событий требует идеальной хронологической последовательности, а не просто поиска правильных событий. Резюмирование требует одновременного поиска множества исходных фрагментов, и наш бюджет поиска покрывает лишь часть релевантного контента.

Одно важное замечание: базовые показатели в статье BEAM используют GPT-4.1-nano как модель-читатель. Мы используем Claude Opus 4.6, который значительно более способный. Результат следования инструкциям (0.750 с retrieval MRR всего 0.086) демонстрирует, что качество читателя вносит вклад в результаты QA независимо от качества поиска. Наши метрики поиска (MRR 0.422, Recall@10 0.353) независимы от модели и напрямую сравнимы с базовыми показателями статьи.

Конфигурация бенчмарка: BEAM-10M раздел, 10 разговоров, 200 вопросов, приём парных фрагментов, соответствующий режиму RAG статьи, бинарная оценка самородков по рубрикам с приведением int(), соответствующим коду оценки статьи, Kendall tau-b через scipy для упорядочивания событий, новая база данных для каждого разговора.

Гиппокампальное воспроизведение: контекст, переживающий сжатие

Вот проблема, о которой никто не говорит. У Claude Code есть контекстное окно на 200k/1M токенов. Во время длинных сессий, когда это окно заполняется, происходит сжатие: обобщаются старые сообщения, вырезаются результаты инструментов, перефразируются ваши инструкции. Важные нюансы испаряются. Решения, которые вы закрепили в начале разговора, растворяются в расплывчатых сводках.

Гиппокампальное воспроизведение исправляет это. Названное в честь нейробиологического феномена, где мозг воспроизводит важные переживания во время сна, чтобы консолидировать их в долговременную память, оно рассматривает сжатие контекста как «сон» и воспроизводит важное, когда Claude «просыпается».

Как это работает:

Перед сжатием срабатывает хук. Zikkaron выгружает ваш активный контекст: над чем вы работали, какие файлы были открыты, какие решения вы приняли, какие ошибки остались нерешёнными. Всё это сохраняется как контрольная точка.

После сжатия срабатывает второй хук. Zikkaron умно восстанавливает ваш контекст. Не сбрасывая всё обратно, а собирая нужные части: вашу последнюю контрольную точку, любые факты, закреплённые как критические, самые горячие проектные воспоминания и предсказания того, что вам понадобится дальше, на основе ваших паттернов использования.

Вы также можете явно указать, что важно:

Tool: anchor
  content: "We're using the event-sourcing pattern. All state changes go through the event bus."
  reason: "Architecture constraint"

Закреплённые воспоминания получают максимальную защиту. Они всегда переживают сжатие, несмотря ни на что.

Одноразовая настройка на проект:

Tool: install_hooks
  project_directory: "/path/to/your/project"

После этого всё автоматически. Вы не думаете об этом. Вы ничего не вызываете вручную. Хуки срабатывают, контекст выгружается, контекст восстанавливается. Ваши длинные сессии просто... работают.

Память с нулевым зазором (v1.3.0)

Предыдущие версии всё ещё имели пробелы. Вы работаете над чем-то час, делая постепенные успехи, и write-gate Zikkaron блокирует половину из них, потому что каждый маленький шаг выглядит «неудивительным» относительно предыдущего. Вы принимаете критическое архитектурное решение, и оно медленно деградирует до уровня gist. Вы возвращаетесь в новую сессию, и у Claude нет ни малейшего понятия, чем вы только что занимались.

v1.3.0 исправляет всё это:

Адаптивный write-gate. Система теперь отслеживает последние 10 сохранённых воспоминаний. Когда вы явно работаете над одной и той же задачей — та же директория, тот же временной промежуток, похожий контент — она снижает порог удивления, чтобы постепенный прогресс проходил. Gate по-прежнему блокирует шум. Он просто перестаёт блокировать вашу работу.

Автозащита решений. Когда вы говорите «решил использовать Redis вместо Memcached» или «выбрал паттерн event-sourcing вместо CRUD», Zikkaron обнаруживает паттерн решения и автоматически помечает его как защищённый. Защищённые воспоминания никогда не сжимаются и не затухают быстро. Ваши решения переживают ваши сессии.

Автоматический захват действий. Hook PostToolUse срабатывает после каждого вызова инструмента, который делает Claude. Правки файлов, bash-команды, поиски — всё попадает в лёгкий журнал действий. Фоновый демон консолидации периодически преобразует их в полноценные воспоминания. Вам не нужно вызывать remember для рутинной работы. Система просто знает.

Внедрение контекста сессии. Hook SessionStart срабатывает при каждой новой сессии и внедряет контекст вашего проекта — горячие воспоминания, закреплённые факты, недавние действия, последний чекпоинт — прямо в окно контекста Claude. Claude начинает каждую сессию, уже зная, чем вы занимались.

Микро-чекпоинты. Вместо чекпоинтов каждые 50 вызовов инструментов система теперь автоматически делает чекпоинты при значимых событиях: возникшие ошибки, принятые решения, информация с высоким уровнем удивления. Критические переходы состояния фиксируются в момент их возникновения.

Согласованность сессий. Воспоминания, созданные в течение последних 4 часов, получают бонус «тепла», который линейно затухает. Вы больше никогда не столкнётесь с проблемой «я же только что говорил тебе это 10 минут назад».

Все hooks работают в обоих режимах транспорта: stdio и HTTP — они напрямую обращаются к базе данных SQLite, без необходимости взаимодействия с сервером.

Посев проекта: решение проблемы холодного старта

Zikkaron органично накапливает память в течение сессий. Это отлично для текущей работы, но что насчёт случаев, когда вы устанавливаете его на кодовую базу, над которой работаете уже год? Вам потребуются десятки сессий, прежде чем у Claude появится осмысленное покрытие вашего проекта. К тому времени вы уже повторите себя пятьдесят раз.

seed_project решает эту проблему. Один вызов — и Zikkaron сканирует весь ваш проект и создаёт базовые воспоминания из структуры, конфигов, документации, CI/CD, точек входа и сводок по компонентам. Claude начинает следующую сессию, уже зная, что представляет собой ваш проект, на чём он построен и как организован.

# CLI
zikkaron seed /path/to/your/project

# Preview without storing
zikkaron seed /path/to/your/project --dry-run

Или вызовите его как MCP-инструмент из Claude Code:

Tool: seed_project
  directory: "/path/to/your/project"

Что извлекается:

  • Обзор проекта — имя, технологический стек, количество файлов, дерево директорий
  • Конфигурационные файлы — package.json, pyproject.toml, Cargo.toml, go.mod и ещё 15+. Корректно разбираются (TOML через tomllib, JSON через json), а не выцарапываются регулярными выражениями. Зависимости, скрипты, workspace-ы, бэкенды сборки — всё извлекается.
  • Документация — README, ARCHITECTURE, CONTRIBUTING, CLAUDE.md, CHANGELOG
  • CI/CD — GitHub Actions, GitLab CI, Jenkins, Travis, Azure Pipelines
  • Точки входа — main.*, index.*, app.*, server.*, __main__.py
  • Сводки по компонентам — с поддержкой monorepo. Определяет границы подпроектов, ища вложенные конфигурационные файлы (packages/web/package.json, services/api/Cargo.toml), а не только директории верхнего уровня

Создан для повторных запусков. Повторный посев чисто заменяет старые seed-воспоминания, а не дополняет их. Ваш проект развивается, вы повторно выполняете посев, и воспоминания отражают текущее состояние. Все seed-воспоминания помечаются тегом _seed для идентификации.

Дифференциация «тепла». Не все посеянные воспоминания одинаковы. Обзор проекта и документация стартуют «горячее» (0.85–0.9), чем списки файлов компонентов (0.5). Claude в первую очередь показывает важное. Мы прогнали полный бенчмарк LongMemEval (Wu et al., ICLR 2025) — текущий стандарт для оценки долгосрочной интерактивной памяти в чат-ассистентах. 500 вопросов, отобранных вручную, в шести категориях, каждый встроен в ~40 сессий истории разговора (~115k токенов). Бенчмарк проверяет то, чего не проверяет LoCoMo: помните ли вы, что говорил ассистент (а не только пользователь), отслеживаете ли вы изменения информации со временем, знаете ли вы, чего вы не знаете, и можете ли вы рассуждать о сессиях, разделённых неделями.

Zikkaron Что это значит
Recall@10 96.7% Правильная память появляется в топ-10 результатов почти для каждого вопроса
MRR 0.945 Правильный ответ почти всегда является первым результатом
Knowledge Update MRR 1.000 Когда информация пользователя меняется, Zikkaron всегда показывает последнюю версию первой

Лучший результат, о котором сообщалось в статье, достиг 78.4% Recall@10 на этом наборе данных. Zikkaron достигает 96.7% без использования LLM в цикле поиска.

Разбивка результатов поиска по категориям:

Категория MRR Recall@10
Одна сессия (пользователь) 0.973 1.000
Одна сессия (ассистент) 0.964 0.964
Одна сессия (предпочтения) 0.810 0.967
Рассуждения в нескольких сессиях 0.966 0.958
Временные рассуждения 0.902 0.955
Обновления знаний 1.000 0.979

Обновления знаний получили идеальный MRR, потому что температурное затухание естественным образом поднимает более новую информацию выше старых версий одного и того же факта. Это не было спроектировано для бенчмарка. Это просто то, как работает термодинамическая модель.

Временные рассуждения — самая сложная категория и наш самый низкий MRR — 0.902, что всё равно означает, что правильная память обычно находится в двух лучших результатах. Вопросы вроде «сколько недель назад я посещал X» требуют сопоставления с временными метками сессий, и наш поиск на основе эмбеддингов справляется с этим благодаря временным метаданным, которые мы встраиваем непосредственно в содержимое памяти.

Полная оценка QA (с использованием Claude и как читателя, и как судьи) достигла 75.6% общей точности, с выдающимися результатами по обновлениям знаний (85.9%) и воспоминаниям ассистента (94.6%). Рассуждения в нескольких сессиях (54.9%) — основное отставание, и это проблема синтеза читателем, а не поиска. Мы извлекаем правильные сессии в 95.8% случаев для вопросов из нескольких сессий. Читателю просто нужно проделать больше работы, соединяя информацию между ними.

Конфигурация бенчмарка: вариант LongMemEval_S, декомпозиция памяти на уровне раундов, свежая база данных для каждого вопроса, 500 вопросов, оценённых от начала до конца.

Наука под капотом

Zikkaron не хранит воспоминания так, как база данных хранит строки. Он относится к ним скорее так, как мозг относится к опыту.

У воспоминаний есть температура. Каждое воспоминание начинается горячим. Если вы продолжаете к нему обращаться, оно остаётся горячим. Если нет — остывает. Ниже порога оно сжимается: сначала до сути, затем до тегов, и в конце концов полностью исчезает. Это не баг. Это оптимальное забывание с учётом искажений — та же математическая основа, которую ваш мозг использует, чтобы решить, что стоит сохранить. Важные воспоминания сопротивляются сжатию. Неожиданные получают прирост тепла. Скучные, избыточные тихо исчезают.

У хранилища есть привратник. Не всё заслуживает запоминания. Zikkaron поддерживает предсказательную модель того, что он уже знает, и хранит только информацию, которая нарушает его ожидания. Скажите ему одно и то же дважды, и шлюз записи заблокирует вторую попытку. Это предсказательное кодирование: тот же механизм, который ваш неокортекс использует для фильтрации сенсорного ввода. Только ошибки предсказания проходят сквозь фильтр.

Поиск меняет память. Когда вы вызываете воспоминание в новом контексте, оно не просто пассивно возвращается. Система сравнивает контекст поиска с контекстом хранения, и при достаточном расхождении происходит реконсолидация: память обновляется, чтобы отражать то, что верно сейчас. Сильное расхождение архивирует старую версию и создаёт новую. Это настоящая нейронаука. Надер и его коллеги показали в 2000 году, что извлечённые воспоминания становятся лабильными и могут быть переписаны. Ваша кодовая база развивается, и воспоминания Zikkaron о ней тоже. Память конкурирует за пространство. Пул слотов энграмм, каждый с показателем возбудимости, который возрастает при использовании и затухает со временем. Когда поступает новое воспоминание, оно попадает в самый возбудимый слот. Воспоминания в одном слоте временно связываются, создавая цепочки связанных переживаний, даже если их содержание не имеет ничего общего. Это моделирует то, как реальные нейроны распределяют энграммы через зависящую от CREB возбудимость.

Фоновая консолидация работает как сон. Когда вы бездействуете, демон астроцитов просыпается и обрабатывает недавние переживания. Он извлекает сущности и связи, строит граф знаний, объединяет почти дубликаты, обнаруживает причинно-следственные цепочки и запускает «воспроизведение снов», где случайные пары воспоминаний сравниваются и возникают новые связи. Четыре специализированных процесса обрабатывают разные типы знаний с разной скоростью: структура кода, архитектурные решения, паттерны ошибок и зависимости.

Когнитивная карта организует всё. Преемственные представления строят двумерную карту пространства понятий, где воспоминания, к которым обращаются в схожих контекстах, группируются вместе, даже если их содержание совершенно разное. Воспоминания об отладке группируются рядом с другими воспоминаниями об отладке. Архитектурные решения группируются вместе. Перемещаясь по этой карте, вы находите связанные знания, которые поиск по ключевым словам никогда бы не выявил.

Все 24 инструмента

Инструмент Назначение
remember Сохранить воспоминание через пишущий шлюз предсказательного кодирования
recall Многосигнальный поиск с ранжированием по тепловой взвешенности
forget Удалить воспоминание
validate_memory Проверить устаревание относительно текущего состояния файлов
get_project_context Получить горячие воспоминания для директории
consolidate_now Принудительно запустить цикл консолидации
memory_stats Статистика системы по всем подсистемам
rate_memory Обратная связь о полезности для отслеживания метапамяти
recall_hierarchical Запрос фрактальной иерархии на конкретном уровне абстракции
drill_down Навигация внутрь кластера воспоминаний
create_trigger Установить проспективные триггеры, срабатывающие при соответствующем контексте
get_project_story Автобиографическое повествование проекта
add_rule Нейросимволические ограничения для фильтрации и повторного ранжирования
get_rules Список активных правил
navigate_memory Перемещение по пространству понятий через преемственные представления
get_causal_chain Причинные предки и потомки для сущности
assess_coverage Оценка полноты знаний с выявлением пробелов
detect_gaps Поиск изолированных сущностей, устаревших областей, отсутствующих связей
checkpoint Снимок рабочего состояния для восстановления после уплотнения
restore Восстановление контекста после уплотнения через гиппокампальное воспроизведение
anchor Пометка критических фактов как устойчивых к уплотнению
install_hooks Включение хуков автозахвата, внедрения контекста и восстановления после уплотнения
sync_instructions Обновление CLAUDE.md последними возможностями Zikkaron
seed_project Бутстрапинг памяти для существующего проекта за одно сканирование

Архитектура

Всё работает локально. Одна база данных SQLite с режимом WAL, полнотекстовым поиском FTS5 и sqlite-vec для приблизительного поиска ближайших соседей по векторам.

26 подсистем, организованных в пять уровней:

Основное хранилище и поиск

Модуль Роль
storage.py Движок SQLite WAL, 16 таблиц, индексация FTS5, ANN-поиск sqlite-vec
embeddings.py Кодирование через sentence-transformer (all-MiniLM-L6-v2), пакетные операции
retrieval.py Слияние четырёх сигналов: векторное сходство, FTS5 BM25, PPR по графу знаний, распространение активации
models.py Модели данных Pydantic для полной иерархии типов
config.py Конфигурация на основе переменных окружения с префиксом ZIKKARON_

Динамика памяти

Модуль Роль
thermodynamics.py Теплота, удивление, важность, эмоциональная валентность, временное затухание
reconsolidation.py Лабильный поиск с тремя исходами по Nader et al. (2000)
predictive_coding.py Пишущий шлюз, фильтрующий избыточность через ошибку предсказания
engram.py Конкурентное распределение слотов с возбудимостью, подобной CREB
compression.py Оптимальное забывание по теории скорость-искажение на трёх уровнях сжатия
staleness.py Сторожевой механизм изменений файлов через сравнение SHA-256 хешей

Консолидация и организация

Модуль Роль
consolidation.py Фоновый демон астроцитов для периодической консолидации
astrocyte_pool.py Специализированные рабочие процессы для кода, решений, ошибок, зависимостей
sleep_compute.py Воспроизведение снов, обнаружение сообществ Лувена, временное сжатие
fractal.py Многоуровневое дерево памяти с навигацией по уровням
cls_store.py Комплементарные обучающиеся системы: быстрое эпизодическое + медленное семантическое хранилища

Структура знаний

Модуль Роль
knowledge_graph.py Типизированный граф сущностей и связей с персонализированным PageRank
causal_discovery.py Алгоритм PC для каузальных DAG на основе данных сессий кодирования
cognitive_map.py Представление преемственности для навигационной выборки
narrative.py Синтез автобиографических историй проекта
curation.py Объединение дубликатов, обнаружение противоречий, перекрёстные ссылки

Передовые возможности

Модуль Роль
hopfield.py Современные непрерывные сети Хопфилда (Ramsauer и др., 2021)
hdc_encoder.py Гипермерное вычисление в 10 000-мерном биполярном пространстве
metacognition.py Самооценка полноты знаний и обнаружение пробелов
rules_engine.py Жёсткие и мягкие нейро-символические ограничения
crdt_sync.py Обмен памятью между агентами через CRDT
prospective.py Ориентированные на будущее триггеры по директории, ключевому слову, сущности или времени
sensory_buffer.py Эпизодический буфер захвата для сырого содержимого сессий
restoration.py Движок воспроизведения гиппокампа для устойчивости сжатия контекста
seed.py Сканирование проекта и начальная загрузка базовой памяти

Расширенная настройка

Из исходного кода

git clone https://github.com/amanhij/Zikkaron.git
cd Zikkaron
pip install -e .

SSE-транспорт

Запуск в качестве фонового сервера вместо stdio:

zikkaron --transport sse

Затем укажите Claude Code URL:

{
  "mcpServers": {
    "zikkaron": {
      "type": "sse",
      "url": "http://127.0.0.1:8742/sse"
    }
  }
}

Порт по умолчанию — 8742. Изменяется параметром --port. База данных по умолчанию — ~/.zikkaron/memory.db, изменяется параметром --db-path.

Конфигурация

Все настройки используют префикс переменных окружения ZIKKARON_:

Переменная По умолчанию Что контролирует
ZIKKARON_PORT 8742 Порт сервера
ZIKKARON_DB_PATH ~/.zikkaron/memory.db Расположение базы данных
ZIKKARON_EMBEDDING_MODEL all-MiniLM-L6-v2 Модель предложенческих трансформеров
ZIKKARON_DECAY_FACTOR 0.95 Затухание «тепла» за цикл консолидации
ZIKKARON_COLD_THRESHOLD 0.05 Температура, ниже которой воспоминания становятся кандидатами на архивирование
ZIKKARON_WRITE_GATE_THRESHOLD 0.4 Минимальная удивлённость для прохождения шлюза записи
ZIKKARON_HOPFIELD_BETA 8.0 Чёткость сети Хопфилда
ZIKKARON_SR_DISCOUNT 0.9 Коэффициент дисконтирования представления преемственности
ZIKKARON_COGNITIVE_LOAD_LIMIT 4 Лимит активных фрагментов контекста (4 ± 1 по Коуэну)

Полный список в zikkaron/config.py.

Тестирование

python -m pytest zikkaron/tests/ -x -q

998 тестов в 34 тестовых файлах, покрывающих все подсистемы.

Ссылки

Статьи и книги, лежащие в основе реализации

Ramsauer и др. «Hopfield Networks is All You Need» (ICLR 2021, arXiv:2008.02217)

Nader, Schafe, LeDoux. «Fear memories require protein synthesis in the amygdala for reconsolidation after retrieval» (Nature 406, 2000)

Osan, Tort, Bhatt, Amaral. «Three outcomes of reconsolidation» (PLoS ONE, 2011)

McClelland, McNaughton, O'Reilly. «Why there are complementary learning systems in the hippocampus and neocortex» (Psychological Review 102, 1995)

Sun и др. «Organizing memories for generalization in complementary learning systems» (Nature Neuroscience 26, 2023)

Stachenfeld, Botvinick, Gershman. «The hippocampus as a predictive map» (Nature Neuroscience 20, 2017)

Whittington и др. «The Tolman-Eichenbaum Machine» (Cell 183, 2020)

Spirtes, Glymour, Scheines. Causation, Prediction, and Search (MIT Press, 2000)

Kanerva. Sparse Distributed Memory (MIT Press, 1988)

Frady, Kleyko, Sommer. «Variable Binding for Sparse Distributed Representations» (IEEE TNNLS, 2022)

Toth и др. «Optimal forgetting via rate-distortion theory» (PLoS Computational Biology, 2020)

Josselyn, Frankland. «Memory allocation: mechanisms and function» (Annual Review Neuroscience 41, 2018)

Rashid и др. «Competition between engrams influences fear memory formation and recall» (Science 353, 2016) Zhou et al. "MetaRAG: Метакогнитивная генерация с расширенным поиском" (ACM Web, 2024)

Лицензия

MIT

Войдите, чтобы оставить комментарий