在 DSH(DeepSeek Harness)中开发智能体时,长对话场景下历史记录会迅速膨胀。模型往往会重复读取已处理的工具结果、补丁内容或脚本正文,稀释了当前请求的注意力。dsh-stepwise-distill 旨在解决这个问题,通过分步固化会话历史,将工具结果重写为模型实际保留的事实,从而让长对话不再在每一轮都重新发送噪音。
插件信息¶
- 插件名称:
dsh-stepwise-distill - 所属分类:记忆
- 维护者:yunxiyang
- 许可证:MIT
- 核心价值:将 DSH 会话历史分步固化,重写工具结果以反映模型实际保留的事实,防止长对话重复发送噪音。
核心功能¶
- 分步蒸馏:对 DSH 会话历史进行分步蒸馏处理。
- 事实重写:将工具结果重写为模型实际保留的事实。
- 噪音过滤:防止在长对话中重复发送已完成的工作内容。
- 日志保留:保持追加式事件日志,不删除任何原始数据。
安装与启用¶
安装插件需要指定 profile 名称。
dsh plugin --profile <name> add dsh-stepwise-distill
插件安装后默认启用。配置文件通常位于 DSH 的 profile 定义中,需设置以下参数:
- id: stepwise-distill
config:
stepSummary: true # 每个完成步骤的摘要(默认:true)
turnSummary: true # 每轮结束时的笔记(默认:true)
debug: false
如果不需要这些开销,可以通过设置参数关闭:
stepSummary: false
turnSummary: false
典型用法与检查¶
安装并启用后,可以通过 /distill 端点检查插件状态,查看当前保留了多少步骤、多少步骤已摘要以及多少原始材料不再被后续轮次携带。
/distill
注意事项¶
- 运行环境:需要 Node.js >= 20。
- 性能成本:该插件会消耗大约两倍的输入 token 和时间,且每步需要额外的模型往返。
- 成本说明:它增加的是 token 和时间成本,而非减少账单金额。
- 依赖范围:对等依赖范围为
^0.1.1-rc.2 || ^0.2.0-rc.1。
结语¶
dsh-stepwise-distill 的核心在于通过压缩历史记录来提升上下文的密度,使 token 预算更多地承载模型当前所需的信息,而非重复发送已完成的内容。