Я дал модели (в codex) возможность самостоятельно решать, когда нужен compact, и обязал её объяснять причину и строить план на будущее.
Зачем? компакт посреди правки большого связного куска проекта вызывает некие сомнения.
Как: в ответ вызова тулов добавляется текущая ситуация по контексту + инструкции как писать чекпоинты в агентские правила.
Теперь перед большой фазой агент проверяет остаток контекстного окна. Если планируемая работа не помещается, он сохраняет checkpoint с инфой о том, что делается и планируется после компакта, сжимает свой контекст. Очнувшись читает чекпоинт, перепроверяет состояние репозитория и продолжает работу по намеченному плану.
Вроде бы интересно, но выводов пока нет.
Потестить можно тут https://github.com/z0rgoyok/codex-luna-kit (придется патчить кодекс, но это не страшно)

Комментарии (20)

opium
08.08.2026 20:12А какую проблему то решаете? Контекст сейчас миллион и он сам когда надо сжимается. Что стало в итоге лучше то?

z0rgoyok Автор
08.08.2026 20:12изначально запретить сжатие на середине правок (показалось, что это вызывает лишние агенто-движения и потерю текущих намерений).
а получился чистый контекст для работы над куском задачи, что хорошо кмк так как хвост обладает неприятными свойствами (миллион в подписках chatgpt не выдают, вероятно в том числе по этим причинам).я попросил агента посмотреть разницу по сессиям, там видно такое:
“Обычный compact обычно сохранял общую цель, поэтому агент не «забывал всё». Он терял точную позицию исполнения: что уже доказано, какой результат ещё не разобран, какие изменения намеренные и какое действие должно быть следующим. Это заставляло восстанавливать состояние через чтение кода, документы и повторные тесты.”;
теперь ситуация и намерения явно сохраняются лучше (в чекпоинтах) - это видно (ну или мне кажется, приглашаю потестить) плюс агент стал осознанно понимать когда ему “спать пора” (он видит остаток после каждого тулкола) и делить работу на фазы, заканчивать цельную часть работы “сегодня” и планировать “на завтра”.
оказалось, кстати, подобные предложения уже есть в issues того же кодекса и есть интересные проекты вроде magic-context, в общем тема интересная, прошу воспринимать как эксперимент)

opium
08.08.2026 20:12Боже я уже 100 лет как привык к контексту лям в клод коде и вообще поэтому не понял ваши проблемы ) зашел в кодекс а там рили до сих пор 258к контекст, жесть конечно. Просто в клод коде это вообще не актуальная проблема уже давно.
Глянул еще антигравити там тоже лям контекст , в гроке 500k , вообще удивлен что кодекс плетется в самом конце и это печаль конечно

opium
08.08.2026 20:12ну и как бы план он же есть изначально и ии его всегда знает и помнит и нет такой проблемы что он забывает что то из него так как он в мд файлах и всегда доступен

z0rgoyok Автор
08.08.2026 20:12план плану рознь. есть несомненно общий в родмапе и детализированных кусках. тут речь о текущих планах агента вроде "ща закончу этот класс, запущу тесты потом надо вон там вот подредачить и можно браться за тот кусок фичи" - это забывается напрочь и восстанавливается (ах если бы) исследованием кода / доков / тестов итд после компакта.

opium
08.08.2026 20:12так он же сам это все пишет в мд файлы достаточно подробно, если у вас такая проблема вам проще скил написать для плана, у вас просто флоу не правильный работы в агенте , а не проблема в том что контекст жмется. у нас просто такие проблемы уже пройденый этап

z0rgoyok Автор
08.08.2026 20:12у вас компакта нет :D

opium
08.08.2026 20:12да есть у меня компант , на разных агентах он разный, по дефолту на ляме, на средних 500к, на универсальных с большим количеством мелких задач 300к
но проблемы что он что то забыл из плана вообще нет , все что он в начале работы в план написал он сделает , план пишет агент сам для себя достаточно подробный

z0rgoyok Автор
08.08.2026 20:12я и не говорю, что агент забывает общий план (он же записан!), забывается текущая ситуация вокруг компакта - ее ему приходится восстанавливать после, что заставляет агента изучать ее в разных направлениях (а с этим подходом - в узконаправленных), прогонять некоторые тесты, которые пройдены только что и заново для себя доказывать выполненность части задачи (записал бы перед компактом и готово, ну)
с другой стороны Вы сказали про клода - очевидно вы решаете совсем другие задачи)
теоретизировать тут мне сложно, я вижу более прямолинейное движение к цели и разбивку ее на осознанные куски, выполняемые на чистом контексте (что плюс по известной мне информации).
opium
08.08.2026 20:12да теже самые проблемы были год назад когда контекст был 100-200к и они уже решились в то же время

z0rgoyok Автор
08.08.2026 20:12плюс план это план, но случается, что агенту приходится заходить на поле экспериментов над плохо документированными кейсами (что-то вроде деталей кадрового движка флаттера) - это череда тестов. не хочется забывать такое. хотя кнч можно и записывать. тут поле для экспериментов оператора, что мы и делаем)
im_vvl
Интересно, но выглядит так, что из-за более частых компактов будет больше проблем с тем, что меньше запросов будет попадать в кэш, будет просто больше расход. Если использовать нормальную модель, то в принципе невыгодно делать компакт раньше времени.
z0rgoyok Автор
поработал день, вижу, что они не стали намного уж более частыми, но стали более своевременными, чего собственно и требовалось, а намерения отлично переживают компакт.
агент стал осознаннее делить работу на фазы и подчищаться перед очередной. в итоге не видел, чтобы кодоправки по фазе попадали в компакт. как будто бы супер)
opium
ну вы бы померяли бы хоть один раз выходной результат , должен же по итогу код улучшиться
z0rgoyok Автор
пока не понимаю как измерять и что, ресерч по гуглу выглядит так:
Исследования показывают, что заявленный размер контекстного окна и реально полезный контекст — разные вещи. С ростом истории модели хуже используют информацию, чаще закрепляют ранние ошибки и теряют актуальную линию рассуждения. Это происходит даже тогда, когда нужный факт найден и расположен рядом с текущим вопросом: мешает уже сама длина ввода. Важная информация обычно надёжнее работает ближе к концу контекста, хотя современные модели стали устойчивее к её положению.
Для разработки оптимален не пустой и не максимально полный контекст, а короткое актуальное рабочее состояние. Внутри незавершённой диагностики, правки или проверки полезно сохранять подробную историю. После завершения смыслового этапа её лучше заменить структурированным резюме: цель, ограничения, принятые решения, доказанные факты, состояние работы и точное следующее действие.
Обычный автокомпакт срабатывает по длине и может оборвать работу посередине этапа. Наш подход управляет границей: агент заранее видит остаток, завершает неделимый блок, сохраняет checkpoint, выполняет compact и затем перепроверяет изменяемое состояние. В исследовании SWE-агентов похожая фазовая схема решила 57,6% задач против 53,8% у порогового сжатия и 49,8% у контекста без управления.
Таким образом, преимущество нашего подхода находится не столько в особом алгоритме сжатия, сколько в выборе безопасного момента и точной передаче состояния. Его ожидаемый эффект — меньше смыслового дрейфа, повторного исследования и ошибочных продолжений, а заодно меньше входных токенов и задержки. Цена — небольшой расход на checkpoint и перепроверку.
opium
не понял ваши мучения , тупо даете одинаковые задачи и смотрите результат
зачем какие то бенчи и прочее
z0rgoyok Автор
сравнение в следующей серии))
opium
Можно было сразу с нее начинать