Repository navigation
feat(memory-quality): замер ответов берёт инструкции хода из прода - #359
Merged
Merged
Conversation
|
Warning Review limit reachedYou'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 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configuration
⛔ Files ignored due to path filters (2)
📒 Files selected for processing (66)
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. Comment |
… сессии, а не только за автоподборку хода #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>
Споры не создаются с v0.12.0, а оставшаяся часть механизма прятала живую запись, если вторую сторону спора удалили (#340). Убраны инструмент manage_memory_conflict и его выдача во всех режимах, сборка спорных пар в подборке и в search_memories, фильтры «участвует в споре» в профиле и в ремонте дайджеста, ссылки на споры в нитях памяти, конфликтные ветки бюджета блока памяти, журнала показов, харнессов замера. Подборка теперь перепроверяет права на найденные записи отдельным запросом (searchAuthorized), как раньше это делала сборка спорных пар: отзыв членства посреди хода по-прежнему убирает выдачу целиком. Миграция 132 вычищает manage_memory_conflict из разрешённых инструментов внешних групп: неизвестное имя в списке иначе обнулило бы политику группы целиком. Таблица claim_conflicts пуста и остаётся как история. Closes #340 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Споров между версиями записей больше нет (#340), а ответ после подтверждения с #339 засчитывается по показам всей сессии. В комментарии правила хаба осталось одно принятое расхождение — запись из профиля, которую бюджет убрал из блока. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Харнесс замера ответов пересобирал запрос хода сам и в нескольких местах расходился с продом (#348). Теперь системная часть строится из блоков, которые прод сохранил с ходом (agent_turns.prepared), той же функцией, что и в ядре (preparedSystemPrompt). Подменяется только блок памяти: в нём и различаются варианты замера. В запрос вернулись блоки делегирования, предпочтений оформления, набора реакций, список skills и пользовательские блоки хода. search_memories предлагается так, как его показала настоящая выдача инструментов хода (resolveToolSurface): во внешней группе без гранта модель не получает инструмента, описание то же, что в проде. Исполняется сам инструмент продукта, без обёрток выдачи: в личном чате обёртка забирала бы досланные сообщения на копии базы и могла бы расшифровывать голос через провайдера. Ход без ровно одного блока памяти отклоняется с понятной ошибкой. На боевой базе у всех 153 ходов эталона блок памяти ровно один. Closes #348 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
nyxandro
force-pushed
the
feat/answers-harness-prepared
branch
from
October 8, 2026 18:42
01e398d to
95c80c5
Compare
…ресказе истории Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Харнесс замера ответов модели (слой 4) пересобирал запрос хода сам и в нескольких местах расходился с продом (#348). Сравнение вариантов памяти это почти не портило, но абсолютные цифры занижались во всех вариантах сразу. Этот PR делает два пункта, которые issue предлагал сделать до следующего прогона.
Что сделано
agent_turns.prepared). Собирает её та же функция, что и в ядре:preparedSystemPromptвынесена изrun-turn.tsвagent/runtime/prompt/system-prompt.ts, поведение ядра не меняется. Подменяется только блок памяти — единственное, чем различаются варианты. В запрос вернулись блоки делегирования, предпочтений оформления, набора реакций, список skills и пользовательские блоки хода.search_memoriesпредлагается так, как его показала настоящая выдача инструментов хода (resolveToolSurface): во внешней группе без гранта модель инструмента не получает, описание то же, что видел прод. Исполняется сам инструмент продукта, без обёрток выдачи. В личном чате обёртка забирала бы досланные сообщения на копии базы и могла бы расшифровывать голос через провайдера.manage_memory_conflict, получают поиск, как было тогда: удалённое имя убирается из сохранённых прав только внутри харнесса.AGENT_MEMORY_ANSWERS_MEMORY_SLOT_INVALID.Проверка
Что не сделано (пункты 3–5 issue, одинаковы для всех вариантов)
agent/instructions.md) берётся из текущего кода, а не из релиза, который отвечал ход.Ветка лежит поверх #358.
Closes #348
🤖 Generated with Claude Code