DSH(DeepSeek Harness)采用“一切皆插件”的架构。在模型推理场景中,如何在不增加算力成本的前提下提升输出质量,是开发者关注的核心问题。aispin-dev/llm-as-a-verifier-dsh 插件将 LLM-as-a-Verifier(arXiv:2607.05391)的测试时选择方法封装为 DSH 原生插件。它通过 Best-of-N 对话模式,为 DeepSeek V4 Flash 提供测试时扩展能力:在 Terminal-Bench 2.1 数据集上,Bo5 自验证达到 88% 的准确率,以约 1/11 的成本复现了前沿模型的性能。
核心原理¶
该方法的核心在于解决“便宜模型能生成好答案,但认不出哪个是好答案”的问题。插件将这一流程自动化:
- 采样候选:从配置的模型(如 DeepSeek V4 Flash)中采样 N 个略有差异的回答。
- 细粒度评分:使用同一模型对候选两两评分。评分并非简单的字母采样,而是基于 grade token 对数概率分布的期望值(Σ p(token)·φ(letter)),这是模型的完整信念,而非一次随机掷骰。
- 消除偏置:每对候选进行双向评分,抵消验证器的位置偏置。
- 择优输出:在 Best-of-N 模式下,系统自动选出最佳候选呈现给用户。
安装与启用¶
安装过程依赖 npm 包管理器,推荐通过 profile 上下文解析依赖。
dsh plugin --profile <your-profile> add @aispin/plugin-verifier
该插件支持零配置启动,它会继承 dsh 当前配置的 provider 状态(包括凭证与设置)。只要在 Models 页面配置过 DeepSeek,插件即可直接使用。
功能说明¶
该插件提供三种交互方式,分别用于不同场景:
- 工具模式:
verify工具。当对话中的智能体明确指令“使用 verify 工具比较 A/B/C”时,插件介入进行验证。 - 服务模式:
ctx.verifier.verify({ task, candidates })。供其他插件或编排脚本调用,进行代码层面的验证逻辑控制。 - 自动模式:Best-of-N 对话模式。在选中该模式的会话中,系统在后台自动执行 N 路采样与验证,仅将胜者输出给用户。
实现细节¶
插件对论文算法进行了 DSH 原生实现,包含以下特性:
- 细粒度奖励:基于 top-20 logprob 分布计算期望分,分组带量表(A=20…T=1),评分温度设为 1.0 以保持自然分布。
- PPT 概率枢轴锦标赛:通过随机哈密顿环和 top-k 枢轴筛选,仅补全非枢轴与枢轴的配对,显著减少评分调用次数(如 Bo-5 仅需 11 次评分)。
- 前缀缓存布局:优化 prompt 结构,将角色、量表、任务与候选放入共享前缀,减少 token 消耗。
- 能力自适应评分:自动检测端点是否支持 logprobs。支持 logprobs 的端点(如官方端点)使用期望分;不支持端点(如部分网关)自动降级为双评采样评分。
- Fail-open 纪律:任何采样失败或超时,系统会降级为普通回答并附带说明,确保对话流程不中断。
配置与消耗¶
在 Web 设置面板中,可以通过档位控制验证强度:
| 档位 | 模型调用 | Token 消耗 | 延迟 |
|---|---|---|---|
| 关闭 | 1 次 | 1× | 1× |
| 快速 · Bo-3 | ~9 次 | 2–3× | ~7–15s |
| 精准 · Bo-5 | ~16 次 | 3–5× | ~12–30s |
| 自定义 | 2–8 路 | 线性 | 线性 |
采样降级链:每路采样都有独立的预算。若 Bo-5 采样中有 2 路超时,系统会自动降级为 Bo-3 并继续对存活者择优,最终会在回答页脚显示实际消耗情况(如 采样 5 路 2 路未完成 · 3 选 1)。
注意事项¶
- 权限要求:插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证。
- 许可证:实现代码与方法均遵循 MIT 许可证。
- 非官方:插件与论文作者或 DeepSeek 无隶属关系。
该插件为 DSH 用户提供了一种低成本、高可解释性的测试时扩展方案,适合对推理质量有较高要求且需控制成本的生产环境。