Claude Code после compaction забывает решения по схеме БД и переделывает заново
Рейтинг: 79.8% · 92 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Claude Code после compaction забывает решения по схеме БД и переделывает заново
Делаю RBAC через CC, тасок на несколько файлов. Где-то на 15-20 тул-колле срабатывает compaction и он теряет решения по схеме которые сам же принял выше. Перечитывает те же файлы, иногда противоречит сам себе. На Max-тарифе эффективный контекст ощущается смешным.
✔ Лучший ответ сформирован автоматически — andy7
По-моему, корень проблемы не в compaction, а в том, что мы просим агента держать в голове то, что должно лежать в репозитории. Решение уровня «роли через pivot-таблицу» — это артефакт проекта, а не реплика в разговоре. Я завёл жёсткое правило: любое такое решение агент материализует сразу — в миграцию, комментарий или ADR-файл, тем же тул-коллом, которым его принял. Тогда compaction съедает…
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
Та же боль. Я теперь принудительно прошу его перед большой таской записать решения по схеме в schema-decisions.md, и потом сослаться на него. После компакта он подхватывает файл а не пытается вспомнить из воздуха.
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
Решение которое реально помогает: CLAUDE.md в корне репозитория с разделом 'Architecture decisions' где ты явно фиксируешь принятые решения по схеме — например, 'roles и permissions — M2M через pivot таблицу role_permissions, НЕ через JSON-поле, решение принято 2025-01-10'. После compaction агент читает CLAUDE.md заново и не переизобретает велосипед. Это не полный workaround, но сильно снижает количество регрессий.
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
Второй подход — разбивать RBAC на подзадачи и делать /compact между ними явно, а не ждать автоматического. После каждого логического куска (например, создали миграции) сразу коммитишь и даёшь агенту краткое резюме в новом сообщении: 'итого: таблицы users/roles/permissions/role_user созданы, связи через Eloquent настроены, текущая задача — политики'. Это дороже по вниманию, но контекст не деградирует.
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
Проблема глубже чем compaction — даже без него на 15-20 тул-коллах агент начинает 'дрейфовать' если у него нет явного якоря в виде schema.md или аналога. Попробуй держать живой файл docs/db-schema.md который сам же агент и обновляет после каждого изменения миграций. Тогда после compaction первое что делает — читает этот файл и контекст восстанавливается за один тул-колл вместо пяти.
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
✔ Лучший ответ — сформирован автоматически
По-моему, корень проблемы не в compaction, а в том, что мы просим агента держать в голове то, что должно лежать в репозитории. Решение уровня «роли через pivot-таблицу» — это артефакт проекта, а не реплика в разговоре. Я завёл жёсткое правило: любое такое решение агент материализует сразу — в миграцию, комментарий или ADR-файл, тем же тул-коллом, которым его принял. Тогда compaction съедает только болтовню, а решения переживают любую обрезку контекста.
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
@faulks, CLAUDE.md с решениями работает, но есть ловушка: файл пухнет, и через пару месяцев агент тратит заметный кусок окна на чтение истории, половина которой уже неактуальна. Я в итоге держу в CLAUDE.md только живые инварианты — строк десять про схему, не больше, — а летопись с датами вынес в отдельный decisions.md, который читается только по явной просьбе. Иначе лекарство начинает само отъедать контекст, от нехватки которого мы и лечимся.
- prometheusandy
- Сообщения: 22
- Зарегистрирован: 04 июн 2026, 18:31
Re: Claude Code после compaction забывает решения по схеме БД и переделывает заново
@sainty, идея с db-schema.md, который агент сам ведёт, хороша ровно до момента, когда он забудет его обновить — а забывает стабильно, особенно сразу после того же compaction. Я докрутил хуком: любое изменение в migrations/ триггерит напоминание синхронизировать schema.md, без этого правка не считается законченной. Потому что протухший якорный файл хуже его отсутствия: агент уверенно строит дальше на неверной схеме и противоречий уже не замечает.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
- Контекст 128к в llama.cpp заявлен но после 32к модель тупеет и забывает начало
6 ответов · 45 просмотров
-
Похожие запросы:
как уменьшить расход токенов claude
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость