Репост из: Pavel Zloi
Про Claude Code, его встроенную память и как это мешает другим агентам
В связи с бесчеловечным отношением компании Anthropic (название которой с греческого переводится как человечность, что иронично) к пользователям из России и участившимися случаями блокировок аккаунтов (тыц, тыц, тыц и так далее) я задумался о вечном:
Где хранится память Claude Code
Много разных вариантов перебрал, и пришёл к выводу, что единственная фишка клод кода и клод десктопа (напомню, что я говорю про харнес, а не модели, модели - топчик) это память проекта, находится она в папке memory, например, вот у меня есть проект coddy-agent, он лежит в:
Cоответственно память данного проекта и все заметки которые делает о нём модель будут в:
Там будет индекс MEMORY.md и пачка других md-файлов с разными пограничными кейсами и спецификациями, которые мы просили агента запомнить, откуда он в дальнейшем черпает знания.
Несложно догадаться, что если мы запускаем условный Codex или Cursor то у них нет доступа к этой памяти и работать с ней они не умеют, потому что Claude вместо того чтобы актуализировать память проекта в папке проекта прячет эти данные у себя, единственная радость что память ещё незашифрованная, но чует моё сердце недолго нам осталось, память эта суть скрытый механизм, который работает даже если вы явно отключите её в настройках агента.
И именно из-за памяти вам так не комфортно при переходе с одного агента на другой, я полагаю это часть политики вендорлока на себя, кстати у OpenAI подобный механизм тоже имеется, но он связан с сессиями и чуть более изощрённый, но мы сегодня не об этом.
Проблему описал, теперь решение
В файле CLAUDE.md (или если это ссылка на AGENTS.md то в нём), что в корне проекта лежит, запрещаем агенту пользоваться своей памятью, вместо неё использовать спецификации, и на уровне git hooks добавить проверку, что если Claude попытается записать в свою память хотя бы строку, то блокировать коммит.
Плюс во всех проектах в которых Claude создал свои заметки провести ревью через другие модели и агенты, и перенести все эти накопленные знания в скажем .agents/memory/ или интегрировать их сразу в AGENTS.md, после чего все наработки Claude в памяти удалить.
В связи с бесчеловечным отношением компании Anthropic (название которой с греческого переводится как человечность, что иронично) к пользователям из России и участившимися случаями блокировок аккаунтов (тыц, тыц, тыц и так далее) я задумался о вечном:
Почему клод код так хорошо работает и подбивает пользоваться только им?
Где хранится память Claude Code
Много разных вариантов перебрал, и пришёл к выводу, что единственная фишка клод кода и клод десктопа (напомню, что я говорю про харнес, а не модели, модели - топчик) это память проекта, находится она в папке memory, например, вот у меня есть проект coddy-agent, он лежит в:
/storage/Repostory/coddy/coddy-agent
Cоответственно память данного проекта и все заметки которые делает о нём модель будут в:
$HOME/.claude/projects/-storage-Repository-coddy-coddy-agent/memory
Там будет индекс MEMORY.md и пачка других md-файлов с разными пограничными кейсами и спецификациями, которые мы просили агента запомнить, откуда он в дальнейшем черпает знания.
Несложно догадаться, что если мы запускаем условный Codex или Cursor то у них нет доступа к этой памяти и работать с ней они не умеют, потому что Claude вместо того чтобы актуализировать память проекта в папке проекта прячет эти данные у себя, единственная радость что память ещё незашифрованная, но чует моё сердце недолго нам осталось, память эта суть скрытый механизм, который работает даже если вы явно отключите её в настройках агента.
И именно из-за памяти вам так не комфортно при переходе с одного агента на другой, я полагаю это часть политики вендорлока на себя, кстати у OpenAI подобный механизм тоже имеется, но он связан с сессиями и чуть более изощрённый, но мы сегодня не об этом.
Проблему описал, теперь решение
В файле CLAUDE.md (или если это ссылка на AGENTS.md то в нём), что в корне проекта лежит, запрещаем агенту пользоваться своей памятью, вместо неё использовать спецификации, и на уровне git hooks добавить проверку, что если Claude попытается записать в свою память хотя бы строку, то блокировать коммит.
Плюс во всех проектах в которых Claude создал свои заметки провести ревью через другие модели и агенты, и перенести все эти накопленные знания в скажем .agents/memory/ или интегрировать их сразу в AGENTS.md, после чего все наработки Claude в памяти удалить.