dsh-evolve 开发 Spec:轻量执行经验插件

August 20, 2026 · View on GitHub

Status: proposed Version: 0.3 Scope: 产品定位、行为边界、数据流、权限门禁和后续开发顺序

1. 项目定位

dsh-evolve 是一个旁挂在 DeepSeek Harness 上的轻量执行经验插件。

它观察 Agent 的任务执行轨迹,从失败、用户纠正、重复动作和成功路径中提炼经验;在后续相似任务中按需检索少量经验,帮助 Agent 少走弯路。它也可以观察已有 Skill 的实际使用效果,并在证据充分时提出 Skill 新版本候选。

项目不训练模型,不修改模型参数,不构建 Agentic RL 平台,也不接管 Agent Loop。

核心闭环:

Session
  -> 轨迹分析
  -> 执行经验
  -> 任务匹配
  -> 临时建议/上下文注入
  -> 结果观察
  -> 经验升权、降权或淘汰

Skill 是独立对象:

已有 Skill 被使用
  -> 观察成功、失败、纠正和效率
  -> 生成新版本候选
  -> Replay / Shadow / 用户确认
  -> 激活或回滚

2. 绝对边界

2.1 必须做到

  • 默认后台运行,不能改变用户正常使用节奏。
  • 只读观察 Session 和公开运行事件,不阻塞 Agent 主路径。
  • 原始 Session、Prompt、源码、工具输出和凭据默认只保存在本地。
  • 经验默认作为本地文档或结构化记录保存,不自动变成 Skill。
  • 经验只在当前任务高度相关时临时注入;任务结束后不进入常驻上下文。
  • 只有确实需要用户决定的动作才请求同意。
  • 所有会影响未来行为的高影响变更都可查看、拒绝和回滚。
  • 插件故障时暂停进化侧车,DSH Agent 继续正常工作。

2.2 明确不做

  • 不进行 LoRA、Fine-tuning、在线 RL 或任何模型权重更新。
  • 不自动构建训练数据集,不维护 reward model,不进行策略搜索。
  • 不让 Agent 自主决定经验永久生效。
  • 不把普通经验批量生成 Skill、Recipe 或 Runtime Policy。
  • 不自动上传原始 Session 或用户行为数据。
  • 不自动安装插件、执行社区代码、关闭 Sandbox、绕过 Approval 或获取凭据。

3. 用户体验原则:默认无感

3.1 静默工作范围

以下操作默认在后台完成,不弹窗、不打断当前任务:

  • 监听和规范化事件;
  • 任务 Episode 切分;
  • 确定性经验挖掘;
  • 经验去重、聚合和置信度计算;
  • 本地经验文档写入;
  • 相关性匹配和临时上下文草稿生成;
  • 已确认经验的检索;
  • Skill 使用结果记录;
  • Replay、Shadow、隐私检查和本地审计;
  • GitHub Commons 的缓存同步(不自动激活、不等待网络)。

3.2 允许请求用户同意的场景

只有以下情况可以向用户请求同意:

  1. 将个人经验编译成可分享 Capsule 并准备贡献到公共 Commons;
  2. 创建、修改、激活或停用 Skill;
  3. 修改 Context、Tool 或 Runtime Policy;
  4. 将稳定的用户工作方式蒸馏为 Skill;
  5. 启用需要额外数据范围、网络范围或权限范围的能力;
  6. 发现高影响建议且必须由用户选择是否采用。

普通经验记录、失败统计、局部效率分析和经验降权不得请求确认。

3.3 请求同意的交互要求

每次请求必须说明:

  • 要做什么;
  • 使用哪些数据;
  • 为什么认为有价值;
  • 可能影响哪些未来任务;
  • 是否会联网或共享;
  • 如何拒绝、撤销和回滚。

禁止使用模糊的“允许 AI 自我进化”授权。授权必须针对具体对象、具体变更和具体数据范围。

4. 核心对象边界

4.1 Experience

Experience 描述某类任务中的执行规律,不是可执行代码,也不是 Skill。

支持的主要类型:

  • correction:原路径失败后,用户或 Agent 采用了替代路径;
  • successful-procedure:一条曾经成功的任务执行路径;
  • failure-pattern:重复错误、重复动作或无进展模式;
  • execution-comparison:相似任务中两条路径的效果比较;
  • user-workflow-observation:用户稳定的任务工作方式观察。

Experience 默认进入本地经验库,可被检索、引用、降权和淘汰,但不会直接改变 Agent 行为。

4.2 Skill

Skill 是用户已经拥有、明确创建或明确激活的能力。Skill 只能通过自身使用证据进化:

Skill 使用
  -> 结果和效率记录
  -> 失败/纠正分析
  -> v+1 草稿
  -> 验证
  -> 用户确认

普通 Experience 只有在用户明确选择“蒸馏为 Skill”后才能生成 Skill Draft。

4.3 Mutation

Mutation 是待审批的变更提案,不是自动优化器。它必须有来源 Experience、影响范围、证据、风险等级和回滚方式。

5. 经验检索与临时注入

任务开始或任务执行中,插件可以根据任务上下文匹配经验,但遵循以下限制:

  • 默认只返回 1–3 条经验;
  • 只有高相关性经验才允许注入;
  • 低置信度经验只能作为弱提示;
  • 经验必须包含适用条件和来源摘要;
  • 经验不得以不可见的永久 System Prompt 形式写入;
  • 任务结束后清理本次注入状态;
  • 注入后如果用户纠正增加或任务指标变差,经验自动降权;
  • 不相关经验不进入上下文,也不影响 Agent。

推荐数据流:

Task Context
  -> Experience Retriever
  -> relevance / confidence / risk filter
  -> bounded context summary
  -> optional injection
  -> outcome recorder

6. “更优路径”的证据

系统不把“成功过一次”直接等同于“更优”。经验可以记录以下轻量指标:

  • steps:任务步数;
  • toolCalls:工具调用次数;
  • failures:失败次数;
  • corrections:用户纠正次数;
  • retries:重复尝试次数;
  • durationMs:耗时(可选);
  • outcome:成功、失败、用户接受或用户修改。

当存在足够样本时,才允许形成比较结论:

baseline A: success=60%, averageSteps=12, failures=4
alternative B: success=82%, averageSteps=7, failures=1

样本不足、任务上下文不兼容或指标冲突时,只能标记为“候选经验”,不能标记为“推荐路径”。不引入奖励模型或策略梯度。

7. 用户习惯观察与 Skill 蒸馏

后期可以观察用户如何使用 AI,但目标是改进用户工作方式,而不是建立用户画像。

允许观察:

  • 用户反复补充的任务前置条件;
  • 用户经常否定的输出类型;
  • 用户稳定采用的任务步骤;
  • 经常导致返工的交互模式;
  • 用户在多个任务中重复使用的验收方式。

输出应是可见、可关闭的建议,例如:

你最近多次在修改后才补充测试要求,是否在代码任务开始时先生成验收标准?

蒸馏流程:

稳定工作方式
  -> 本地聚合
  -> 展示案例和效果
  -> 用户确认范围与名称
  -> Skill Draft
  -> 用户编辑 / 测试 / 激活

默认不上传用户习惯,不自动生成永久 Skill,不将用户行为用于模型训练。

8. 风险门禁

动作默认行为用户同意
记录本地执行指标静默
生成本地 Experience静默
检索并临时提供相关 Experience静默
经验降权、淘汰静默
Replay / Shadow后台
修改已有 Skill生成候选
从用户习惯蒸馏 Skill生成建议
修改 Context / Tool / Runtime Policy生成提案
贡献公共 Capsule生成预览
激活社区 Skill 或策略隔离验证
修改 Sandbox、Approval、凭据或权限永不自动永不自动

9. 模块调整

现有实现需要按以下方向收敛:

  1. src/experience/ 保留为经验挖掘、规范化、聚合和存储层;
  2. 新增 Experience Retrieval 层,负责匹配、排序和有界临时注入;
  3. src/mutation/planner.ts 不再默认把普通 correction/procedure 生成 Skill;
  4. src/targets/skill/optimizer.ts 作为已有 Skill 反馈进化的主入口;
  5. 新增 User Workflow Observation 与显式 Skill Distillation 流程;
  6. failure-pattern 默认生成诊断经验,不直接激活 Runtime Policy;
  7. 前台 Runtime Plane 只保留轻量观察和已有、已批准的干预;
  8. 所有挖掘、比较、隐私编译和同步继续放在 Background Evolution Plane;
  9. 任何后台异常只暂停对应能力,不影响 DSH 主流程。

10. 验收标准

无感性

  • 无高影响提案时,Agent 的输入、输出和工具轨迹与未安装插件一致;
  • 经验挖掘不阻塞 Agent,不在每个 Session 中弹窗;
  • 网络不可用时,任务仍可正常执行;
  • 后台失败时,DSH 仍可继续使用。

经验质量

  • 能从失败、纠正和成功路径生成 Experience;
  • 能比较步骤、调用次数和失败次数;
  • 不会因单次成功生成全局推荐;
  • 不相关经验不会被注入;
  • 注入经验导致结果变差时会降权。

Skill 边界

  • 普通 Experience 不自动创建或激活 Skill;
  • 只有已有 Skill 的使用反馈可以生成 Skill 更新候选;
  • 用户确认前 Skill 草稿不可生效;
  • Skill 更新可回滚并保留来源证据;
  • 用户工作方式蒸馏必须经过明确确认。

安全和隐私

  • 原始 Session 不上传;
  • 公共贡献必须经过预览、脱敏、Secret 扫描和用户确认;
  • 社区内容不能自动进入 System Prompt 或自动执行;
  • 用户可以关闭经验观察、删除本地经验和撤销已激活变更。

11. 开发顺序

P0:边界和行为修正

  • 固定默认无感和同意门禁;
  • 调整 Experience → Skill 的默认映射;
  • 更新配置、CLI 和文档中的“低风险自动生效”表述;
  • 增加非干扰和无弹窗测试。

P1:经验检索

  • 实现 Experience Retriever;
  • 实现相关性、置信度和风险过滤;
  • 实现有界临时注入和结果记录;
  • 增加错误注入后的自动降权。

P2:路径比较

  • 增加 Episode 执行指标;
  • 增加 baseline / alternative 摘要;
  • 增加样本门槛和比较报告;
  • 不引入训练或奖励模型。

P3:Skill 反馈进化

  • 完善已有 Skill 的使用结果记录;
  • 生成 v+1 草稿、Replay、Shadow 和回滚;
  • 增加用户确认界面或 CLI 流程。

P4:用户工作方式蒸馏

  • 本地观察稳定工作模式;
  • 生成可解释建议;
  • 用户确认后生成 Skill Draft;
  • 默认不共享、不自动激活。

P5:公共经验 Commons

  • 只贡献脱敏、声明式、可验证的 Experience Capsule;
  • 公共经验下载后只进入本地候选状态;
  • 不自动信任、不自动激活。

12. 成功指标

项目成功不以“自动修改了多少东西”为指标,而以以下指标衡量:

  • 用户纠正率下降;
  • 重复失败率下降;
  • 相似任务的平均工具调用和步数下降;
  • 经验注入后的负面影响率可控;
  • 已有 Skill 的回归率下降;
  • 用户主动确认并使用的蒸馏 Skill 数量;
  • 后台运行期间的阻塞、弹窗和干扰次数接近零;
  • 所有共享数据都经过用户确认和隐私门禁。

13. 最终定位

dsh-evolve 是一个轻量、后台运行的 Agent 执行经验插件。它从 Session 中发现失败、纠正和高效路径,把它们整理成可检索经验,在相关任务中临时提供帮助;同时观察已有 Skill 的实际效果,并允许用户将稳定的工作方式蒸馏为 Skill。它不训练模型、不修改模型参数、不接管 Agent Loop,也不构建 Agentic RL 平台。