EvoSkill 失败轨迹进化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/evolve-reusable-coding-agent-skills-from-failed-trajectories-with-evoskill。
技能介绍
失败轨迹是没人认领的金矿
编码代理上线之后,真正的信号往往不在成功用例里,而在那些跑挂的轨迹中:定位脚本在错误的目录结构上反复重试、补丁工具在接口重构后生成过期调用、测试循环在同一个断言上反复卡死。团队通常把这些日志直接归档,或者事后补一条「偶现」的 issue,结果同一个失败模式下个月换个文件名又出现一次。
EvoSkill 的出发点是把失败当成可挖掘的信号:先收集失败的 agent 运行轨迹,从中抽取仍值得保留的局部策略,生成候选技能变体,再对它们做一轮回归验证。
它如何工作
核心流程分三步:
- 轨迹挖掘:扫描失败的 agent run,定位可复用的子策略,而不是只总结整体失败原因
- 候选生成:把可行的策略沉淀成候选技能变体
- 基准筛选:用你指定的 benchmark 或任务集给变体打分,只保留相比 baseline 有真实提升的版本
「只保留有提升的变体」是这套方法的关键约束。候选技能不会被无脑写进技能库,而是先在统一基准上和当前 baseline 对齐比较,劣化的版本直接丢弃。技能库因此不会随时间膨胀成没人敢动的黑盒。
适用边界
这个技能有明确的前提条件:
- 需要 Python 3.12+ 环境
- 需要至少一个受支持的编码代理,例如
Claude Code、OpenCode、OpenHands、Goose或Codex CLI - 需要你自己准备 benchmark 或任务集——没有评估集,就无从判断哪个变体算「改进」
换句话说,EvoSkill 负责的是优化回路,评估标准仍由你定义。它也不适合零样本冷启动:初始轨迹集质量太差时,抽取出的策略可能比没有更糟。上游文档提到 Discord 社区,那只是交流渠道,不是功能依赖。
使用场景
- 团队反复遇到 agent 在接口重构后生成过期调用的失败日志,想从中提炼修正策略并固化成可重用技能。
- 你为 Claude Code 维护了一套任务集,想在引入新技能变体时自动回归测试,只保留提升基线的候选。
- 多个编码代理在同一类任务上反复卡在相同的断言或目录定位上,需要归因并抽取可复用的子策略。
- 用 OpenHands 跑批量修复任务的开源项目,失败 run 越攒越多,希望从中进化出可重用的修复技能。
适合人员
- 维护 Claude Code 或 OpenCode 技能库的开发者:候选技能越攒越多,需要一套机制淘汰劣化版本。
- 在 CI 里跑编码代理基准的工程团队:希望每次引入新技能变体时自动和 baseline 对比,只保留有提升的。
- 从失败 agent 日志中寻找可复用策略的研究者:需要一套流程把失败轨迹变成候选技能并做验证。
- 管理多个编码代理工作流的技术负责人:不同代理反复踩同一类坑,想把修复经验沉淀成共享技能。