用途:对已存在一段时间的 pro-workflow 技能做离线、有预算上限的迭代改进。当某个技能的 learn-rule 行数积累到 8 条以上、出现规则重复或文件臃肿时可使用;轨迹不足 8 条、需要实时编辑、或未配置所选 provider 密钥时不应使用。
主要能力:采用六个阶段的循环——rollout 从 SQLite 拉取近期 learn-rule 行,reflect 由优化器 LLM 分析小批次并提出增/删/替(add/delete/replace)补丁,aggregate 跨小批次投票合并,select 按学习率预算裁剪(默认每步 3 增、2 删、3 替),update 将选中补丁应用到候选技能内容,evaluate 由评估器 LLM 对照留出的验证项打分,gate 仅在加权分不低于当前分加阈值时接受候选;epoch 边界执行 slow update 整合为连贯改写。被拒候选进入拒绝缓冲,反馈到下一次 reflect 以避免重复提案。
使用方式:在插件会话中调用 providers MCP 服务器的 run_provider_task 工具,task 为 "optimizer",args 为 ["--slug", "<slug>", "--budget-usd", "0.50"];也可用 /skill-optimize <slug> [options]。密钥来自插件配置对话框;独立 CLI 安装使用显式 PRO_WORKFLOW_*_API_KEY 变量,切勿在对话中索要或读取机器上已有凭据。常用参数:--epochs 默认 3,--batch-size 8,--minibatches 2,--holdout 6,--budget-usd 0.50,--optimizer-model claude-sonnet-5,--evaluator-model claude-haiku-4-5,--max-adds/--max-deletes/--max-replaces 3/2/3,--accept-threshold 0.0,--max-skill-tokens 2000,--slow-every 2,--json 默认关闭。杀开关:touch ~/.pro-workflow/STOP 可在步骤间中止。
输出与限制:候选被接受则覆盖 SKILL.md 并追加哈希标记注释;运行详情写入 optimization_runs、optimization_candidates、optimization_patches、optimization_rejections,验证集保存在 optimization_validation 可跨运行复用。可用 sqlite3 ~/.pro-workflow/data.db 查询最近运行记录。验证集在运行开始时冻结,不得中途从新修正重新生成;每步仅一个候选、无并行分支;slow-update 产物也须通过门控才能替换最优;预算耗尽时以 stopped_reason="budget exhausted" 结束;锚点已消失的补丁记为 anchor_missing 被拒。灵感来自 Microsoft SkillOpt(arXiv:2605.23904),未复用其代码。