前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在开发或迭代 DSH 插件时,如何在不影响现有流程的前提下验证变更,是一个实际痛点。直接上线容易引入不可预期的回归。dsh-plugin-abtest 提供了一种通过隔离环境进行配对实验的方案,帮助团队在发布前评估变更对任务成功率、Token 消耗、延迟及工具错误率的影响。
是什么¶
dsh-plugin-abtest 是一个 DeepSeek Harness 插件,用于在 DSH 插件变更前进行可复现的配对 A/B 实验。它提供隔离的运行环境、可审计的证据以及确定性的发布门禁。
- 维护者:Morriaty-The-Murderer
- 类别:工作流
- 许可证:MIT
核心功能¶
- 配对 A/B 实验:Control(当前插件)与 Candidate(变更插件)在同一环境、相同任务下配对运行。
- 隔离运行环境:每个实验分支拥有独立的 DSH_HOME、配置和插件构建产物,互不干扰。
- 可审计的证据:记录原始会话、断言结果、配对级差异及报告,支持 Markdown 和 HTML 格式。
- 确定性发布门禁:基于 manifest 配置的规则,自动生成
PROMOTE、REVIEW、REJECT或INCONCLUSIVE四种决策结果。 - 可复现的真实案例:内置 Toolshrink 上下文预算案例,演示如何通过固定 DSH 版本、模型参数和插件提交来复现实验。
- 基于清单的配置:所有阈值、重复次数、并发数等参数通过 manifest 管理。
安装与启用¶
该插件需要运行在 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11.19.0 环境下。
使用以下命令安装到指定 DSH profile(例如 web):
# 方式一:使用 Git commit SHA(推荐,确保稳定性)
dsh plugin --profile web add 'github:Morriaty-The-Murderer/dsh-plugin-abtest#<full-commit-sha>'
# 方式二:使用 npm 版本号(需确认已发布的版本)
dsh plugin --profile web add dsh-plugin-abtest@0.1.0
安装后需重启对应 profile 以使配置生效。
典型用法¶
插件当前为 MVP 版本,需从源码运行,主要包含五个步骤:
# 1. 初始化实验配置
node --import tsx src/cli/bin.ts init --output ./my-experiment --json
# 2. 冻结当前状态(生成 Control 和 Candidate 的 Artifact)
node --import tsx src/cli/bin.ts freeze --manifest ./my-experiment/experiment.yml --output ./evidence --json
# 3. 运行配对实验
node --import tsx src/cli/bin.ts run --manifest ./my-experiment/experiment.yml --output ./evidence --json
# 4. 生成决策(基于规则判断)
node --import tsx src/cli/bin.ts decision --manifest ./my-experiment/experiment.yml --output ./evidence --json
# 5. 生成报告
node --import tsx src/cli/bin.ts report --manifest ./my-experiment/experiment.yml --output ./evidence --json
完成实验后,在 <output>/<experiment-id>/ 目录下会生成详细的证据文件,其中 report.html 提供了静态报告视图。
结果解读¶
实验结束时会输出四种确定性结果之一,具体含义如下:
| Outcome | 含义 | 后续步骤 |
|---|---|---|
PROMOTE |
证据充分,质量达标,且守门规则通过 | 进入人工发布流程 |
REVIEW |
结果有所改善,但在成本、延迟或错误率上需要人工判断 | 查看配对级证据 |
REJECT |
严格门禁失败,关键用例回归,或收益过小 | 修复 Candidate 后重跑 |
INCONCLUSIVE |
有效配对过少,或环境不可比 | 补充证据而非视为失败 |
默认主要指标为任务成功率,同时也支持对 Token 使用量、P95 延迟和工具错误率设置门禁。
适用场景与注意¶
- 适用对象:DSH 插件开发者,需要验证变更对现有任务影响的情况。
- 运行方式:当前版本为 MVP,需从源码运行(需要 Node.js 和 pnpm)。
- 权限与安全:插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证(MIT)。
- 重要说明:该插件仅生成离线建议(如
PROMOTE),不会自动修改真实的 DSH profile 或发布插件。它是一个本地验证工具。
结尾¶
dsh-plugin-abtest 通过隔离环境和确定性规则,解决了 DSH 插件变更前的验证难题,帮助团队在不破坏现有业务的前提下进行迭代。