Память (Memory)
Kodik может запоминать факты, договорённости и контекст, которые должны сохраняться между отдельными задачами, а также держать временные рабочие заметки для одной долгой задачи. Для этого используется инструмент memory.
Как работает инструмент memory
Заголовок раздела «Как работает инструмент 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
Заголовок раздела «Session memory»Session memory хранится внутри текущей chat-сессии, а не в отдельном файле на диске. Она предназначена для временного состояния задачи: планов, решений, блокеров и заметок для продолжения работы, которые должны пережить перезапуск и сжатие, но исчезнуть при удалении задачи.
Session memory управляется в Settings → Agents → Session 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/для глобальной памяти.