evo-engineering:用固定回合协议让 agent 多轮改进任意产物

前言

在 DeepSeek Harness(DSH)里让 agent 改文档、代码或 skill,常见做法是改一版、读一遍、觉得「好像好点了」再改一版。轮数一多,很难说清楚哪版最好、为什么好,也退不回某一版;换会话重来,结论还可能变。若有两个模型各改一版,往往只能凭印象挑选。

下面介绍社区插件 evo-engineering(维护者 vlln,分类:工作流)。它把「怎样算更好」写成文件,用 propose → act → critique → select → regression → commit 的回合协议自动跑改进与独立评审,并按冠军线选优;人类在元层定标准、看结果、随时介入、喊停或回滚。插件当前在 GitHub 上约 1 star,版本 0.1.0,MIT 许可。

这是什么

evo-engineering 把自进化 / 递归自我改进(RSI)当成一个动词:对某个产物说「进化它」,其余交给固定回合协议。

元层(你 + 当前会话):定标准 → 看结果 → 随时介入
任务层(子代理):propose → act(隔离实现)→ critique(独立评审)→ select(冠军线)→ regress → commit

同一套思路以三种形态交付,协议不绑死在某一 harness 上:

层 形态 谁能用
便携手册 skills/evo/(SKILL.md + references) 任何 agent harness,复制进 skill 目录即可
确定性引擎 workflow/evo-round.mjs 带官方 workflow 引擎的 dsh 会话
插件 /evo 命令 + evo_init / evo_round / evo_status / evo_rollback dsh 用户(自动记账、每圈 git 打点、可回滚)

与手工反复改、定时循环类插件(如 dsh-loop)、一次检查修复闭环(如 dsh-inspect)相比,evo-engineering 由你说「进化它」发起:定一次标准,然后每圈看结果、必要时介入。

它不替你决定「什么值得进化」,也不保证一定变好;变化不够大时会选择不改。标准模糊到语言也判不了时仍要人裁定;critic 分歧时会主动停下来问你。

核心功能

标准与回归

  • evals/criteria.md:怎样算更好,每条尽量写成可观察的表现。
  • evals/regression.md:上一任冠军必须保持的行为,每圈重跑,任一失败即不采纳。

一回合流程

  • 自动或人工提议 → 多个 actor 隔离实现(互不可见)→ 每个候选由多个独立 critic 打分并给证据 → 按冠军线选优(新版本须严格超过上一任冠军才被采纳)→ 回归探针 → 写 ledger、git 检查点。

命令与工具

命令 说明
/evo init <target> [workspace] 建工作区:快照到 baseline/,生成 evals/ 与 ledger.md、git init
/evo round [数量 \| "提议文本"] 跑一回合;带引号文本为指定提议,跳过 brainstorm
/evo status 回合数、当前 champion、最近一轮
/evo rollback [round] 回滚到检查点(缺省最近一圈)
/evo help 用法

对应工具:evo_init、evo_round、evo_status、evo_rollback。evo_round 跑完自动写 ledger 并打 git 检查点。

evo_round 常用参数(完整表见 workflow/evo-round.mjs 的 ROUND_ARGS_DOC):

参数 默认 作用
proposals 无 指定改进提议(给了就不自动 brainstorm)
own_proposals 2 自动提议的子代理数
actors 2 并行实现的子代理数
critics 2 每个候选的独立评审数
threshold 7 入选最低均分(0–10)
note 无 本回合备注,写进 ledger

随包 skill

skills/evo/SKILL.md 描述跨 harness 的进化协议:工作区布局、六阶段回合、critic 判分、防退化与递归阶梯等。

插件跑在官方 workflow 引擎上(服务名 workflowEngine,官方基础组合自带)。缺该服务时插件仍可启动,调用工具时会报可操作错误,不会拖垮 profile 启动。Node 要求 >=22.19.0。

安装与启用

1)安装 dsh 插件

装完后需重启 web(bundle 在启动时组层栈)。仓库零构建,git 源安装不触发构建。

dsh plugin --profile web add "github:vlln/evo-engineering#main"   # 装
dsh plugin --profile web remove @vlln/evo-engineering              # 卸载

2)可选:挂载 evo skill

SKILL.md 为通用规范,放进 skill 发现路径即可。发现路径包括项目 <项目>/.dsh/skills、<项目>/.agents/skills,以及用户 $DSH_HOME/skills、~/.agents/skills。

# 用户级(让当前 DSH_HOME 认得它)
mkdir -p "$DSH_HOME/skills"
ln -s "$DSH_HOME/profiles/web/node_modules/@vlln/evo-engineering/skills/evo" "$DSH_HOME/skills/evo"

# 或项目级(二选一)
ln -s "$PWD/skills/evo" <你的项目>/.agents/skills/evo

安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。插件以当前 dsh 进程权限运行,只作用于指定工作区内的产物,不扫描、不修改工作区外文件。

典型用法

先初始化工作区,再与人对齐标准(编辑 evals/criteria.md 是唯一必须由人完成的核心步骤),然后按回合进化。

/evo init README.md        # 目标快照进 baseline/,生成标准与回归探针占位
# 编辑 <workspace>/evals/criteria.md,必要时维护 evals/regression.md
/evo round                 # 提 2 案 → 隔离实现 → 每案 2 个独立评审 → 选优 → 回归 → 记账+打点
/evo status                # 回合数 / 当前 champion / 最近一轮
/evo round "把开头换成个人经历"   # 元层指定提议,跳过 brainstorm
/evo rollback              # 回滚到最近检查点

一回合结束后报告会列出候选均分、是否采纳、回归探针结果。若挑战者分数高于阈值但未超过当前 champion,引擎会拒绝采纳、champion 不变。判分与理由落在 runs/<round>/candidate-*/verdict-*.json,每圈记在 ledger.md,可用 git tag 回滚。

适用场景与注意

适合

  • 需要多轮改进且要可追溯版本、可比较候选、可回滚的文档、代码、skill 或提示词。
  • 已使用带 workflow 引擎的 dsh web profile,能接受每圈默认约 2×2 个子代理带来的成本。

限制与注意

  • 需要 profile 提供 workflow 引擎;没有时工具会明确报错。
  • actor 工作目录未受限,当前靠回合后把产物吸收进 runs/N/ 补救。
  • 分数差很小时可能是评估噪声,同量级时演化可能像随机游走(见仓库 docs/known-issues.md)。
  • 模糊标准下 needsHuman 会较常见;critic 分歧即升级给人,属设计取舍。
  • 每圈成本约为 P×C 个子代理(默认 2×2),请按目标规模调整参数。

结尾

evo-engineering 把「改到更好」从反复口头指令,收成可文件化的标准、隔离候选、独立评审、冠军线与 git 检查点。若你在 DSH 工作流里需要这类多轮选优,可按上文命令安装并在对齐 criteria.md 后使用 /evo round。

社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装与使用请自行评估权限与成本。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜