Разработчик под ником z0rgoyok представил набор правил для ИИ-агента Codex, который позволяет ему самостоятельно принимать решение о компактизации контекста. Вместо того чтобы полагаться на внешние команды, агент теперь анализирует текущее состояние контекстного окна и, если планируемая работа не помещается, сохраняет чекпоинт с информацией о выполняемой задаче и планах на будущее, после чего сжимает контекст. Это решение опубликовано в открытом репозитории codex-luna-kit на GitHub.
Codex — это инструмент от OpenAI, который использует языковые модели для автоматизации программирования. Он может выполнять сложные задачи, редактируя код в репозитории. Однако при работе с большими связными проектами возникает проблема: контекстное окно модели ограничено, и по мере выполнения задач оно заполняется, что может привести к потере важной информации. Обычно для решения этой проблемы используется компактизация — сжатие контекста, но она может нарушить связность, если агент находится в середине правки большого куска кода.
Предложенное решение добавляет в ответ вызова тулов (инструментов) текущую ситуацию по контексту и инструкции по написанию чекпоинтов в агентские правила. Теперь перед большой фазой работы агент проверяет остаток контекстного окна. Если планируемая работа не помещается, он сохраняет чекпоинт с информацией о том, что делается и планируется после компакта, сжимает свой контекст. После «пробуждения» агент читает чекпоинт, перепроверяет состояние репозитория и продолжает работу по намеченному плану.
Этот подход напоминает механизм контрольных точек в распределённых системах, где сохранение состояния позволяет восстановить работу после сбоя. В контексте ИИ-агентов чекпоинты помогают сохранить намерения и планы, что критично для длительных задач. Пока автор отмечает, что выводов о эффективности ещё нет, но код доступен для тестирования, что позволяет сообществу оценить его на практике.
Подобные эксперименты важны, поскольку они расширяют возможности ИИ-агентов в реальных сценариях разработки. Умение агента самостоятельно управлять своим контекстом — шаг к более автономным системам, способным работать над сложными проектами без постоянного вмешательства человека. Это также поднимает вопросы о том, как лучше проектировать агентские правила, чтобы балансировать между сохранением контекста и производительностью.

