EvoSkill 技术详解 EvoSkill 技术文档EvoSkill 是由 Sentient Labs 提出的自动化技能发现与 Agent 进化框架论文标题为《EvoSkill: Automated Skill Discovery for Multi-Agent Systems》。其核心思想是将Skill 文件类比为生物体的可遗传基因将失败驱动的改进提案类比为自然选择的适应性突变将Frontier精英种群类比为种群中的优势个体。在这种视角下Agent 的能力不再是静态配置而是一组外部可进化的技能文档由专门的 Proposer Agent 分析失败模式并提出改进Generator Agent 实施变异Evaluator 做适应度选择Frontier 维护精英种群。这一思路将此前手工编写 Skill/Prompt的工程实践转化为有明确闭环、可量化、可复现的自动化进化流程。1. 概述EvoSkill 是一个不修改模型权重的 Agent 能力自动进化框架。它通过类似进化算法的迭代循环选择、变异、评估、淘汰自动发现和优化Skill 文档或 System Prompt使 Agent 在特定任务上的表现持续提升。1.1 核心类比EvoSkill 概念进化算法类比说明Skill 文档 / System Prompt基因 (genome)被优化的对象一段 Markdown 指令文件Base Agent 执行任务个体表现 (phenotype expression)用当前 skill 执行任务得到预测结果Proposer 分析失败选择压力 (selection pressure)分析失败模式识别能力缺口Generator 生成 Skill突变 (mutation)创建或修改 skill 文件产生新变体Eval Gate适应度评估 (fitness evaluation)在验证集上评估新变体的表现Frontier精英种群 (elite population)维护 top-N 最优 Agent 配置Feedback History进化记忆 (evolutionary memory)记录历史提案和结果指导后续突变方向Git Branch谱系 (lineage)每个程序变体存储为独立 git 分支1.2 多 Agent 角色架构角色职责输出Base Agent用当前 skill 执行实际任务AgentResponse { final_answer, reasoning }Skill Proposer分析失败 case提出新 skill 或修改方案SkillProposerResponse { action, target_skill, proposed_skill, justification }Skill Generator实现 proposer 的提案写入 SKILL.md 文件ToolGeneratorResponse { generated_skill, reasoning }Prompt Proposer分析失败提出 prompt 修改方案PromptProposerResponse { proposed_prompt_change, justification }Prompt Generator实现 prompt 修改输出优化后的 promptPromptGeneratorResponse { optimized_prompt, reasoning }进化模式通过evolution_mode配置切换skill_only默认只进化 Skill 文件prompt_only只进化 System Prompt。2. 核心机制EvoSkill 的自动进化闭环由五个阶段组成它们共同构成一个反馈驱动的迭代优化循环。①选择父代 ▼ ▣ Frontier 精英种群 —— top-N 最优 Agent 配置 │ ▼ ▣ 2.1 Base Agent 执行 —— 类目轮询采样 / 保留完整执行轨迹 │ 评分 0.8 → 失败样本含 trace ▼ ▣ 2.2 Proposer 分析 —— 轨迹审查 / 差距分析 / 现有 Skill 检查 │ ②改进提案action target ▼ ▣ 2.3 Generator 实施变异 —— 写入或修改 SKILL.md / git commit │ ③变异结果iter-skill-N ▼ ▣ 2.4 Evaluator 评估 —— 独立验证集 / 多容差评分 / 17min 超时 │ ④新变体得分 ▼ ▣ 2.5 Frontier 更新 —— 验证集平均分排名 / 优胜劣汰 │ ⑤替换最差 or 丢弃 └────► 回到 Frontier进入下一轮 ┄┄ Feedback History进化记忆贯穿全程Proposer 读取历史、Frontier 更新写入结果 ┄┄2.1 Base Agent 执行失败样本采集每一迭代从训练池中按类目轮询采样round-robin across categories若干条题目用当前最优 Agent含已有 skills执行任务。与简单记录答对/答错不同EvoSkill 保留完整的执行轨迹——Agent 的推理过程、工具调用序列、中间结果、最终答案等原始信息都会被保存。评分阈值为 0.8得分 ≥ 0.8 视为通过 0.8 收集为失败样本。失败样本附带完整 trace作为 Proposer 的直接输入——如果 trace 不完整Proposer 就看不到 Agent 实际是卡在哪一步失败的。类目轮询采样确保覆盖所有题目类别避免优化偏向某一类别。每个类目维护独立的采样偏移量循环取样保证数据多样性。2.2 Proposer失败分析与改进提案Proposer 接收多个失败 case 的完整轨迹进行结构化分析轨迹审查逐步检查 Agent 的执行过程做了什么、在哪卡住、什么推理模式差距分析对比 Agent 答案与标准答案缺了什么信息、犯了什么推理错误现有 Skill 检查审查已有 skill 列表判断是否有 skill 本该覆盖却没生效反馈历史参照检查历史中被 DISCARDED 的类似提案避免重复犯错Proposer 的输出决策action“create”没有现有 skill 覆盖此能力 → 提议创建新 skillaction“edit”已有 skill 本该防止此失败但未生效 → 提议修改现有 skill渐进式上下文截断Progressive Truncation机制确保在 LLM 上下文限制内仍能正常工作Level 0完整上下文60K head 60K tailLevel 1中度截断20K head 10K tail反馈限制 20 行最多 3 个失败样本Level 2激进截断5K head 2K tail反馈限制 5 行最多 2 个失败样本如果所有截断级别都失败还可启用单失败回退只取最短的一个失败样本重试。2.3 Generator实施变异Generator 根据 Proposer 的提案执行具体的文件操作Skill 模式在.claude/skills/skill-name/SKILL.md路径写入或修改 Skill 文件。每个 Skill 文件遵循标准格式---name:answer-unit-preservationdescription:Preserve required output units for arithmetic answers.---## 规则内容...Prompt 模式读取当前 promptparent_config.system_prompt根据提案生成优化后的完整 prompt 文本写入src/agent_profiles/base_agent/prompt.txt。子程序分支命名为iter-prompt-{N}。变异目标的确定Generator 并不自己决定变异什么而是完全由上游 Proposer 的输出决定actioncreateproposed_skill→ Generator 在.claude/skills/下创建新目录和 SKILL.mdactionedittarget_skill→ Generator 读取.claude/skills/{target_skill}/SKILL.md并就地修改Proposer 的目标选择逻辑扫描.claude/skills/下已有 skill 列表 → 判断是否有 skill 本应覆盖当前失败但未生效 → 有则 edit无则 create。因此若希望系统优先迭代某个已有 skill只需将其初始版本预置到.claude/skills/{name}/SKILL.mdProposer 会自然倾向于 edit 它。2.4 Evaluator验证集评估新变体创建后在独立验证集上完整评估表现。评估并发执行默认 4 路并发每个 Agent 调用有 17 分钟硬超时。评分机制默认multi_tolerance加权平均多个容差级别0%、1%、2.5%、5%、10%严格容差权重更高weight 1 / (1 20 × tolerance)支持模糊数字匹配、单位检测trillion/billion/million、文本重叠检查也支持精确匹配、LLM 评判、自定义脚本评分2.5 Frontier精英种群管理Frontier 维护 top-N默认 3个最优 Agent 配置验证集平均分通过 git tag 标记程序分支 program/base, program/iter-skill-1, program/iter-skill-2, ... Frontier 标签 frontier/base, frontier/iter-skill-2, ...加入规则Frontier 未满 → 无条件加入Frontier 已满且新分数 最差成员分数 → 替换最差成员否则 → 丢弃git 分支删除父代选择策略best默认总是选得分最高的random从 frontier 中均匀随机选round_robin按排名循环选取3. 启动流程3.1 入口CLI: evoskill run Python API: EvoSkill(taskbase, modelsonnet).run_sync()执行命令示例# CLI 方式evoskill run--continue--verbose# Python APIfrom src.apiimportEvoSkill resultawait EvoSkill(tasksealqa,modelsonnet,modeskill_only,max_iterations20,frontier_size3,).run()3.2 初始化步骤1. load_config(config_path) ├── 加载 .evoskill/config.toml ├── 解析 harness / evolution / dataset / scorer 配置 └── 设置 SDKclaude / opencode / codex / goose / openhands 2. 构建 LoopAgents ├── base Agent(base_agent_options, AgentResponse) ├── skill_proposer Agent(skill_proposer_options, SkillProposerResponse) ├── prompt_proposer Agent(prompt_proposer_options, PromptProposerResponse) ├── skill_generator Agent(skill_generator_options, ToolGeneratorResponse) └── prompt_generator Agent(prompt_generator_options, PromptGeneratorResponse) 3. 初始化 ProgramManager └── 基于 git 的程序版本管理器 4. 加载数据集 ├── load_dataset() → 读取 CSV 或 Harbor 数据 └── stratified_split() → 按 category 分层划分 train/val 5. SelfImprovingLoop.__init__() ├── 配置 round-robin 采样状态 ├── 初始化 RunCache缓存避免重复评估 ├── 加载 checkpoint如有支持断点续跑 └── 设置 feedback_history 路径3.3 配置解析示例以.evoskill/config.toml为例[harness] name claude # 使用的 Agent 运行时 model sonnet # 模型别名或完整标识 data_dirs [] # Agent 可访问的额外目录 timeout_seconds 1200 # 单次 Agent 执行超时 max_retries 3 # 失败重试次数 [evolution] mode skill_only # 进化模式 iterations 20 # 最大迭代次数 frontier_size 3 # Frontier 容量 concurrency 4 # 并发评估数 no_improvement_limit 5 # 早停阈值 [dataset] source csv # 数据源类型 path data/questions.csv # 数据集路径 question_column question ground_truth_column ground_truth category_column category # 可选分层采样用 train_ratio 0.18 # 训练集比例 val_ratio 0.12 # 验证集比例 [scorer] type multi_tolerance # 评分方式4. 主循环流程┌─ 基线评估 ──────────────────────────────────────────────────────────┐ │ _ensure_base_program(): │ │ 创建 program/base 分支 → 在验证集上评估 → 加入 Frontier │ │ 得到 base_score 作为后续比较基准 │ └────────────────────────────────────────────────────────────────────┘ for iteration in 1..max_iterations: ├── ① 选择父代从 Frontier 中按策略选择 parent │ └── manager.switch_to(parent) → git checkout program/{parent} │ ├── ② 采样测试Round-Robin 按类目采样 N 条训练题 │ ├── 每个类目取 samples_per_category 条 │ └── 循环偏移保证不重复 │ ├── ③ 并发执行Base Agent 批量执行任务 │ ├── asyncio.gather(*[agent.run(q) for q in samples]) │ ├── 评分scorer(question, predicted, ground_truth) │ │ └── score 0.8 → 收集为失败样本 │ └── 若全部通过0 failures→ continue 跳过本迭代剩余步骤 │ 不计入 no_improvement不影响早停 │ ├── ④ 失败分析 变异_mutate_with_fallback │ ├── Proposer 分析失败模式 → 输出提案 │ ├── 若 Proposer 失败含渐进截断重试后仍失败 │ │ └── mutation_result None → no_improvement_count 1 │ │ → 跳过步骤 ⑤⑥⑦直接到 ⑧ │ ├── 创建子程序分支 program/iter-skill-{N} │ ├── Generator 写入/修改 Skill 文件 │ └── git commit 保存变更 │ ├── ⑤ 评估子代在验证集上评估新变体 │ └── evaluate_agent_parallel(agent, val_data, max_concurrentconcurrency) │ ├── ⑥ Frontier 更新 │ ├── frontier 未满 → 直接加入 → outcomekept or improved │ ├── score worst_in_frontier → 替换进入 → outcomekept or improved │ │ └── addedTrue → no_improvement_count 0 │ └── 否则 → 丢弃manager.discard→ outcomediscarded │ └── addedFalse → no_improvement_count 1 │ ├── ⑦ 反馈记录仅在变异成功时执行 │ └── append_feedback(child_name, proposal, justification, │ outcome, score, parent_score, active_skills) │ ├── ⑧ 早停检查 │ └── no_improvement_count ≥ no_improvement_limit → break │ └── ⑨ 保存 checkpoint ┌─ 最终结果 ──────────────────────────────────────────────────────────┐ │ LoopResult: │ │ frontier [(program_name, score), ...] │ │ best_program iter-skill-5 │ │ best_score 0.7834 │ │ iterations_completed 12 │ │ total_cost_usd 12.45 │ └────────────────────────────────────────────────────────────────────┘5. 单步详解5.1 Base Agent 执行采样与失败收集目的用当前最优 Agent 配置执行若干训练样本收集失败案例。代码位置src/loop/runner.py(L278-L329)流程1. Round-Robin 类目采样: ├── categories_per_batch 个类目默认 3 ├── 每个类目取 samples_per_category 条默认 2 └── 维护 per-category offset 避免重复 2. 并发执行: asyncio.gather(*[agent.run(question) for question in test_samples]) 3. 评分与筛选: for trace, (question, answer, category) in zip(traces, test_samples): agent_answer trace.output.final_answer score scorer(question, agent_answer, answer) if score 0.8: failures.append((trace, agent_answer, answer, category)) 4. 输出: failures [(trace, agent_answer, ground_truth, category), ...]Base Agent 配置工具集Read, Write, Bash, Glob, Grep, Edit, WebFetch, WebSearch, TodoWrite, BashOutput, Skill输出格式{ final_answer: str, reasoning: str }Prompt从.evoskill/task.md加载的任务描述5.2 Proposer失败分析与提案目的分析失败 case 的执行轨迹提出结构化的改进方案。代码位置src/loop/helpers.py(L16-L113),src/agent_profiles/skill_proposer/流程1. 构建 Proposer Query: ├── 现有 Skills 列表.claude/skills/ 下所有 SKILL.md ├── Task Constraints来自 .evoskill/task.md ├── 反馈历史feedback_history.md 内容 └── 失败样本详情: ├── 每个失败 case 的完整 trace summary ├── Agent 的回答 vs 标准答案 └── 所属类目 2. Skill Proposer 分析: ├── 强制使用 Brainstorming 技能探索 2-3 种方案 ├── 审查已有 skills 是否应该覆盖此失败 ├── 参照反馈历史中被 DISCARDED 的提案 └── 选择最简可行方案YAGNI 原则 3. 输出决策: { action: create | edit, target_skill: existing-skill-name | null, proposed_skill: 详细描述需要创建/修改什么, justification: 为什么这个改进能解决识别到的问题, related_iterations: [iter-4, iter-9] }Proposer Prompt 的关键约束必须先检查现有 skills避免重复创建必须参照反馈历史避免重复失败的提案提案必须跨 case 通用不针对单个样本优先 edit 已有 skill而非创建新的5.3 Generator实施变异目的将 Proposer 的高层提案转化为具体的 Skill 文件。代码位置src/loop/runner.py(L520-L603),src/agent_profiles/skill_generator/两种操作创建新 Skill (action“create”)1. 接收 proposer 的描述和 justification 2. 在 .claude/skills/{skill-name}/ 目录下创建 SKILL.md 3. 文件格式: --- name: answer-unit-preservation description: Preserve required output units for arithmetic answers. --- ## 规则正文 具体的可复用规则和示例 4. git add commit编辑已有 Skill (action“edit”)1. 读取 .claude/skills/{target_skill}/SKILL.md 2. 根据 proposer 的修改描述进行编辑 3. 保留原有相关内容追加或修改目标段落 4. git add commitGenerator 的约束必须使用 YAML frontmattername description 必填name 必须与目录名一致全小写连字符正文简洁具体包含可复用规则可选包含 1-3 个短示例进化边界只优化SKILL.md单文件整个进化闭环Proposer 分析 Generator 变异只在SKILL.md层面运转不触及 skill 目录下的其他文件.claude/skills/{name}/ ├── SKILL.md ← 唯一被 Proposer 感知、被 Generator 优化的文件 ├── references/ ← 不读取、不分析、不修改 └── scripts/ ← 不读取、不分析、不修改Proposer分析失败时只拿到 skill 的目录名列表helpers.py仅枚举含SKILL.md的目录名看不到 references/scripts 的内容Generator的 edit 指令写死Read .claude/skills/{target}/SKILL.mdcreate/edit 均只写这一个文件由此带来两个边界效应一致性漂移风险若预置 skill 的SKILL.md引用了scripts/*.py或references/*.mdGenerator 改动 SKILL.md 时感知不到也改不动附属文件可能造成文档与脚本逻辑脱节。进化天花板EvoSkill 擅长演化纯指令型 skill规则/示例写在 SKILL.md 正文但无法自动演化出带可执行脚本或大型参考资料的复杂 skill——这类附属资源需人工预置。注意区分执行与进化Base Agent 运行时通过各 agent 产品原生运行时加载并调用完整 skill 包含 references/scripts但进化闭环只优化 SKILL.md。即 skill 被完整地执行却只被部分地进化。5.4 Evaluator验证集评估目的在独立验证集上衡量新变体的实际表现。代码位置src/evaluation/evaluate.py,src/evaluation/reward.py流程1. 转换验证数据为 (question, answer) 格式 2. 并发评估: evaluate_agent_parallel(agent, qa_data, max_concurrentconcurrency) ├── Semaphore 控制并发度 ├── 每条 17 分钟硬超时 ├── 支持 RunCache 缓存基于 git tree hash └── 超时/错误 → 该题 0 分 3. 计算总分: score sum(scorer(q, pred, gt) for each result) / total_count评分系统multi_toleranceTOLERANCE_LEVELS[0.05,0.01,0.1,0.0,0.025]# 顺序不影响结果加权平均fortolinTOLERANCE_LEVELS:weight1.0/(1.020.0*tol)# 严格容差权重更高scoreweight*score_answer(ground_truth,predicted,tol)# score_answer 内部调用 fuzzy_match_answerfinal_scoreweighted_sum/weight_totalfuzzy_match_answer的处理逻辑数字匹配提取数字 上下文检测单位trillion/billion/million/thousand归一化比较多数字答案所有 GT 数字必须在预测中找到匹配文本匹配大小写不敏感去括号子串包含检查混合匹配数字匹配成功后还需检查文本重叠5.5 Frontier 更新精英选择目的维护 top-N 最优程序实现优胜劣汰。代码位置src/registry/manager.py(L378-L430)流程1. 保存分数到子程序的 program.yaml: git checkout program/{child} config.with_score(score) → 写入文件 → commit 2. 判断是否入选 Frontier: scored get_frontier_with_scores() # 当前 frontier 成员及分数 if len(scored) max_size: → mark_frontier(child) # 未满直接加入 → return True worst_name, worst_score scored[-1] if score worst_score: → unmark_frontier(worst) # 替换最差 → mark_frontier(child) → return True → return False # 不够格丢弃 3. 丢弃操作: manager.discard(child_name) # 删除 git 分支Git Tag 管理加入git tag frontier/{name}在对应 branch HEAD移除git tag -d frontier/{name}查询git tag -l frontier/*6. 反馈机制6.1 Feedback History进化记忆位置.evoskill/feedback_history.md目的让 Proposer 能够学习历史经验——什么有效、什么无效。每次迭代结束后追加一条记录## iter-skill-3 **Proposal**: Create a date-format-parser skill that handles... **Justification**: The trace shows agent failed to parse ISO dates... **Outcome**: IMPROVED (score: 0.6234 (0.0512)) **Active Skills**: answer-unit-preservation, date-format-parser记录的关键字段Proposal提议的内容Justification为什么这么提议Outcome结果IMPROVED / KEPT / DISCARDEDScore评分及与父代的差值Active Skills评估时活跃的 skill 列表注IMPROVED 加入 Frontier 且超过父代分数KEPT 加入 Frontier 但未超过父代DISCARDED 未加入 Frontier分支被删除。Proposer 如何使用看到 DISCARDED 的提案 → 避免重复提出类似方案或解释自己的方案有何不同看到 IMPROVED 的提案 → 理解什么方向有效看到 Active Skills → 了解当前 Agent 已有的能力6.2 断点续跑Checkpoint 文件.evoskill/loop_checkpoint.json每个迭代结束时保存当前迭代编号Round-robin 采样偏移状态类目内采样偏移量evoskill run --continue时读取 checkpoint → 恢复精确的采样状态保留 feedback_history → 不丢失历史经验保留 Frontier → 从当前最优继续7. 数据流架构Self-Improving Loop (每迭代) ┌───────────────────────────────────────────────────┐ │ │ Frontier ──►│ SELECT PARENT → SAMPLE → BASE AGENT → COLLECT │ (top-N) │ (strategy) (round- (execute) FAILURES │ │ robin) │ │ │ │ FAILURES ──► PROPOSER ──► GENERATOR ──► COMMIT │ │ (analyze) (write SKILL) (git) │ │ │ │ EVALUATE (val set) ──► UPDATE FRONTIER │ │ (parallel scoring) (replace worst or add) │ │ │ │ RECORD FEEDBACK ──► CHECKPOINT │ │ │ └───────────────────────────────────────────────────┘ │ ▼ Git Branch Structure main (用户代码, 不动) program/base (基线) program/iter-skill-1 (迭代 1) program/iter-skill-2 (迭代 2) ... frontier/base (tag) frontier/iter-skill-5 (tag, 当前最优) --- ## 8. 状态与产物结构.evoskill/├── config.toml # 项目配置├── task.md # 任务描述Agent 的 system prompt 来源├── feedback_history.md # 进化记忆Proposer 参考├── loop_checkpoint.json # 断点续跑状态├── state.json # 运行状态快照├── data/ # 数据集├── logs/ # 运行日志├── reports/ # 评估报告└── skills/ # 发现的 skill 备份.claude/├── program.yaml # 当前程序配置prompt, tools, score└── skills/ # 所有已发现的 Skills├── answer-unit-preservation/│ └── SKILL.md├── date-format-parser/│ └── SKILL.md└── ….cache/runs/ # 评估结果缓存避免重复 Agent 调用**program.yaml 示例** yaml name: iter-skill-5 parent: program/iter-skill-3 generation: 5 system_prompt: content: 你是一位专业的中文文案创作者... allowed_tools: - Read - Write - Bash - Skill - ... metadata: score: 0.7834 created_at: 2026-07-01T10:30:009. 支持的 Agent 运行时EvoSkill 通过统一的Agent抽象层支持多种编码 Agent运行时SDK模型格式特点Claude Codeclaude-agent-sdkclaude-sonnet-4-6原生结构化输出OpenCodeopencode-aiprovider/model多提供商持久化 HTTP 服务器Codex CLIopenai codex SDKgpt-5,o3线程执行通过 symlink 发现 skillsGoosesubprocess CLIprovider/modelRecipe YAML 格式OpenHandslitellmfireworks_ai/...Fallback JSON 提取Harbor容器化—内置验证器的基准测试框架Agent 统一接口src/harness/agent.py超时20 分钟/次尝试重试最多 3 次指数退避30s → 60s → 120s结构化输出所有 SDK 产出统一的AgentTrace[T]结构10. 关键配置参数速查参数位置默认值影响evolution.modeconfig.tomlskill_only进化维度skill / promptevolution.iterationsconfig.toml7最大迭代次数Python API 默认 20evolution.frontier_sizeconfig.toml3Frontier 容量evolution.concurrencyconfig.toml4并发评估数evolution.no_improvement_limitconfig.toml5早停阈值evolution.failure_samplesconfig.toml3每迭代测试样本数dataset.train_ratioconfig.toml0.18训练集划分比例dataset.val_ratioconfig.toml0.12验证集划分比例harness.timeout_secondsconfig.toml1200Agent 执行超时harness.max_retriesconfig.toml3失败重试次数scorer.typeconfig.tomlmulti_tolerance评分方式LoopConfig.categories_per_batch代码3每迭代采样类目数LoopConfig.samples_per_category代码2每类目采样条数LoopConfig.selection_strategy代码best父代选择策略LoopConfig.proposer_max_truncation_level代码2最大上下文截断级别11. 评分器类型类型描述适用场景multi_tolerance多容差加权匹配数字文本通用 QA默认exact大小写不敏感精确匹配选择题、固定格式答案llmLLM-as-Judge 按 rubric 评分开放式生成、创意写作script自定义脚本评分代码执行、特殊格式harborHarbor 内置验证器容器化基准测试LLM 评分器配置示例[scorer] type llm rubric 根据以下标准评分0.0~1.01) 内容是否符合要求2) 质量是否流畅3) 约束是否满足。 model claude-sonnet-4-6 provider anthropic # anthropic / openai / google / openrouter / fireworks12. 与相关工作对比方法定位EvoSkill 属于Agent Skill Discovery / Agent Self-Improvement方向与 GEPA、DSPy、TextGrad、SkillOpt 等系统解决相同问题提升 Agent 任务表现。核心循环相似——执行→评估→分析→改进→验证。关键差异维度SkillOptEvoSkill优化对象单个 Skill 文档的文本内容多个 Skill 文件每个仅 SKILL.md或System Prompt——由evolution_mode二选一skill_only 累积多个 skillprompt_only 重写 prompt优化粒度原子 patch 操作append/replace/delete整个 Skill 文件的创建/修改版本管理文件快照skill_v0001.md, skill_v0002.mdGit 分支 Tag完整的程序谱系、可回溯、可 diff种群策略单一最优 skilleval gate 只保留 bestFrontier精英种群维护 top-N支持多样性Agent 架构双模型Optimizer Target多角色 AgentProposer Generator Base Evaluator改进来源只从训练 batch 的 rollout 学习从失败轨迹 反馈历史 已有 skills 联合学习跨迭代记忆Slow Update Meta SkillFeedback Historymarkdown 日志Proposer 全部可读Agent 兼容性专用 rollout 系统跨 Agent 可移植Claude/OpenCode/Codex/Goose/OpenHandsSkill 可复用性训练产物绑定特定环境跨 Agent、跨模型、跨任务可迁移验证机制必须严格超越 best_score 才接受Frontier 机制只需超过最差成员即可存活学习率控制edit_budget cosine scheduler无显式学习率靠 Proposer 自主判断修改幅度可恢复性runtime_state.json 断点续训Git branch checkpoint feedback history本质区别SkillOpt 是Skill 的梯度下降把单个 Skill 文档当作参数空间中的一个点通过结构化 patch 做增量更新强调收敛性和稳定性。EvoSkill 是Agent 的进化算法维护一个由多个完整 Agent 配置组成的种群Frontier每次产生新变体通过适应度选择决定存活。强调多样性和发现能力。互补而非替代SkillOpt 适合深度优化单个已知 SkillEvoSkill 适合从零开始自动发现 Agent 需要哪些 Skills。适用场景对比场景推荐方法已有明确的 Skill 需要持续打磨SkillOpt精细 patch 学习率衰减不确定 Agent 需要哪些能力需要自动发现EvoSkill自动发现 Frontier 多样性需要跨 Agent 可移植的 Skill 产物EvoSkill标准 SKILL.md 格式数据量大需要类似 SGD 的系统性训练SkillOptepoch/batch/lr 完整框架快速迭代少量 case需要即时反馈EvoSkillfew-shot 失败分析 即时变异需要完整的程序谱系和可审计历史EvoSkillgit-based lineage

相关新闻

最新新闻

OpenRocket终极指南:免费火箭设计软件从零到精通

OpenRocket终极指南:免费火箭设计软件从零到精通

OpenRocket终极指南:免费火箭设计软件从零到精通 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 你是否曾经梦想过设计自己的火箭,…

2026/7/29 22:19:43
如何使用Melt:3分钟快速上手SSH密钥备份与恢复全流程

如何使用Melt:3分钟快速上手SSH密钥备份与恢复全流程

如何使用Melt:3分钟快速上手SSH密钥备份与恢复全流程 【免费下载链接】melt Backup and restore Ed25519 SSH keys with seed words 🫠 项目地址: https://gitcode.com/gh_mirrors/me/melt Melt是一款轻量级工具,能够帮助开发者通过易…

2026/7/29 22:19:43
公交站听《比太阳更靠近》

公交站听《比太阳更靠近》

冬天公交站哈出白气,人会特别想靠近一点暖。《比太阳更靠近》把靠近写成想要的温度差:不是炫耀热烈,是承认冷,也承认自己其实想被接住一下,不必假装今天毫无损耗,也不必把冷硬说成酷。歌名自带比较。情绪救…

2026/7/29 22:19:43
终极AMD Ryzen调试工具完全指南:快速掌握硬件性能优化技巧

终极AMD Ryzen调试工具完全指南:快速掌握硬件性能优化技巧

终极AMD Ryzen调试工具完全指南:快速掌握硬件性能优化技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

2026/7/29 22:19:43
【三甲AI工程师亲授】:如何用1台A100+开源模型,在48小时内完成全院病历语义索引系统搭建?

【三甲AI工程师亲授】:如何用1台A100+开源模型,在48小时内完成全院病历语义索引系统搭建?

更多请点击: https://codechina.net 第一章:AI病历分析教程 AI病历分析正成为医疗信息化的关键能力,它通过自然语言处理(NLP)与临床知识图谱结合,从非结构化文本中精准提取诊断、用药、检验结果等关键信息…

2026/7/29 22:19:43
口碑好的大模型电话机器人哪家专业

口碑好的大模型电话机器人哪家专业

随着智能化工具普及,大模型电话机器人已经成为企业外呼场景的核心配置,广泛应用于营销拓客、消息通知、客户回访、智能客服等多个业务环节。不少企业选型时容易陷入功能堆砌、价格导向的误区,实际上核心考量维度要覆盖性价比、系统稳定性、收…

2026/7/29 22:14:43

月新闻