Skip to content

feat(memory): использование засчитывается за всё, что модель видела в сессии (#339) - #357

Merged
nyxandro merged 3 commits into
developfrom
feat/memory-usage-shows
Oct 8, 2026
Merged

nyxandro merged 3 commits into
developfrom
feat/memory-usage-shows

Conversation

@nyxandro

@nyxandro nyxandro commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Что меняется

Записи, которые модель нашла явным поиском, увидела в профиле или в ответе прошлого хода, раньше не засчитывались как использованные: журнал показов знал только автоподборку этого хода. Кривая забывания старила именно то, что приходилось искать вручную (141 из 280 названных записей отклонены).

  • Журнал показов хранит источник (миграция 131): selection, profile, search, list. search_memories и list_memories пишут свои показы, блок памяти — постоянные утверждения профиля. Ход без окна журнала (дочерний агент, расписание) не пишет ничего.
  • Счётчик засчитывает запись, показанную в этой сессии беседы до этого хода (в пределах журнала, 50 ходов), один раз на показ и один раз на ответ: показ помнит потративший его ход, повторная обработка не тратит следующий. Другая сессия той же беседы не считается.
  • Отбор повторов автоподборки читает только её собственные показы.
  • Ошибка записи в журнал не отнимает результат поиска: AGENT_MEMORY_SHOW_RECORD_FAILED в лог.

Ответы на открытые вопросы issue: окно — ходы сессии в пределах хранимого журнала; найденное поиском автоподборка не скрывает; листание засчитывается (это тоже чтение записи).

Проверено

Интеграционные тесты журнала и счётчика (засчитывание из прошлого хода и из поиска, один раз на ответ, отказ для другой сессии, запись только при открытом окне, поиск не прячет записи от подборки), модульные тесты, проверка типов.

Closes #339

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 49 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7d8949ad-1d6a-4cdf-abb8-aec59a1e1a0a
📥 Commits

Reviewing files that changed from the base of the PR and between 534bb0d and d407b54.

📒 Files selected for processing (20)
  • agent/lib/memory-retrieval-repository.ts
  • agent/lib/memory-retrieval.test.ts
  • agent/lib/memory-retrieval.ts
  • agent/lib/memory-show-journal.integration.test.ts
  • agent/lib/memory-show-journal.ts
  • agent/lib/memory-tool-results.test.ts
  • agent/lib/memory-tool-shows.ts
  • agent/lib/memory-upgrade-ledger.integration.test.ts
  • agent/lib/memory-usage-report.test.ts
  • agent/lib/memory-usage-report.ts
  • agent/lib/memory-usage-repository.integration.test.ts
  • agent/lib/memory-usage-repository.ts
  • agent/lib/tools/list_memories.ts
  • agent/lib/tools/search_memories.ts
  • infra/monitoring/rules/logs/osinara.yaml
  • infra/monitoring/rules/metrics/osinara.yaml
  • migrations/131_memory_show_sources.sql
  • monitoring-alert-rules.test.ts
  • scripts/memory-quality/golden/candidate-pool.ts
  • scripts/memory-quality/golden/show-journal.integration.test.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

nyxandro and others added 3 commits October 8, 2026 18:41
… сессии, а не только за автоподборку хода

#339: запись, которую модель нашла явным поиском, увидела в профиле или в ответе прошлого хода,
счётчик отклонял — в журнале показов была только автоподборка этого хода. Кривая забывания
старила именно то, что приходилось искать вручную; 141 из 280 названных записей отклонены.

- Журнал показов знает источник (миграция 131): selection, profile, search, list.
  search_memories и list_memories пишут свои показы, блок памяти — постоянные утверждения
  профиля. Ход без окна журнала (дочерний агент, запуск по расписанию) не пишет ничего.
- Счётчик засчитывает запись, показанную в этой сессии беседы до этого хода в пределах журнала,
  один раз на показ и один раз на ответ: показ помнит, какой ход его потратил, и повторная
  обработка хода не тратит следующий. Другая сессия той же беседы не считается — её история не
  перед моделью. Ответ после подтверждения действия (новый turnId) теперь тоже засчитывается.
- Отбор повторов автоподборки смотрит только на её собственные показы: найденное поиском не
  прячется от следующей подборки.
- Ошибка записи в журнал не отнимает у человека результат поиска: строка
  AGENT_MEMORY_SHOW_RECORD_FAILED в лог, инструмент отвечает найденным.

Теперь rejectedRefs в AGENT_MEMORY_USAGE_DIRECTIVE значит одно: модель назвала то, чего этой
сессии не показывали.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
По ревью #339. Счётчик использования теперь засчитывает и записи,
найденные самой моделью, а запись хаба osinara_memory_used_1m и тревога
OsinaraMemoryNeverUsed сравнивают использованное с предложенным
автоподборкой. Без разделения тревога не заметила бы подборку, которая
предлагает бесполезное, пока модель находит нужное сама. Счётчик
возвращает отдельно записи из автоподборки, строка
AGENT_MEMORY_USAGE_DIRECTIVE несёт countedSelectionCount, правило хаба
считает по нему; пороги тревоги сняты именно на таком числителе.

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

Тесты: оба читающих инструмента пишут показы, сбой записи уходит в лог
и не мешает ответу.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@nyxandro
nyxandro force-pushed the feat/memory-usage-shows branch from b5beea4 to d407b54 Compare October 8, 2026 18:42
@nyxandro
nyxandro merged commit c245583 into develop Oct 8, 2026
4 checks passed
@nyxandro
nyxandro deleted the feat/memory-usage-shows branch October 8, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment