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 允许请求用户同意的场景
只有以下情况可以向用户请求同意:
- 将个人经验编译成可分享 Capsule 并准备贡献到公共 Commons;
- 创建、修改、激活或停用 Skill;
- 修改 Context、Tool 或 Runtime Policy;
- 将稳定的用户工作方式蒸馏为 Skill;
- 启用需要额外数据范围、网络范围或权限范围的能力;
- 发现高影响建议且必须由用户选择是否采用。
普通经验记录、失败统计、局部效率分析和经验降权不得请求确认。
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. 模块调整
现有实现需要按以下方向收敛:
src/experience/保留为经验挖掘、规范化、聚合和存储层;- 新增 Experience Retrieval 层,负责匹配、排序和有界临时注入;
src/mutation/planner.ts不再默认把普通 correction/procedure 生成 Skill;src/targets/skill/optimizer.ts作为已有 Skill 反馈进化的主入口;- 新增 User Workflow Observation 与显式 Skill Distillation 流程;
failure-pattern默认生成诊断经验,不直接激活 Runtime Policy;- 前台 Runtime Plane 只保留轻量观察和已有、已批准的干预;
- 所有挖掘、比较、隐私编译和同步继续放在 Background Evolution Plane;
- 任何后台异常只暂停对应能力,不影响 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 平台。