dsh-auto-evolve:DeepSeek Harness 自演化插件

前言

DeepSeek Harness (DSH) 采用插件化架构,智能体的技能、工具封装、提示词和策略通常需要人工维护。dsh-auto-evolve 是一个自演化插件,它通过观察运行时信号,利用 LLM 提出改进方案,在沙盒中验证,最后仅应用通过验证的版本化变更,并支持自动回滚。

核心功能

插件运行在 DSH 进程上下文中,主要包含以下环节:

  1. 观察:监听 tools/result 和 agent/request-error 信号,记录工具失败、重复调用无进展、请求错误等数据,当阈值触发时启动演化流程。
  2. 提议:基于基因组(技能、后处理器、提示词片段、策略)和观察数据,通过 LLM 生成变更候选。变更内容受到严格的 Zod 模式验证,拒绝不符合语法的生成。
  3. 验证:在沙盒中复现失败场景,对比基线和应用变更后的指标(完成率、工具调用成本等),只有表现出改进才允许通过。
  4. 应用与版本管理:验证通过的变更注册为技能或策略。插件维护一个版本化账本,记录每次变更的前后状态。
  5. 回滚:如果应用变更后出现回归,支持立即回滚到上一版本。回滚是第一级公民功能。
  6. 成本控制:限制单次循环和每日的预算上限,防止在验证阶段消耗过多 Token。

安装与启用

插件以 DSH Bundle 形式提供,无需手动编辑 cordis.yml。安装命令如下:

# 安装到 web 配置文件(默认 UI 配置)
dsh plugin --profile web add dsh-auto-evolve

# 安装到 TUI 配置文件
dsh plugin --profile tui add dsh-auto-evolve

本地开发或源码构建时:

git clone https://github.com/lispking/dsh-auto-evolve.git
cd dsh-auto-evolve
pnpm install
pnpm build
# 安装本地构建产物
dsh plugin --profile web add /absolute/path/to/dsh-auto-evolve

配置与模式

安装后,插件会自动加载默认配置。如需自定义,需覆盖配置文件中的行。注意:Patch 模式会替换整行配置,因此需要指定所有保留的字段。

配置文件路径示例:~/.dsh/profiles/web/cordis.patch.yml

- id: self-evolve
  config:
    mode: auto-apply        # observe | propose | auto-apply
    observation:
      toolFailureThreshold: 3
      repeatThreshold: 3
      requestErrorThreshold: 3
      windowMs: 300000
    proposal:
      maxProposalsPerTrigger: 1
      maxEpisodesPerProposal: 5
      maxPromptChars: 24000
      maxTokens: 2000
    budget:
      maxCostPerCycle: 0       # 0 表示禁用单循环上限
      dailyBudget: 0           # 0 表示禁用每日上限
    validation:
      maxTrialMs: 30000
      maxToolCalls: 20
      maxTrialSteps: 12
      maxTrialTokens: 8000

演化模式

模式 行为
observe 仅收集信号并触发阈值,不进行提议。默认模式。
propose 达到阈值时生成候选变更并持久化,等待手动批准。
auto-apply 运行完整闭环:观察 -> 提议 -> 验证 -> 应用。若出现回归会自动回滚。

操作工具

插件向智能体注册了以下工具,可用于检查状态或手动干预:

  • evolve_status:查看健康摘要,包括模式、代数、资产状态、账本/观察总数、收敛暂停状态等。
  • evolve_candidates:列出等待验证或手动应用的候选变更。
  • evolve_apply:手动批准并应用一个候选变更。
  • evolve_rollback:回滚一个已应用的资产,将其恢复为候选状态。
  • evolve_cycle:手动触发一次演化循环。

安全与注意事项

  • 执行验证:变更是否生效取决于沙盒中的执行结果,而非 LLM 的自我声明。
  • 词汇表限制:LLM 仅在预设的闭合词汇表(如 add / patch / retire)内生成内容,不会创造新的资产类型。
  • 运行权限:插件以当前 DSH 进程的权限运行。在安装前,建议检查源码以确认其行为符合预期。
  • 许可证:MIT。

总结

dsh-auto-evolve 解决了智能体资产维护中的反复调试问题,通过自动化闭环降低维护成本。它提供了从观察到应用的全链路能力,并通过沙盒和成本控制保障了稳定性。

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

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

小夜