skillopt-sleep
SkillOpt-Sleep — это локальный цикл улучшения для агента Codex, основанный на повторяющихся задачах из прошлых сессий. Он предназначен для случаев, когда пользователь хочет, чтобы агент учился на использовании, выполнял ночной или ручной offline-цикл, разбирал историю работы, объединял устойчивые предпочтения в память и навыки либо запускал команды status, harvest, dry-run, run, adopt, schedule и unschedule. Источник описывает не обучение весов модели, а управляемую обработку рабочих сессий и предложений по изменению файлов. Цикл состоит из нескольких отделяемых этапов. На этапе Harvest движок читает сессии в соответствии с настройкой и превращает их в нормализованные сводки. Mine выделяет повторяющиеся задачи в записи TaskRecord и старается сохранить проверяемые ссылки на результаты. Replay повторно выполняет найденные задачи через выбранный backend с текущим skill и memory. Consolidate формирует ограниченные предложения изменений. Gate сравнивает результат с отложенной проверочной выборкой и при включённой проверке оставляет только варианты, для которых улучшился held-out score. Stage записывает предложение в каталог .skillopt-sleep/staging/<date>/; рабочие файлы на этом шаге не меняются. Adopt применяется отдельно и копирует подготовленные файлы поверх целевых, создавая резервные копии существующих файлов. Поэтому staged proposal — это объект для ревью, а не готовое изменение production-конфигурации. У проекта есть важное ограничение для Codex: общий движок не записывает AGENTS.md. Если результат должен быть виден Codex, нужно явно указать --target-skill-path, например .agents/skills/<name>/SKILL.md. Без этого общий путь по умолчанию относится к skill, управляемому Claude. Память проекта и выбранный skill настраиваются независимо; CLAUDE.md можно исключить через evolve_memory=false, если он не должен быть вторичной целью. Автоматически принимать предложения следует только по явному запросу пользователя через --auto-adopt; обычный run сначала оставляет результат на стадии подготовки. Для запуска используется plugins/run-sleep.sh. Для Codex-сессий передают --source codex; архив сессий можно указать через --codex-home, а целью — абсолютный или проектный путь к выбранному skill. Первой проверкой рекомендуется сделать dry-run --backend mock: backend mock детерминированный и не расходует API-бюджет. Доступны также backends claude, codex, copilot, handoff и azure_openai. Реальный backend зависит от соответствующего CLI или endpoint и не делает результат универсальной гарантией: принятый held-out gain является свидетельством только для данного набора задач, текущей конфигурации и используемой модели. Планировщик хранит проект, backend, время и необязательный auto-adopt, но не сохраняет из команды schedule параметры source и target skill. Для запуска, ориентированного на Codex, эти значения нужно заранее задать в ~/.skillopt-sleep/config.json через transcript_source и абсолютный target_skill_path. Параметры --edit-budget, --lookback-hours, --dream-rollouts и --recall-k ограничивают объём изменений, окно чтения, число вариантов рассуждения и объём похожих воспоминаний. Режим gate по умолчанию включён; доступны настройки hard, soft и mixed, а gate_no_regression=true запрещает кандидат, если какая-либо проверочная задача ухудшилась. Безопасность процесса опирается на границы принятия изменений. Harvest должен оставаться read-only и не менять архивы или исходные расшифровки. Движок удаляет известные секретоподобные строки, инструкции разработчика и сырые payload инструментов, но шаблонная маскировка не гарантирует удаления всех чувствительных данных. Перед передачей реальных сессий backend нужно проверить их состав и политику провайдера; при сомнениях предпочтительнее reviewed tasks-file. Generated edits считаются предложениями, пока не показаны результаты проверки и явно не выполнен adopt. SkillOpt-Sleep не заменяет тестирование безопасности, производительности и полный cross-browser suite: его граница — проверяемое улучшение выбранной памяти или skill на воспроизводимых задачах.
Для чего подходит
- Разбор повторяющихся задач в прошлых сессиях
- Проверка предложенных изменений через held-out gate
- Управление dry-run, run, adopt и status
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/microsoft/SkillOpt/tree/main/plugins/codex/skills/skillopt-sleep