SkillOpt-Sleep
为本地 Codex 代理提供'睡眠周期':离线回顾过往会话、重放重复任务,只在留出验证分数提升时采纳对技能与记忆的修改,无需训练模型权重。
同上,Codex 平台适配版本,同样的自我修改+验证门禁设计。
这个 Skill 能做什么,适合哪些场景?
SkillOpt-Sleep 是微软 SkillOpt 仓库中的一个技能,为冻结的 LLM 代理提供夜间/按需的离线自我进化能力。它按'收割→挖掘→重放→巩固→门控→暂存→采纳'七个阶段运转:读取本地会话记录,提炼重复出现的任务,用选定后端重放这些任务,并提出对目标技能文件和 CLAUDE.md 的有界编辑。默认开启验证门控,只有当留出验证分数提升时修改才会被接受;实际文件只在用户显式采纳或明确使用 --auto-adopt 时才会更新。它不训练任何模型权重,部署产物是纯文本的 best_skill.md 类技能文档。
读取 ~/.codex/archived_sessions 下的 Codex 归档会话(收割阶段只读);把会话摘要挖掘成带结果和可核查引用的重复 TaskRecord;通过 mock/claude/codex/copilot/handoff/azure_openai 等后端重放任务;对失败做反思并生成有界编辑建议;仅当留出验证分数改善时通过门控;把建议写入 <project>/.skillopt-sleep/staging/<date>/;在显式 adopt(会先备份现有文件)后才覆盖实际文件。支持 status/harvest/dry-run/run/adopt/schedule/unschedule 动作、--edit-budget、--lookback-hours、--auto-adopt、-- 等参数,以及基于 crontab 的定时调度。
- 每天大量使用 Codex 且希望代理从过往会话中持续学习、越用越好的个人开发者
- 希望在夜间无人值守时段自动回顾会话并自我优化的团队,可通过 schedule 设定凌晨定时任务
- 想在自己的项目技能文件(.agents/skills/<name>/SKILL.md)上做数据驱动改进、但要求所有修改先通过验证门控的用户
- 担心成本、想先零预算试水的用户:可用 --backend mock 配合 dry-run 做确定性冒烟测试
- 已在 CLAUDE.md 中沉淀项目约定、希望把会话反馈自动整合进记忆文件的用户
这个 Skill 有哪些优点和局限?
- 默认验证门控保证只保留在留出分数上真正改善的修改,行为类似权重训练但零推理期开销
- 默认只暂存不落盘,采纳路径会先备份现有文件,安全边界清晰
- mock 后端零 API 成本、确定性,可安全试运行
- 支持六个后端、跨 Windows/Linux 的 runner,以及基于 crontab 的定时调度
- 收割阶段只读,并对转录中的密钥形字符串与原始工具载荷做模式化脱敏
- 门控通过只代表该次运行、该任务集上的证据,不保证对其他技能或模型有普遍提升
- 模式化脱敏不构成保证,真实后端仍会把截断的会话内容发给其提供商,数据边界敏感者需谨慎
- 共享引擎不写 AGENTS.md,且 --source/--target-skill-path 不会被调度器持久化,需手动写入 config.
- 无 crontab 的系统上调度只能输出一行供手动安装的命令
- 文档中的 0.00→1.00 结果仅来自一个 fixture(brief-writer gbrain)的单一记录运行,证据有限
如何安装这个 Skill?
本技能属于 microsoft/SkillOpt 仓库(MIT 许可),位于 plugins/codex/skills/skillopt-sleep/SKILL.md。仓库随 v0.2.0 以 skillopt 包发布在 PyPI(pip install skillopt),但该睡眠技能的 SKILL.md 本身只通过仓库内的 runner 调用引擎(bash plugins/run-sleep.sh)。将仓库克隆到本地,设置 SKILLOPT_SLEEP_REPO 环境变量指向仓库路径即可;Python >= 3.10 由 runner 自动查找。针对定时调度如何把技能安装到 Codex 的完整步骤,源文档未详细说明。
如何使用这个 Skill?
1) 设 export SKILLOPT_SLEEP_REPO=/path/to/SkillOpt,并指定目标技能路径,如 TARGET_SKILL=.agents/skills/example/SKILL.md(Codex 技能必须用 --target-skill-path 显式指定)。2) 先做冒烟测试:bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" dry-run --project "$(pwd)" --source codex --target-skill-path "$TARGET_SKILL" --backend mock。3) 正式运行:把 --backend 换成 codex 并可加 --max-sessions、--max-tasks、--progress。4) 查看暂存的 report.md 后执行 adopt 显式采纳。5) 夜间定时:schedule --backend codex --hour 3 --minute 17(需先在 ~/.skillopt-sleep/config. 中写入 transcript_source 与绝对路径 target_skill_path)。Windows 有 run-sleep.cmd / run-sleep.ps1。
这个 Skill 与同类方案有什么区别?
同仓库的 SkillOpt 主训练循环(rollout→reflect→aggregate→select→update→evaluate)把技能文档当作可训练状态、产出 best_skill.md;SkillOpt-Sleep 是其夜间离线自我进化版本,核心差异在会话收割与验证门控的夜间流水线。相较于直接手工维护技能文件或让 LLM 一次性生成技能,Sleep 的修改必须通过留出验证分数的门控。