开发与工程 ✓ Microsoft · 官方 self-improvementagent-trainingnightly-schedulingvalidation-gatesession-harvestingmemory-consolidationcodexcli

SkillOpt-Sleep

为本地 Codex 代理提供'睡眠周期':离线回顾过往会话、重放重复任务,只在留出验证分数提升时采纳对技能与记忆的修改,无需训练模型权重。

FollowSkills 评估 · FSRS-1.0
推荐
64/ 100 五分制 3.2 / 5
本条评估按 FSRS 1.0 标准完成,维度分不做换算,已进入按 FSRS 2.0 重新评估的复核队列。
1 2 3 4 5 6
1价值适配14 / 20 · 3.5/5
2可靠性13 / 20 · 3.3/5
3安全性15 / 25 · 3.0/5

同上,Codex 平台适配版本,同样的自我修改+验证门禁设计。

4证据7 / 15 · 2.3/5
5易用性7 / 10 · 3.5/5
6维护性8 / 10 · 4.0/5
证据充分度: 评估于 2026年7月17日
评估证据 [1]
查看完整评分方法 →

这个 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 的定时调度。

  1. 每天大量使用 Codex 且希望代理从过往会话中持续学习、越用越好的个人开发者
  2. 希望在夜间无人值守时段自动回顾会话并自我优化的团队,可通过 schedule 设定凌晨定时任务
  3. 想在自己的项目技能文件(.agents/skills/<name>/SKILL.md)上做数据驱动改进、但要求所有修改先通过验证门控的用户
  4. 担心成本、想先零预算试水的用户:可用 --backend mock 配合 dry-run 做确定性冒烟测试
  5. 已在 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 的修改必须通过留出验证分数的门控。

常见问题

运行一次会花多少钱?
默认 --backend mock 完全确定性且不消耗 API 预算;--backend codex 会使用用户自己的 Codex 预算,消耗量受 --max-sessions、--max-tasks、--edit-budget(默认每晚最多 4 次有界编辑)限制。
会不会悄悄改我的文件?
不会。run 默认只把建议写入暂存目录,实际文件仅在显式 adopt 或用户明确传入 --auto-adopt 时更新,且采纳前会备份现有目标文件。
它能把我的 Codex 技能(AGENTS.md)也改了吗?
不能。当前共享引擎不写 AGENTS.md;要让结果对 Codex 可见,必须用 --target-skill-path 显式选定一个 Codex 技能文件。CLAUDE.md 作为次要记忆目标可通过 evolve_memory: false 关闭。
敏感会话数据安全吗?
收割只读本地档案,并做已知密钥形字符串、开发者指令与原始工具载荷的脱敏,但这是模式匹配而非保证;使用真实后端时截断内容仍会发送给提供商。对数据边界有要求的场景,文档建议先审查敏感会话或改用 --tasks-file 工作流。

同仓库的其他 Skills

均来自 microsoft/SkillOpt

相关 Skills