agentleFS
pilluminapillumina/ascend-sleuth/skills/self-evolve/SKILL.md

self-evolve

Skill5 starsChanged 11 days agoMITView on GitHub

自演进深度轮(显式触发)+ 攒批聚合器。用户下内容目标(补 case / reference 沉淀 / 诊断 / 拉取)时,由对应内容 skill 执行,**收尾自动跑 evolve-check**(/skill:evolve-check, 伴随评估:有信号产卡、agent 自验证并判断采纳——用户不需要另说"改进系统")。 本 skill 只管两件事:①用户显式说"跑一轮自演进/看看有什么可改进"时的**全库深度 观测轮**(跨轮聚合信号:归因事件聚合 / 容量 / S2 校准集 / timeline → 产候选卡); ②把 evolve-check 与深度轮产出的卡**攒批聚合为一个 PR** 供人审。演进由数据触发 ——不是用户为"改进"单独立目标,而是系统做事时自动校准;本文自包含执行参数。

6 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

Self-Evolve(深度轮 + 攒批聚合)

本地执行说明:本 skill 标记 disable-model-invocation(防 agent 自发启动批量改库/批量自演进)——skill 工具加载会报 "not available for model invocation",这是预期。用户明确要求时,agent 直接 read 本文件手动遵循流程即可;或用户输入 /skill:self-evolve 直接触发。内容流程收尾的伴随评估不经过本文件——那是 /skill:evolve-check(轻量收尾协议,无 disable)。

定位修正:演进不是"另一类用户目标",而是任何流程执行中自动校准的维度(像人学习)。本文件不再把"流程/skill 改进"列为用户可选目标态——改进由 evolve-check 伴随产出(内容流程收尾)+ 本 skill 深度轮(用户显式要求全库体检时)承载。

触发

  1. 深度轮(显式):用户说"跑一轮自演进""看看有什么可改进""持续改进 X 的命中率"——全库观测找演进点(不是执行内容任务);
  2. 攒批聚合:evolve-check / 深度轮产出攒够批边界(轮末 / 10 卡 / 任务目标完成)→ 聚合 PR 交人审;
  3. resume:被打断的深度轮(session state 续跑)。

用户下内容目标("沉淀 vllm-ascend 的 closed issue""做 reference 沉淀")→ 不触发本 skill:路由到 issue-ingest / to-reference / to-postmortem 执行,其收尾自动 evolve-check。

一、入口分流(先分清用户要什么,再决定跑不跑本 skill)

用户说路由演进如何发生
"沉淀 vllm-ascend 的 closed issue" / "做 reference 沉淀" / "诊断这个"内容 skill(issue-ingest / to-reference / to-postmortem / diagnose)issue-ingest/to-reference/to-postmortem 收尾自动 evolve-check(无需用户另说);diagnose 有内建 evolving(候选 case 起草/顺手 to-reference),其 L2/L3 缺口由 S2 replay 与深度轮覆盖
"跑一轮自演进" / "看看有什么可改进"本 skill 深度轮全库观测 → 候选卡
"持续改进 X 命中率"(跨多轮)长期任务层(任务状态文件 proposals/tasks/)→ 每轮内容执行 + evolve-check任务轮内自动伴随

审视类目标另走:用户要的是"某个 skill 的质量/体验"(是不是机械、哪里别扭、大改之后体感退化)→ 转 /skill:skill-review(五视角审视协议,产出评审报告 + 建议);本 skill 的深度轮只管全库观测与攒批聚合。

grill 只在对齐深度轮/任务时用(至多 2-3 问、说用户语言):目标态(要达成什么可判定结果)、scope(哪个 namespace/层)、数据源(用户指定)、运行模式(hands-off / 关键人审)。对齐后回显理解,用户确认才执行。

二、深度轮:观测什么(跨轮聚合信号 → 候选)

深度轮不做内容执行,只把已积累的观测数据转成候选卡。信号源(先跑脚本读聚合,不读 case 全文——原则九):

信号数据源候选动作
容量超 soft_cap / 健康指标恶化scripts/metrics_health.py --json(判据数值在 metrics/gates.yaml,容量越界清单不读全库总表)L1 拆分评估卡(ev_proposal)
归因事件聚合浮出失败簇(反复执行错,按需聚合)scripts/component_tally.pyL2 修订该组件所在 skill 步骤 / triage 分支
S2 校准集未测条目 / replay missscripts/s2_replay.py --todoL1 补 case 卡(S2 佐证缺口)
指标漂移(命中率/回滚/token 趋势)metrics/timeline.yaml + trace_metrics诊断式候选轮
长期任务轮间信号task/session state下一轮范围决策
下游部署交上来的信号台账proposals/signals/(scripts/evolve_signals.py list)L2 卡:按台账里的组件与证据产卡

台账分诊(独立视角):读 proposals/signals/ 时用 subagent 做一轮独立分诊——它只看台账与本仓卡库、不看本轮对话,避免同上下文盲区。分诊做三件事:合并重复、剔除只有结论没有现象且 trajectory 站不住的条目、按 occurrences 与影响排序,产出「建议产卡 / 建议丢弃 / 继续观察」。结论写回台账:python3 scripts/evolve_signals.py mark <id> --status triaged|promoted|dropped --note "<一句话>"。

深度轮不做的事:不抓新数据、不沉淀内容(那属内容 skill + evolve-check)、不每轮全做——按对齐目标选信号源。

三、产卡 + 验证(深度轮与 evolve-check 共用同一条产卡链)

  1. 查重 + 同组件先例咨询(规则同 /skill:evolve-check 第 3 步,两 skill 共用产卡链): scripts/ev_proposal.py --list——同 trajectory/同 target 已有在池卡 → 合并;同 target_component 历史结局(被改过/回滚过/有 rejected 结论)先读其 decisions,不重复 被拒方案(python3 scripts/ev_proposal.py --impact [组件] 一次查全组件×尝试×结局);
  2. 落记录:把观察交给 python3 scripts/evolve_intake.py record …(full 落预填骨架,record-only 落信号台账,off 不落)→ 产卡时补字段(layer / hypothesis / predicted_effect / validation / risk / principle_refs;source_signals 与 target_component 已由 intake 填好)。 同组件有 rejected / superseded 先例时必填 alternatives(选项 + 否决理由 + 证据): 把"为什么不重走那条"写进卡,而不是留在对话里——否则下一个人会再试一次。 改演进流程本身的卡必填 predicted_effect.external:measure 只能证明脚本能跑, 效果信号要来自流程之外(台账提升率、intake 拒收率、no-signal 比率、单卡从产到合的天数); predicted_effect 须带 measure(预测的出处:命令 + 期望,或如实声明不可度量)—— reviewer 靠 scripts/ev_measure.py <卡号> --run 机械复核预测,规则同 evolve-check 产卡链;
  3. agent 自行验证执行:按影响面分级选门禁(docs/guide/eval.md「门禁分级」可选层)—— 检索/路由/候选选择面 → golden 子集(2-5 条,基线缓存复用)或 S2 replay (replay_golden.py / s2_replay.py);检索/路由层候选在 arena selection 池可用时 加跑 val 前后对照(eval_arena.py --stats 出分、--gate 出判词:无回归 + 门控判词 accept 才算通过;golden 无回归不在这两条命令里,由 scripts/replay_golden.py 单独跑, 论证见 docs/mechanism/eval-arena.md 可选层)。判词为 weak_accept (提升看起来真实但证据不足)时不得判 validated——补样本/扩池重跑,或如实记 证据不足;同一池反复使用时判定阈值按复用序号收紧,别拿同一个小池反复刷接受。 交互/追问/指引面 → ixn 对口样本(ixn_replay.py),不跑检索 golden;纯文档 → 免跑 replay;真实反馈类 完成实现 + S2 佐证、标"待真实确认"(现场有效性进观察窗,事后结算);
  4. agent 判断(EV 卡 = agent 决策档案,不含 git 合入态/待办态):产卡即执行(方案成形 才产卡,状态 in_experiment);eval solid → validated(采纳);eval 不成立 → rejected (不采纳,留结论);发现更好方向 → superseded(新卡替代)。执行/验证完成而卡仍停 in_experiment = 卡不完整。

生命周期完整性(卡 = proposal→action→eval→decision 的 agent 决策档案):每步 decisions 记 type(proposal/action/eval/decision);status 随执行推进不靠自觉—— 方案成形 → 产卡(in_experiment,开始执行)、agent 判断采纳 → validated / 不采纳 → rejected / 换方向 → superseded。执行/验证完成而卡停 in_experiment = 卡不完整 (verify_proposals 报)。终态卡(validated/rejected/superseded)必须有 agent 判断的 decision 记录 + validated 补 actual_cost。仅信号无方案不产卡(信号记报告/任务状态, 方案成形才产)。

四、skill 自我演进(L2:被数据信号触发,不是用户目标)

skill/流程改进由信号驱动,两条来源:

  1. evolve-check T4/T7(内容流程收尾发现:执行错反复无归属 / 可复用链路跑通)→ 产 L2 候选卡:修订指定 skill 步骤 / 沉淀新 skill 候选(弱信号,新 skill 立项走双签);
  2. 深度轮归因事件信号(按需聚合的组件失败簇)→ 同上产卡。

验证门(改 skill 强制):skill 改动合入前必须过 golden 前后对照(eval/golden + S2 replay 校准)——改 skill 影响所有下游,验证不可省;结构级(骨架/新 skill 立项)走 dual 双签 + kb/high-risk,步骤级小调 review。

五、攒批 / 聚合 PR(evolve-check 与深度轮的共同出口)

  • 批边界(任一触发即提聚合 PR,防无限攒批):目标态完成 / 降级完成(如"沉淀 100 条 实际只有 60 条")/ 深度轮停止条件触发 / 攒够 10 卡;
  • 聚合 PR:每卡独立 commit(可逐卡 revert);PR body 按卡列 EV id + 验证 + 授权 级别,dual 标 kb/high-risk;模板按批内最高风险选;
  • 合入后回写合入指针:python3 scripts/ev_proposal.py --mark-merged --from-prs ——按已合入的 PR 逐卡匹配,把 PR 号追加进卡的 decisions(只追加、保留注释、可重复执行); 匹配不上的卡它会如实报出来,按 commit 信息人工补,不猜不编。回写属批收尾:本会话收到合入 确认就直接做,否则由下一个批的收尾做;指针只有几行 diff,随下一个批的聚合 PR 进 main, 不为它单独开 PR。不回写的代价是判据读数反向:「已验证卡缺合入指针」那条判据数的就是 这个指针,实测有一批 7 张卡随同一个 PR 合入、7 张全无指针,判据把它读成"没合入",进而把人引向 "暂停产卡"这个错方向。回写后同类读数才是真的。--all-pending 会把同一个号写给所有待回写卡 (混入旧批的卡即假数据),只在确定"这一批就是全部待回写卡"时用;
  • 人审可整体合入或按卡打回(打回卡 revert 其 commit,其余照常)。

验证先于判断

  • 即时判定类(检索/路由/skill 流程/脚本):eval 完成(S2 replay / golden)——solid 才判 validated(采纳),不采纳则 rejected;
  • 真实反馈类(content/fix):判 validated 前完成实现 + S2 佐证,现场有效性合入后进 观察窗等真实场景——如实标注"已实现待真实确认"(观察窗结果作为追加 decision,不改卡状态)。

停止条件(深度轮,任一满足即停出报告)

预算耗尽(对齐时确认)/ 产出达标(validated/候选达 N,默认 3)/ 目标态达成 / 无新信号 / 人中断。

报告

本轮产出汇总:目标态 → 结果对照、产了几张卡(标注来源:evolve-check 伴随 vs 深度轮)、 验证依据、成本、下一步建议。报告落 proposals/reviews/(运行时 gitignore;路径先 python3 scripts/shared_dir.py proposals-reviews 解析——proposals/{sessions,tasks,reviews,experiments}/ 锚在主检出、跨 worktree 共读,写相对路径的记录面板看不到、清 worktree 就丢)。

边界(不做)

  • 内容目标不进本 skill(路由到内容 skill + evolve-check);
  • 不越过部署声明:开工前跑 python3 scripts/evolve_mode.py --json。record-only 部署 (只做内容沉淀的下游部署)照做观测与报告,但不产卡、不跑验证门——候选写进信号台账 proposals/signals/(scripts/evolve_signals.py add),理由同 /skill:evolve-check 第 0 步 (本地卡号会与上游号段重号);off 部署不执行深度轮,报告说明按部署声明跳过;
  • 指标口径只有人能改(agent 不自改评分定义);
  • 不碰客户现场;蓝图态(长期任务层跨轮自动/超时降级/stale/策略记忆/稳态降频)触发条件出现才启用。

依赖的能力/工具

能力工具/入口何时用
部署声明(能不能产卡)scripts/evolve_mode.py --json深度轮开工前、产卡前
信号台账(下游部署收的候选)scripts/evolve_signals.py list / export读输入、产卡前
伴随评估(内容流程收尾)/skill:evolve-check内容 skill 收尾自动(用户下内容目标时隐含)
观测(深度轮信号)scripts/component_tally.py / s2_replay.py --todo / _index.yaml 头注深度轮
查重/产卡scripts/ev_proposal.py --list / --new产卡时
卡校验scripts/verify_proposals.py产卡后必跑
预测复核scripts/ev_measure.py <卡号> --run判采纳前必跑(判据跑不通的预测不算验证)
验证门scripts/replay_golden.py / scripts/s2_replay.pyskill/case 改动验证
内容沉淀(evolve-check 落点)/skill:to-reference / /skill:to-postmortem伴随评估产出指向

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.