ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

SkillOpt-Sleep 在 Cursor 中的实战指南:从本地会话收割到验证门控的技能沉淀

SkillOpt-Sleep 在 Cursor 中的实战指南:从本地会话收割到验证门控的技能沉淀 人工智能大模型AI Agent提示工程【免费下载链接】SkillOptSkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.项目地址https://gitcode.com/gh_mirrors/sk/SkillOpt点击查看免费下载SkillOpt-Sleep 是 SkillOpt 项目为 Cursor 提供的一体化睡眠周期插件它只读地复盘本地 Cursor Agent 会话挖掘其中反复出现的可核查任务通过选定的后端重放这些任务并对项目级 Cursor 技能提出有界改进建议。默认启用验证门控validation gate只有候选技能在留出集held-out上分数提升才会被接受且任何提案都先暂存stage供人工审查显式采纳adopt之前不会改动线上技能全程不涉及模型权重训练。读完本文你将掌握从零配置、harvest/dry-run/run/adopt 全命令链路、敏感数据审查到 cron 定时调度的完整实操方法以及底层引擎的源码级工作原理。一、插件定位与 Cursor 专属目标路径本插件的使用场景是用户希望 Cursor 从近期本地会话中学习、请求一次离线的 sleep/dream 周期、把反复出现的工作沉淀为 Cursor 技能或查询 SkillOpt-Sleep 的状态。插件本身没有 session-end hook也没有 MCP 服务端——只有在用户主动要求时才运行周期或在用户明确请求时才安装定时任务。与 Claude/Codex 等共享引擎的默认目标不同Cursor 可感知的学习目标必须是项目相对路径.cursor/skills/skillopt-sleep-learned/SKILL.md在harvest、dry-run和run命令上通过--target-skill-path显式传入该值。如果不显式指定共享引擎会默认操作~/.claude/skills下由 Claude 管理的技能那并不是 Cursor 加载的项目技能。此外共享引擎还可能顺带演进项目CLAUDE.md这份二级记忆如果不需要在~/.skillopt-sleep/config.json中设置evolve_memory: false即可。二、选择运行入口runner插件与引擎是分离的安装边界被复制的插件教会 Cursor 如何操作 SkillOpt-Sleep而引擎仍然从源码检出或已安装命令运行。三种受支持的运行路径应保持一致使用场景命令形式macOS/Linux 源码检出bash $SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh action ...Windows 源码检出powershell -File $env:SKILLOPT_SLEEP_REPO\plugins\run-sleep.ps1 action ...任意平台已安装引擎skillopt-sleep action ...若SKILLOPT_SLEEP_REPO未设置且skillopt-sleep命令不可用应停止并说明必须安装引擎或选择 SkillOpt 检出目录不得用手写编辑替代引擎工作流。安装细节与前置条件Cursor 插件支持、Python 3.10、cursor-agentCLI 等可参考 plugins/cursor/README.md。三、核心工作流七个阶段的完整闭环从 skillopt_sleep/cycle.py 的run_sleep_cycle()可以看到周期编排是纯 Python、导入轻量的backendmock时无需 API key 与第三方依赖即可运行。整个闭环分为七步Harvest收割——只读复盘本地 Cursor JSONL 转写。Mine挖掘——从会话摘要中提炼反复出现、可核查的任务记录。Replay重放——在选定后端下用当前技能与记忆重放任务。Reflect反思——分析失败并提出有界编辑bounded edits。Gate门控——在留出的真实任务上验证候选。Stage暂存——接受的提案写入project/.skillopt-sleep/staging/timestamp/。Adopt采纳——仅在人工审查后执行替换现有线上目标前先备份。3.1 收割层Cursor 转写如何被规范化Cursor 的会话按工作区存放在~/.cursor/projects/workspace/agent-transcripts/session/session.jsonl。实现位于 skillopt_sleep/harvest_cursor.pydigest_cursor_transcript()只保留 user/assistant 文本、工具名_tool_names只取tool_use块的name和显式回合错误turn_ended状态为error时记录neg:cursor_turn_error反馈信号工具输入与输出、非消息记录被刻意丢弃不复制进摘要已知的密钥形态字符串通过redact_secrets()脱敏并剥离user_query.../user_query包装、过滤元提示meta promptCursor 记录没有时间戳因此以文件 mtime 作为会话结束时间_mtime_iso。工作区范围解析由_project_dirs()完成--scope invoked通过.workspace-trusted元数据中的workspacePath判断当前工作区是否为祖先路径--scope all则遍历所有包含agent-transcripts的 Cursor 项目目录。收割是纯本地只读的绝不修改转写文件。四、命令全解从状态检查到正式运行使用下面的已安装命令形式也可将skillopt-sleep替换为上述平台对应的源码 runner。以下命令序列覆盖了一个完整的最小闭环TARGET_SKILL.cursor/skills/skillopt-sleep-learned/SKILL.md # 1. 查看当前状态与最近一次暂存提案。 skillopt-sleep status --project $(pwd) # 2. 只查看挖掘出的任务不产生任何 provider 花费。 skillopt-sleep harvest --project $(pwd) --source cursor \ --target-skill-path $TARGET_SKILL --max-sessions 5 --max-tasks 3 # 3. 首次冒烟验证确定性、零 provider 调用。 skillopt-sleep dry-run --project $(pwd) --source cursor --backend mock \ --target-skill-path $TARGET_SKILL --max-sessions 5 --max-tasks 3 --json # 4. 通过已认证的 Cursor Agent CLI 进行模型驱动的优化。 skillopt-sleep run --project $(pwd) --source cursor --backend cursor \ --target-skill-path $TARGET_SKILL \ --max-sessions 5 --max-tasks 3 --progress # 5. 复查选择结果然后应用已审查的管理提案。 skillopt-sleep status --project $(pwd) skillopt-sleep adopt --project $(pwd) --legacy4.1 动作与关键参数七个动作分别是status、harvest、dry-run、run、adopt、schedule、unschedule。核心参数语义如下与 skillopt_sleep/main.py 中_add_common的参数定义一一对应默认后端为mock确定性、不调用任何 provider。源码层面对应 skillopt_sleep/backend.py 中的MockBackend它内置了rule:标签驱动的规则-答案模型使闭环可证明地单调改进、门控可证明地拦截回归如内置__harmful__坏规则测试。--backend cursor使用用户已认证的 Cursor Agent CLI 预算完成模型驱动的挖掘、重放、评判与反思。--source cursor读取~/.cursor/projects/workspace/agent-transcripts/*/*.jsonl。--cursor-home PATH覆盖收割所用的 Cursor home。--scope invoked选择当前工作区--scope all包含所有 Cursor 工作区。--cursor-path PATH或环境变量SKILLOPT_SLEEP_CURSOR_PATH选择非默认的cursor-agent可执行文件。源码中resolve_cursor_path()的解析顺序为显式参数 环境变量 shutil.which(cursor-agent)。--model NAME或SKILLOPT_SLEEP_CURSOR_MODEL覆盖 Cursor 模型。用cursor-agent --list-models核对模型标识在意成本时到 Cursor 用量报表核实计费变体。用--max-sessions、--max-tasks、--progress控制正式运行规模。4.2 首次收割的时间窗与检查点第一次收割默认使用 72 小时回看窗口。用--lookback-hours N扩大初始窗口--lookback-hours 0表示扫描全部可用历史。一次有状态的run包括挖不到任务的空跑都会记录收割检查点harvest checkpoint后续运行以检查点为准不再使用初始回看窗口。harvest与dry-run不会推进状态因此适合在首次真实运行前查看会话/任务计数。对应的配置项lookback_hours默认值 72 定义于 skillopt_sleep/config.py 的DEFAULTS。4.3 后端一览mock—— 确定性、零 provider 调用默认cursor—— 已认证的 Cursor Agent CLIclaude—— 已认证的 Claude CLIcodex—— 已认证的 Codex CLIcopilot—— 已认证的 GitHub Copilot CLIhandoff—— 面向交互式 Agent 会话的 prompt/answer 文件azure_openai—— 已配置的 Azure OpenAI 端点。五、Cursor 重放的真实语义与边界需要特别澄清的一点SkillOpt 会读取目标技能并将其文本插入重放提示中不会把该文件当作原生 Cursor 技能来调用。所有普通 Cursor 后端调用挖掘、重放、评判、反思都运行在一个全新的空临时工作区中采用只读的 Ask 模式文件读取、文件写入和 MCP 工具全部被拒绝skillopt_sleep/backend.py 中CursorCliBackend._ASK_DENY [Read(**), Write(**), Mcp(*:*) ]且子进程只接收显式的运行时/认证/语言环境/代理/CA 环境变量白名单不转发无关的云与模型供应商凭据。因此--project只控制收割范围、目标文件、状态与暂存位置并不是Cursor Agent 的执行工作区。工具感知重放tool-aware replay当前被临时禁用待 Cursor 权限边界完成线上验证后才会恢复。包含tool_called检查的任务会在 Agent 模式启动前以非零退出该失败重放不会添加缓存条目、不会暂存、不会采纳、不持久化状态、也不推进收割检查点。此类任务请改用其他后端。因此不要声称仓库或工具依赖行为已获得验证——当前引擎没有为 Cursor 实现 fresh-worktree 重放。这种重放适合文本流程、回复惯例和输出格式类技能不适合依赖仓库检视、真实 CLI、浏览器、运行中服务或文件系统变更的端到端技能评估。另一个易混淆点真实后端的dry-run仍会产生 provider 调用它只抑制暂存。--max-sessions与--max-tasks是工作量上限不是调用次数、token、时间或金钱的硬上限——单个任务可能需要多次 attempt/judge/reflect 调用务必从小限额起步。六、可审查数据路径敏感内容的隔离与人工审查Cursor 收割保留 user/assistant 文本、工具名和显式回合错误排除原始工具参数、工具输出与非消息记录。已知密钥形态字符串会被脱敏但基于模式的脱敏无法保证转写内容可以安全发给 provider。对于敏感会话务必在真实后端重放前先导出任务TARGET_SKILL.cursor/skills/skillopt-sleep-learned/SKILL.md skillopt-sleep harvest --project $(pwd) --source cursor \ --target-skill-path $TARGET_SKILL \ --max-sessions 5 --max-tasks 3 --output reviewed-tasks.json检查并脱敏该文件后将其顶层reviewed字段设为true然后才能运行skillopt-sleep dry-run --project $(pwd) --backend cursor \ --tasks-file reviewed-tasks.json --progress --json真实后端会拒绝未审查的任务文件skillopt_sleep/main.py 的cmd_run中backend ! mock且task_meta.get(reviewed) is not True时直接返回退出码 2。切勿将原始转写、凭据、密钥或敏感任务内容写入消息、提交或生成的摘要。gate_no_regression是位于~/.skillopt-sleep/config.json的纯配置级保险开关默认false设为true后只要任一验证任务的配置门控分数下降就拒绝候选。对应实现是 skillopt_sleep/gate.py 中与科研包行为一致的独立evaluate_gate候选分数大于当前分数才accept超过历史最佳则accept_new_best否则reject。七、定时调度显式 opt-in 的 cron / Task Scheduler调度是显式选择加入的。调度器持久化项目、后端、时间与可选的自动采纳标志但不会持久化--source、Cursor 路径/home/模型覆盖或--target-skill-path。因此在调度 Cursor 周期前先在~/.skillopt-sleep/config.json中至少设置{ transcript_source: cursor, target_skill_path: .cursor/skills/skillopt-sleep-learned/SKILL.md, backend: cursor }然后执行skillopt-sleep schedule --project $(pwd) --backend cursor --hour 3 --minute 17 skillopt-sleep unschedule --project $(pwd)调度器在 Unix 上使用 cron、Windows 上使用 Task Scheduler实现见 skillopt_sleep/scheduler.py管理条目被# skillopt-sleep (managed) /# skillopt-sleep (managed) 标记块包围便于安全增删。定时运行默认只暂存提案仅当用户明确要求无人值守采纳时才使用--auto-adopt。需要更完整配置时如显式cursor_home可参考 plugins/cursor/README.md 中的扩展示例。八、结果汇报与采纳纪律对dry-run和run需要汇报会话数与任务数留出集基线分数与候选分数门控动作accept/reject与接受/拒绝的编辑数精确的提议编辑内容暂存目录若创建。汇报前先阅读暂存的report.md只有在用户审查了仍处于暂存状态的已接受提案后才建议采纳。单次运行只能证明当次留出集收益不能承诺普适改进。采纳时的关键纪律收割是只读的绝不编辑 Cursor 转写文件绝不用手写编辑目标技能或CLAUDE.md来替代采纳流程未确认数据边界或未走 reviewed-task 工作流时不要对敏感内容运行真实后端不要暗示安装本插件会自动调度任何东西——它刻意没有 session-end hook推荐采纳前必须展示验证证据把生成的编辑视为提案而非事实来源。对于 fan-out多技能并行提案先查看status审查后使用可重复的--skill NAME或--all-skills采纳裸adopt会刻意拒绝包含 fan-out 行的夜晚。adopt --legacy只采纳被管理的 skill/memory 提案采纳前会备份既有线上目标skillopt_sleep/main.py 的cmd_adopt强制--skill、--all-skills、--legacy三选一。共享引擎默认也会给出evolve_memory: true的记忆更新倾向Cursor 场景下若只想演进显式技能在配置中关闭即可。赞分享人工智能大模型AI Agent提示工程【免费下载链接】SkillOptSkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.项目地址https://gitcode.com/gh_mirrors/sk/SkillOpt点击查看免费下载相关推荐memU Cursor 桥接任务完整指南用定时 headless cursor-agent 将 Cursor 会话沉淀为记忆、技能与资源memU Cursor 桥接任务完整指南用定时 headless cursor agent 将 Cursor 会话沉淀为记忆、技能与资源 本文是 memU 项AI AgentAgent 框架RAGoh-my-openagent 首次会话指南omo-senpi onboarding 技能的六通道引导与记忆沉淀实战oh my openagent 首次会话指南omo senpi onboarding 技能的六通道引导与记忆沉淀实战 导读 onboarding 是 omo人工智能AI Agent代码智能体多智能体MCP ClientsAgent 编排ECC Agent Harness 中的 Lessons Learned 机制从会话中沉淀项目级经验的工作流ECC Agent Harness 中的 Lessons Learned 机制从会话中沉淀项目级经验的工作流 在 AI Agent 辅助开发Agentic人工智能AI 技能AI 插件AI 评测Agent 评测MCP Clients开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表