SkillOpt-Sleep:Agent 睡眠周期自进化技能
让你的 Claude 编程代理在夜间离线复盘历史会话,把重复任务沉淀为经过验证门控的持久记忆与技能,越用越强,全程无需训练模型权重。
Microsoft 官方发布(可验证官方来源),核心机制是让 agent 「离线复盘过去会话并自我修改 CLAUDE.md/SKILL.md」——这是一种自我修改行为,设有验证门禁(只保留在留出测试集上表现更好的改动)和显式采纳步骤(不会静默生效),设计上有节制,但「agent 改写自己的指令文件」这类能力本身仍需要用户理解其影响范围。
这个 Skill 能做什么,适合哪些场景?
SkillOpt-Sleep 是微软 SkillOpt 仓库中的一个 Claude Code 技能,为本地代理提供“睡眠周期”。它按需或每晚定时读取真实的 Claude Code 会话记录,挖掘重复出现的任务,用所选后端重放这些任务,并把通过留出集验证门控的改动合并进 CLAUDE.md 与 SKILL.md。所有改动先写入暂存目录,只有用户显式采用(或主动开启 --auto-adopt)才会替换线上文件并先做备份。整个过程不修改模型权重,被定位为“部署时的训练”。该技能随 SkillOpt v0.2.0(2026-07-02)正式发布。
执行六阶段循环:1) Harvest——只读读取 ~/.claude/projects/*/<session>.l 与 ~/.claude/history.l 生成会话摘要;2) Mine——把摘要转为带结果标签的 TaskRecord;3) Replay——在当前技能+记忆下用所选后端重放任务并打分(默认 mock 后端,无 API 开销);4) Consolidate——反思失败并提出有界的增/删/改编辑,仅在严格提升留出集分数时接受;5) Stage——把 proposed_CLAUDE.md / proposed_SKILL.md 及 report、manifest、diagnostics 写入 .skillopt-sleep/staging/,不改任何线上文件;6) Adopt——显式采纳或自动采纳,先备份再覆盖。可通过 cron 定时调度,支持 --backend claude/codex/copilot/azure_openai 等真实后端。
- 使用 Claude Code 做日常开发的工程师,希望代理记住自己的编码偏好并跨会话积累经验
- 维护长期项目的开发者,想让代理每晚自动复盘会话并固化重复工作流的解决方案
- 团队负责人希望审查每条技能提案的 held-out 基线到候选分数后再决定是否采纳
- 隐私敏感用户先在 mock 后端跑通流程,或用 harvest 导出 JSON 人工脱敏后以 --tasks-file 重放
- 希望定时(如凌晨 3:17)运行自我优化周期、白天照常工作的重度代理用户
这个 Skill 有哪些优点和局限?
- 默认验证门控:只有严格提升留出集分数的编辑才会被接受,回归有据可查
- mock 后端零 API 开销即可验证机制,另有确定性合成演示可复现 held-out 提升
- 非破坏性:harvest 只读、暂存不动线上文件、采纳前自动备份
- 支持多后端(mock/claude/codex/copilot/handoff/azure_openai)、cron 定时、记忆与技能可独立开关
- 真实后端会把截断的会话摘录和派生任务发送给第三方提供商,文档明确说明不保证先移除所有秘密,敏感数据需走脱敏流程
- held-out 提升是单次运行的证据,不保证更广泛的改进,效果取决于任务、模型与检查
- 文档承认有局限,真实用户场景的有效性证据需查阅 docs/sleep 中的记录结果
- 深度绑定 Claude Code 会话路径与插件机制,其他平台需适配
如何安装这个 Skill?
该技能位于 SkillOpt 仓库的 plugins/claude-code/skills/skillopt-sleep/,随仓库克隆/安装后作为 Claude Code 插件使用,通过 ${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh 调用。安装方式参照仓库的官方文档与复现指南(microsoft.github.io/SkillOpt);SKILL.md 未给出完整的独立安装步骤,建议查看 docs/sleep/README.md。
如何使用这个 Skill?
在 Claude Code 中优先使用 /skillopt-sleep 命令,或直接调用脚本:'${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh' dry-run --project "$(pwd)" 预览(不暂存);run 执行完整周期并暂存提案;adopt 采纳提案(先备份);schedule --hour 3 --minute 17 安装夜间 cron,unschedule 移除。默认 mock 后端无 API 费用;加 --backend claude 或 codex 使用真实模型。语音触发如“回顾我过去的会话”“运行睡眠周期”。完整标志用 python -m skillopt_sleep <action> --help 查看。
这个 Skill 与同类方案有什么区别?
SkillOpt 的论文将常见的“一次性生成技能”和“松散控制的自修订”方式作为对照:SkillOpt-Sleep 与它们的区别在于把技能文档当作可训练状态,用留出验证门控接受编辑。源材料未提及第三方竞品。