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

Память (Memory)

Kodik может запоминать факты, договорённости и контекст, которые должны сохраняться между отдельными задачами, а также держать временные рабочие заметки для одной долгой задачи. Для этого используется инструмент memory.

Во время выполнения задачи агент может вызвать инструмент memory с тремя параметрами:

ПараметрОписание
scopeОбласть хранения: workspace, global или session
pathИмя файла памяти (без пути к директории, только имя)
contentСодержимое для сохранения (Markdown)

Чтобы удалить запись, агент передаёт параметр delete: "true" вместо content.

Путь — это просто имя файла без директорий. Расширение .md добавляется автоматически, если его нет. Абсолютные пути и символы .. не разрешены.

Файлы хранятся в .kodik/memories/ в корне текущего проекта. Эта память относится только к данному проекту и может быть добавлена в систему контроля версий.

Пример файла: .kodik/memories/testing-conventions.md

Файлы хранятся в директории ~/.kodik/Memories/ (на Windows — C:\Users\<Пользователь>\.kodik\Memories\). Глобальная память доступна во всех проектах и рабочих пространствах.

Session memory хранится внутри текущей chat-сессии, а не в отдельном файле на диске. Она предназначена для временного состояния задачи: планов, решений, блокеров и заметок для продолжения работы, которые должны пережить перезапуск и сжатие, но исчезнуть при удалении задачи.

Session memory управляется в SettingsAgentsSession memory. Если выключить переключатель, область session исчезает из инструмента memory, а сжатые summary остаются только по стенограмме разговора.

При каждом запуске задачи Kodik загружает файлы памяти workspace и global в системный промпт. Файлы каждой долговременной области помещаются внутрь тега <memory> в начале контекста. Для каждой долговременной области существует лимит — не более 200 строк и 50 файлов.

Session memory не загружается в системный промпт. Когда разговор уже был сжат, Kodik добавляет текущую session memory к сжатому assistant summary. Этот блок ограничен первыми 200 строками, чтобы долгие сессии не переполняли следующий запрос. Каждая отдельная запись памяти не может превышать 16 КБ.

Поскольку файлы памяти — это обычные .md-файлы, их можно просматривать и редактировать вручную. Kodik также автоматически удаляет значения, похожие на секреты (токены, ключи API), перед записью.

  • Просите агента сохранить конвенции команды, предпочтения по стилю кода или детали архитектуры в память рабочего пространства — они будут автоматически присутствовать в следующих сессиях.
  • Используйте глобальную память для личных предпочтений, которые применимы ко всем проектам (например, предпочтительный язык для ответов).
  • Используйте session memory для временного состояния задачи, которое должно пережить сжатие, но не должно становиться проектной конвенцией.
  • Файлы памяти можно создавать или редактировать вручную — Kodik загрузит их так же, как созданные агентом.
  • Чтобы проверить, что именно сохранено, откройте .kodik/memories/ в проводнике или ~/.kodik/Memories/ для глобальной памяти.