# Sy Evolve

> 深度阅读·第六步（自进化，元技能）。负责**迭代

- Skill: `huanyu-hibiki/sy-evolve` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add huanyu-hibiki/sy-evolve`
- Raw SKILL.md: https://api.skillmd.com/api/skills/huanyu-hibiki/sy-evolve/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Huanyu-Hibiki (https://skillmd.com/u/huanyu-hibiki)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/huanyu-hibiki/sy-evolve

---


# sy-evolve · 自进化（SkillOpt 轻量复刻）· #6

方法论来自微软 [SkillOpt](https://github.com/microsoft/SkillOpt)：**把技能文档当作冻结 AI 的"可训练状态"**，用 `harvest → mine → reflect → edit → validate → consolidate` 闭环迭代，验证门控防退化。

> **知识库根目录 `<知识库根>`**：① 本次会话用户显式指定 → ② 当前 Agent 打开的项目路径下有知识库标志（`阅读笔记/log.md` 或 `阅读笔记/_system/用户阅读报告.md`）→ ③ `~/.shendu-yuedu/config.json` 的 kb_root（问用户是否沿用）→ ④ 默认当前 Agent 打开的项目路径。权威定义见 `01-init/SKILL.md`「知识库根目录解析协议」。

## 职责边界（关键）
- **只编辑 #5 实践转化的产出**——即 `<知识库根>/skills/INDEX.md + 阅读报告「已萃取技能索引（跨书累积）」` 、对应 `skills/<书名>/<skill-slug>/SKILL.md` 里的「书名\对应知识点」技能条目（触发条件/步骤/验收/失败模式）。
- **不碰 sy-* 合集的 6 个 SKILL.md**（那是阅读工作流本身，稳定不动）。用户坚持要求改 sy-* → 🛑 STOP：说明本 skill 只养 #5 产出的技能，把问题作为用户级反馈转达，不产出任何对 sy-* 的编辑。
- **只读其他沉淀库**（用户阅读报告/拆解/问题清单/知识卡片/log.md），不写它们（唯一例外：Consolidate 同步「已萃取技能索引」节）。
- 一句话：**#5 造技能，#6 养技能。** 你在真实场景用技能、反馈，#6 据此把技能打磨准。

## 何时用
- 某技能用起来别扭/步骤太多/触发不准/验收不可达
- 定期（每月）复盘技能库，淘汰没人用的、强化高频用的
- 用户说"这个技能用不起来"

## 前置：每次用技能要留痕迹
要求 #5 产出的技能，在真实使用后于 `runs/sy-practice/<技能ID>/<日期>/` 留：触发场景 / 是否走通步骤 / 验收是否达标 / 哪步卡住 / 用户改动。没痕迹就无法进化——先回去补使用日志。

## 闭环（每次进化一个目标技能）

### 1. Harvest 采集
读该技能最近 5-10 次使用痕迹 + 用户口头反馈。整理"场景-是否走通-卡点-用户改了啥"列表。

### 2. Mine 挖掘模式
- **哪些步骤用户总跳过/改写** → 那步不现实（信号最强）
- **哪些验收总不达标** → 验收设太高 或 步骤缺关键过渡
- **触发从不命中** → 触发条件太窄或太宽
- **哪些步骤用户原样照做且验收达标** → 别动（hold-out 好样本）

### 3. Reflect 反思
对每个缺陷 5 Why 找根因，想 **3 种不同修法**（别只想到一种就改——SkillOpt 教训：第一次想到的修法往往过拟合）。

### 4. Edit（add/delete/replace，文本空间操作）
只对技能条目做三种操作：
- **add**：加一步/一个失败预警/一个判断标准
- **delete**：删一步被证明多余的
- **replace**：替换触发条件/验收为更好版本

**bounded edit**：一次只动 1-3 处。每处写一句 why，存进技能库末尾的"进化日志"。

### 5. Validate 验证门（核心防退化，绝不跳过）
1. 从 runs/ 挑 2-3 个**用户原样照做且验收达标的好样本**作 hold-out
2. **重跑 = 逐样本走查**：把该样本当时的使用痕迹（触发场景/实际走的步骤/验收结果）对照**新版**步骤/验收逐条过一遍，判"若当时就是新版，此场景仍走通/达标吗"——输出 hold-out 对照表（样本 | 旧版结果 | 新版走查结果 | 是否退步），随人审 CHECKPOINT 一并展示。禁止只凭感觉声称"没退步"
3. 新版在原好样本维度**没退步** 且 在要修维度**有改善** → ✅接受
4. 任一好样本退步 → ❌拒绝，进该技能目录下的 `rejected-edits.md`（`skills/<书名>/<skill-slug>/rejected-edits.md`，带原因，下次别再提同款）
5. **学习率隐喻**：连续 2 次被拒，下次只允许微调（删一句/加一个预警），别推倒重来。

### 🔴 CHECKPOINT · 🛑 编辑提案人审（Validate 通过后、写回前必停）
向用户展示三样：①每处编辑的 before/after diff ②每处一句 why ③hold-out 对照结果（哪个好样本没退步、哪个缺陷维度改善）。用户说 OK 才进 Consolidate；用户否决的编辑按被拒处理，记入 rejected-edits.md（原因写"用户否决"）。

### 6. Consolidate 固化
- 接受的编辑写回技能条目（skills/INDEX.md + 对应 skill 的 SKILL.md + 阅读报告技能索引同步）
- 更新"进化日志"（日期/技能/编辑类型/why/验证结果）
- 把挖到的反模式加进该技能的"常见失败模式"段——长期记忆

## 输出
- 改后的技能条目（仅「验证通过 + 用户在人审 CHECKPOINT 确认」才改）
- 进化日志追加一条
- rejected-edits 追加被拒记录
- 给用户的**进化报告**：动了哪几处/why/验证前后对比/下个建议进化的技能

## 多目标 reward（参考 SkillOpt）
验证时同时看四维，全部从 runs/ 使用痕迹的既有字段（触发场景/是否走通/验收达标/哪步卡住/用户改动）算出；无数据的维度标 `无数据` 并按持平处理：
1. **走通率** = 走通次数 ÷ 总使用次数
2. **验收达标率** = 达标次数 ÷ 总使用次数
3. **效率** = 卡住/被跳过的步骤数 ÷ 该技能总步骤数（越低越好）
4. **复用率** = 相似触发场景中实际调用了该技能的比例

硬门槛：①② 必须 ≥ 旧版（由 hold-out 走查判定）；③④ 持平即可接受，显著变化记入进化日志。

## 人 × AI 分工
- **人**：真实使用技能、留使用痕迹、反馈好不好用、最终确认是否采纳编辑
- **AI**：采痕迹、挖模式、提案编辑、跑验证门、写日志

## 下一步
进化是循环——每月或每次发现技能短板就跑一次。无固定下一步；回到当前最薄弱的技能继续打磨。

